(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory();
	else if(typeof define === 'function' && define.amd)
		define([], factory);
	else {
		var a = factory();
		for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
	}
})(window, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ 	// install a JSONP callback for chunk loading
/******/ 	function webpackJsonpCallback(data) {
/******/ 		var chunkIds = data[0];
/******/ 		var moreModules = data[1];
/******/
/******/
/******/ 		// add "moreModules" to the modules object,
/******/ 		// then flag all "chunkIds" as loaded and fire callback
/******/ 		var moduleId, chunkId, i = 0, resolves = [];
/******/ 		for(;i < chunkIds.length; i++) {
/******/ 			chunkId = chunkIds[i];
/******/ 			if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ 				resolves.push(installedChunks[chunkId][0]);
/******/ 			}
/******/ 			installedChunks[chunkId] = 0;
/******/ 		}
/******/ 		for(moduleId in moreModules) {
/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
/******/ 				modules[moduleId] = moreModules[moduleId];
/******/ 			}
/******/ 		}
/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
/******/
/******/ 		while(resolves.length) {
/******/ 			resolves.shift()();
/******/ 		}
/******/
/******/ 	};
/******/
/******/
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// object to store loaded and loading chunks
/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ 	// Promise = chunk loading, 0 = chunk loaded
/******/ 	var installedChunks = {
/******/ 		35: 0
/******/ 	};
/******/
/******/
/******/
/******/ 	// script path function
/******/ 	function jsonpScriptSrc(chunkId) {
/******/ 		return __webpack_require__.p + "" + ({"0":"ActiveSync/js/ActiveSync","1":"Addressbook/js/Addressbook","2":"Admin/js/Admin","3":"Bookmarks/js/Bookmarks","4":"Calendar/js/Calendar","6":"CoreData/js/CoreData","7":"Courses/js/Courses","8":"Crm/js/Crm","9":"ExampleApplication/js/ExampleApplication","10":"Felamimail/js/Felamimail","11":"Filemanager/js/Filemanager","12":"Filemanager/js/FilemanagerFileLocationPlugin","13":"GDPR/js/GDPR","14":"HumanResources/js/HumanResources","15":"Inventory/js/Inventory","16":"OnlyOfficeIntegrator/js/OnlyOfficeIntegrator","17":"Phone/js/Phone","18":"Projects/js/Projects","19":"Sales/js/Sales","20":"Setup/js/Setup","22":"SimpleFAQ/js/SimpleFAQ","23":"Tasks/js/Tasks","24":"Timetracker/js/Timetracker","25":"Tinebase/js/ColorPickerApp","26":"Tinebase/js/DownloadFileLocationTypePlugin","27":"Tinebase/js/OpenLayers","28":"Tinebase/js/Tinebase","29":"Tinebase/js/UploadFileLocationTypePlugin","30":"Tinebase/js/Vue","31":"Tinebase/js/ace","32":"Tinebase/js/async","33":"Tinebase/js/cytoscape","34":"Tinebase/js/email-addresses","36":"Tinebase/js/hammerjs","37":"Tinebase/js/html2canvas","38":"Tinebase/js/linkify","40":"UserManual/js/UserManual","41":"Voipmanager/js/Voipmanager"}[chunkId]||chunkId) + "-" + {"0":"2fd88f23c744b31b37ec","1":"1534237bd546bb240033","2":"e8ad41b49a1f2f38b3c3","3":"6b56d920df2e9fcc24e3","4":"d1b48af6a8091a4a6a19","6":"b57a6b7454c01bb63f91","7":"ee848ee0283eb35794b1","8":"9ddc6be1e0d3f53a26bf","9":"5379b47a531fc67e505d","10":"9a244b59376105942ad9","11":"e321575d11ceb99e276a","12":"11dcea8812228aa4f189","13":"547f561bbdf5ec8ec8c2","14":"3d3ff000a468158c7dbc","15":"4898032e0bd9203e93da","16":"29ca01106ab7174eeb2c","17":"7e6f9fbf419381f7afe6","18":"7b08cad457291637b438","19":"d4b6c461e8295b209fe4","20":"379c79d5ac94b940caaa","22":"8eeba718069b358076cf","23":"36c7b875ff20aedd1fc5","24":"6303d4758b4c237ccf50","25":"10154dcd0bd15c2570c6","26":"18c78e8bea275156a1f5","27":"d804abb37fcc7a3ae232","28":"489bab2cf316cd98c831","29":"03fc160a734600b0153b","30":"bf2b2353a40ed48293c3","31":"6ce80c760f175c57f9dd","32":"a0b55d32aa06c2af3117","33":"1277ce6065dfea3d9df7","34":"e23836405a5b1be72c73","36":"7de56717ec1c8107b973","37":"c57415aec46d291094fe","38":"8b394cb7cc993937a93c","40":"123b4a7f5a0b7742cb35","41":"86dcda82a516344bdaa7"}[chunkId] + "-FAT.debug.js";
/******/ 	}
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/ 	// This file contains only the entry chunk.
/******/ 	// The chunk loading function for additional chunks
/******/ 	__webpack_require__.e = function requireEnsure(chunkId) {
/******/ 		var promises = [];
/******/
/******/
/******/ 		// JSONP chunk loading for javascript
/******/
/******/ 		var installedChunkData = installedChunks[chunkId];
/******/ 		if(installedChunkData !== 0) { // 0 means "already installed".
/******/
/******/ 			// a Promise means "currently loading".
/******/ 			if(installedChunkData) {
/******/ 				promises.push(installedChunkData[2]);
/******/ 			} else {
/******/ 				// setup Promise in chunk cache
/******/ 				var promise = new Promise(function(resolve, reject) {
/******/ 					installedChunkData = installedChunks[chunkId] = [resolve, reject];
/******/ 				});
/******/ 				promises.push(installedChunkData[2] = promise);
/******/
/******/ 				// start chunk loading
/******/ 				var script = document.createElement('script');
/******/ 				var onScriptComplete;
/******/
/******/ 				script.charset = 'utf-8';
/******/ 				script.timeout = 120;
/******/ 				if (__webpack_require__.nc) {
/******/ 					script.setAttribute("nonce", __webpack_require__.nc);
/******/ 				}
/******/ 				script.src = jsonpScriptSrc(chunkId);
/******/
/******/ 				// create error before stack unwound to get useful stacktrace later
/******/ 				var error = new Error();
/******/ 				onScriptComplete = function (event) {
/******/ 					// avoid mem leaks in IE.
/******/ 					script.onerror = script.onload = null;
/******/ 					clearTimeout(timeout);
/******/ 					var chunk = installedChunks[chunkId];
/******/ 					if(chunk !== 0) {
/******/ 						if(chunk) {
/******/ 							var errorType = event && (event.type === 'load' ? 'missing' : event.type);
/******/ 							var realSrc = event && event.target && event.target.src;
/******/ 							error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
/******/ 							error.name = 'ChunkLoadError';
/******/ 							error.type = errorType;
/******/ 							error.request = realSrc;
/******/ 							chunk[1](error);
/******/ 						}
/******/ 						installedChunks[chunkId] = undefined;
/******/ 					}
/******/ 				};
/******/ 				var timeout = setTimeout(function(){
/******/ 					onScriptComplete({ type: 'timeout', target: script });
/******/ 				}, 120000);
/******/ 				script.onerror = script.onload = onScriptComplete;
/******/ 				document.head.appendChild(script);
/******/ 			}
/******/ 		}
/******/ 		return Promise.all(promises);
/******/ 	};
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/ 	// on error function for async loading
/******/ 	__webpack_require__.oe = function(err) { console.error(err); throw err; };
/******/
/******/ 	var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
/******/ 	jsonpArray.push = webpackJsonpCallback;
/******/ 	jsonpArray = jsonpArray.slice();
/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
/******/ 	var parentJsonpFunction = oldJsonpFunction;
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = 73);
/******/ })
/************************************************************************/
/******/ ({

/***/ 73:
/***/ (function(module, exports, __webpack_require__) {

/*
 * Tine 2.0
 *
 * @license     http://www.gnu.org/licenses/agpl.html AGPL Version 3
 * @author      Cornelius Weiß <c.weiss@metaways.de>
 * @copyright   Copyright (c) 2016-2018 Metaways Infosystems GmbH (http://www.metaways.de)
 */

/**
 * webpack entry
 */
// NOTE: outdated browsers are not able to load the code dynamically so we need
//       to notify them at this early stage
// NOTE: it would be better to use browserslist-useragent, but there is no cliet side support atm:
//       https://github.com/browserslist/browserslist-useragent/issues/9
if (!window.Promise) {
  // wait for translation to load
  window.setTimeout(function () {
    var msgs = Tine && Tine.__translationData ? Tine.__translationData.msgs['./LC_MESSAGES/Tinebase'] : {};

    var _ = function _(msg) {
      return msgs[msg] || msg;
    };

    Ext.Msg.show({
      title: _("Outdated Browser"),
      msg: _("You need a current Browser to use this program."),
      buttons: '',
      closable: false,
      icon: Ext.MessageBox.ERROR
    });
  }, 2000);
} else {
  __webpack_require__.e(/* require.ensure | Tinebase/js/Tinebase */ 28).then((function () {
    var libs = __webpack_require__(21);

    libs.lodash.assign(window, libs);

    __webpack_require__(24);
  }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
}

/***/ })

/******/ });
});