From 18583969385629f785da8a91cee74c4338041fb7 Mon Sep 17 00:00:00 2001
From: Volker Schukai <volker.schukai@schukai.com>
Date: Tue, 9 Aug 2022 15:51:26 +0200
Subject: [PATCH] chore: commit save point

---
 application/source/constants.mjs              |  2 +
 application/source/constraints/abstract.mjs   | 11 ++--
 .../source/constraints/abstractoperator.mjs   |  8 ++-
 .../source/constraints/andoperator.mjs        | 15 +++--
 application/source/constraints/invalid.mjs    | 11 +++-
 application/source/constraints/isarray.mjs    | 11 +++-
 application/source/constraints/isobject.mjs   | 11 +++-
 application/source/constraints/oroperator.mjs | 15 +++--
 application/source/constraints/valid.mjs      | 11 +++-
 application/source/data/buildmap.mjs          | 13 +++--
 application/source/data/buildtree.mjs         |  9 ++-
 application/source/data/datasource.mjs        | 12 +++-
 .../source/data/datasource/restapi.mjs        | 11 +++-
 .../data/datasource/restapi/writeerror.mjs    |  7 ++-
 .../source/data/datasource/storage.mjs        | 11 +++-
 .../data/datasource/storage/localstorage.mjs  |  9 ++-
 .../datasource/storage/sessionstorage.mjs     |  9 ++-
 application/source/data/diff.mjs              | 11 +++-
 application/source/data/extend.mjs            |  9 ++-
 application/source/data/pathfinder.mjs        | 14 +++--
 application/source/data/pipe.mjs              | 11 +++-
 application/source/data/transformer.mjs       | 11 +++-
 application/source/dom/assembler.mjs          |  9 ++-
 application/source/dom/attributes.mjs         | 45 ++++++++++-----
 application/source/dom/constants.mjs          | 56 ++++++++++++++++++-
 application/source/dom/customcontrol.mjs      |  9 ++-
 application/source/dom/customelement.mjs      | 15 ++++-
 application/source/dom/events.mjs             | 15 +++--
 application/source/dom/focusmanager.mjs       |  9 ++-
 application/source/dom/locale.mjs             |  9 ++-
 application/source/dom/ready.mjs              | 12 +++-
 application/source/dom/resource.mjs           |  9 ++-
 application/source/dom/resource/data.mjs      |  9 ++-
 application/source/dom/resource/link.mjs      |  9 ++-
 .../source/dom/resource/link/stylesheet.mjs   |  9 ++-
 application/source/dom/resource/script.mjs    |  9 ++-
 application/source/dom/resourcemanager.mjs    |  9 ++-
 application/source/dom/template.mjs           | 12 +++-
 application/source/dom/theme.mjs              | 13 ++++-
 application/source/dom/updater.mjs            | 20 ++++++-
 application/source/dom/util.mjs               | 15 +++--
 application/source/dom/worker/factory.mjs     |  9 ++-
 application/source/i18n/formatter.mjs         | 13 +++--
 application/source/i18n/locale.mjs            | 14 +++--
 application/source/i18n/provider.mjs          |  9 ++-
 application/source/i18n/providers/fetch.mjs   | 11 +++-
 application/source/i18n/translations.mjs      | 13 +++--
 application/source/logging/handler.mjs        |  9 ++-
 .../source/logging/handler/console.mjs        |  9 ++-
 application/source/logging/logentry.mjs       |  9 ++-
 application/source/logging/logger.mjs         |  9 ++-
 application/source/math/random.mjs            |  9 ++-
 application/source/monster.mjs                |  1 +
 application/source/text/formatter.mjs         | 12 +++-
 application/source/types/base.mjs             |  9 ++-
 application/source/types/basewithoptions.mjs  |  9 ++-
 application/source/types/binary.mjs           | 12 +++-
 application/source/types/dataurl.mjs          | 11 +++-
 application/source/types/global.mjs           |  9 ++-
 application/source/types/id.mjs               |  9 ++-
 application/source/types/is.mjs               | 36 ++++++++----
 application/source/types/mediatype.mjs        | 14 +++--
 application/source/types/node.mjs             |  9 ++-
 application/source/types/nodelist.mjs         |  9 ++-
 .../source/types/noderecursiveiterator.mjs    | 13 +++--
 application/source/types/observer.mjs         | 11 +++-
 application/source/types/observerlist.mjs     |  9 ++-
 application/source/types/proxyobserver.mjs    | 15 +++--
 application/source/types/queue.mjs            | 11 +++-
 application/source/types/randomid.mjs         |  9 ++-
 application/source/types/regex.mjs            |  9 ++-
 application/source/types/stack.mjs            |  9 ++-
 application/source/types/tokenlist.mjs        |  9 ++-
 application/source/types/typeof.mjs           | 11 +++-
 application/source/types/uniquequeue.mjs      |  9 ++-
 application/source/types/uuid.mjs             |  9 ++-
 application/source/types/validate.mjs         | 36 ++++++++----
 application/source/types/version.mjs          | 16 ++++--
 application/source/util/clone.mjs             |  9 ++-
 application/source/util/comparator.mjs        | 11 +++-
 application/source/util/deadmansswitch.mjs    | 11 +++-
 application/source/util/freeze.mjs            |  9 ++-
 application/source/util/processing.mjs        | 11 +++-
 application/source/util/trimspaces.mjs        |  9 ++-
 84 files changed, 767 insertions(+), 248 deletions(-)

diff --git a/application/source/constants.mjs b/application/source/constants.mjs
index f8713aaea..2d91c35c4 100644
--- a/application/source/constants.mjs
+++ b/application/source/constants.mjs
@@ -15,6 +15,7 @@ export {
  * @private
  * @type {symbol}
  * @memberOf Monster
+ * @license AGPLv3
  * @since 1.24.0
  */
 const internalSymbol = Symbol('internalData');
@@ -23,6 +24,7 @@ const internalSymbol = Symbol('internalData');
  * @private
  * @type {symbol}
  * @memberOf Monster
+ * @license AGPLv3
  * @since 1.25.0
  */
 const internalStateSymbol = Symbol('state');
diff --git a/application/source/constraints/abstract.mjs b/application/source/constraints/abstract.mjs
index 46a047464..985b5abe6 100644
--- a/application/source/constraints/abstract.mjs
+++ b/application/source/constraints/abstract.mjs
@@ -1,7 +1,9 @@
-// Copyright schukai GmbH and contributors 2022. All Rights Reserved.
-// Node module: @schukai/monster
-// This file is licensed under the AGPLv3 License.
-// License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
+/**
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
+ */
 
 import {Base} from '../types/base.mjs';
 
@@ -16,6 +18,7 @@ export {AbstractConstraint}
  *
  * Derived classes must implement the method isValid().
  *
+ * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
  * @memberOf Monster.Constraints
diff --git a/application/source/constraints/abstractoperator.mjs b/application/source/constraints/abstractoperator.mjs
index 73fac8b82..88878cdab 100644
--- a/application/source/constraints/abstractoperator.mjs
+++ b/application/source/constraints/abstractoperator.mjs
@@ -1,7 +1,8 @@
-
-
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
 import {AbstractConstraint} from "./abstract.mjs";
@@ -15,6 +16,7 @@ export {AbstractOperator}
  *
  * Operators allow you to link constraints together. for example, you can check whether a value is an object or an array. each operator has two operands that are linked together.
  *
+ * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
  * @memberOf Monster.Constraints
diff --git a/application/source/constraints/andoperator.mjs b/application/source/constraints/andoperator.mjs
index d89f575a9..61ca1fb31 100644
--- a/application/source/constraints/andoperator.mjs
+++ b/application/source/constraints/andoperator.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {AbstractOperator} from "./abstractoperator.mjs";
 
 export {AndOperator}
@@ -17,16 +21,16 @@ export {AndOperator}
  *
  * ```
  * <script type="module">
- * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/andoperator.mjs';
+ * import {AndOperator} from '@schukai/monster/source/constraints/andoperator.mjs';
  * new AndOperator();
  * </script>
  * ```
  *
  * @example
  *
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/valid.mjs';
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/invalid.mjs';
- * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/andoperator.mjs';
+ * import {Valid} from '@schukai/monster/source/constraints/valid.mjs';
+ * import {Invalid} from '@schukai/monster/source/constraints/invalid.mjs';
+ * import {AndOperator} from '@schukai/monster/source/constraints/andoperator.mjs';
  *
  * new AndOperator(
  * new Valid(), new Valid()).isValid()
@@ -40,6 +44,7 @@ export {AndOperator}
  * .catch(()=>console.log(false));
  * // ↦ false
  *
+ * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
  * @memberOf Monster.Constraints
diff --git a/application/source/constraints/invalid.mjs b/application/source/constraints/invalid.mjs
index 4a761c6ee..f6cc8e569 100644
--- a/application/source/constraints/invalid.mjs
+++ b/application/source/constraints/invalid.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {AbstractConstraint} from "./abstract.mjs";
 
 export {Invalid}
@@ -17,20 +21,21 @@ export {Invalid}
  *
  * ```
  * <script type="module">
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/invalid.mjs';
+ * import {Invalid} from '@schukai/monster/source/constraints/invalid.mjs';
  * new Invalid();
  * </script>
  * ```
  *
  * @example
  *
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/invalid.mjs';
+ * import {Invalid} from '@schukai/monster/source/constraints/invalid.mjs';
  *
  * new Invalid().isValid()
  * .then(()=>console.log(true))
  * .catch(()=>console.log(false));
  * // ↦ false
  *
+ * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
  * @memberOf Monster.Constraints
diff --git a/application/source/constraints/isarray.mjs b/application/source/constraints/isarray.mjs
index 341621bc9..ee0be16ce 100644
--- a/application/source/constraints/isarray.mjs
+++ b/application/source/constraints/isarray.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {isArray} from "../types/is.mjs";
 import {AbstractConstraint} from "./abstract.mjs";
 
@@ -16,14 +20,14 @@ export {IsArray}
  * 
  * ```
  * <script type="module">
- * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/isarray.mjs';
+ * import {IsArray} from '@schukai/monster/source/constraints/isarray.mjs';
  * console.log(new IsArray())
  * </script>
  * ```
  *
  * @example
  *
- * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/isarray.mjs';
+ * import {IsArray} from '@schukai/monster/source/constraints/isarray.mjs';
  *
  * new IsArray()
  * .isValid([])
@@ -35,6 +39,7 @@ export {IsArray}
  * .catch(e=>console.log(e));
  * // ↦ 99
  *
+ * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
  * @memberOf Monster.Constraints
diff --git a/application/source/constraints/isobject.mjs b/application/source/constraints/isobject.mjs
index 2e51430e0..39a9a3b5c 100644
--- a/application/source/constraints/isobject.mjs
+++ b/application/source/constraints/isobject.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {isObject} from "../types/is.mjs";
 import {AbstractConstraint} from "./abstract.mjs";
 
@@ -16,14 +20,14 @@ export {IsObject}
  *
  * ```
  * <script type="module">
- * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/isobject.mjs';
+ * import {IsObject} from '@schukai/monster/source/constraints/isobject.mjs';
  * console.log(new IsObject())
  * </script>
  * ```
  *
  * @example
  *
- * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/isobject.mjs';
+ * import {IsObject} from '@schukai/monster/source/constraints/isobject.mjs';
  *
  * new IsObject()
  * .isValid({})
@@ -36,6 +40,7 @@ export {IsObject}
  * .catch(e=>console.log(e));
  * // ↦ 99
  *
+ * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
  * @memberOf Monster.Constraints
diff --git a/application/source/constraints/oroperator.mjs b/application/source/constraints/oroperator.mjs
index 18f559220..a8858f559 100644
--- a/application/source/constraints/oroperator.mjs
+++ b/application/source/constraints/oroperator.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {AbstractOperator} from "./abstractoperator.mjs";
 
 export {OrOperator}
@@ -17,16 +21,16 @@ export {OrOperator}
  *
  * ```
  * <script type="module">
- * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraint/oroperator.mjs';
+ * import {OrOperator} from '@schukai/monster/source/constraint/oroperator.mjs';
  * new OrOperator();
  * </script>
  * ```
  *
  * @example
  *
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/valid.mjs';
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/invalid.mjs';
- * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/oroperator.mjs';
+ * import {Valid} from '@schukai/monster/source/constraints/valid.mjs';
+ * import {Invalid} from '@schukai/monster/source/constraints/invalid.mjs';
+ * import {OrOperator} from '@schukai/monster/source/constraints/oroperator.mjs';
  *
  * new OrOperator(
  * new Valid(), new Invalid()).isValid()
@@ -40,6 +44,7 @@ export {OrOperator}
  * .catch(()=>console.log(false));
  * // ↦ false
  *
+ * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
  * @memberOf Monster.Constraints
diff --git a/application/source/constraints/valid.mjs b/application/source/constraints/valid.mjs
index 81007e76a..8fa2153f2 100644
--- a/application/source/constraints/valid.mjs
+++ b/application/source/constraints/valid.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {AbstractConstraint} from "./abstract.mjs";
 
 export {Valid}
@@ -17,20 +21,21 @@ export {Valid}
  *
  * ```
  * <script type="module">
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/valid.mjs';
+ * import {Valid} from '@schukai/monster/source/constraints/valid.mjs';
  * new Valid();
  * </script>
  * ```
  *
  * @example
  *
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/constraints/valid.mjs';
+ * import {Valid} from '@schukai/monster/source/constraints/valid.mjs';
  *
  * new Valid().isValid()
  * .then(()=>console.log(true))
  * .catch(()=>console.log(false));
  * // ↦ true
  *
+ * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
  * @memberOf Monster.Constraints
diff --git a/application/source/data/buildmap.mjs b/application/source/data/buildmap.mjs
index 9e0d17279..24134f0c5 100644
--- a/application/source/data/buildmap.mjs
+++ b/application/source/data/buildmap.mjs
@@ -1,10 +1,14 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
 
+
 import {isFunction, isObject, isString} from "../types/is.mjs";
 import {validateString} from "../types/validate.mjs";
 import {clone} from "../util/clone.mjs";
@@ -27,7 +31,7 @@ const PARENT = '^';
  *
  * ```
  * <script type="module">
- * import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/buildmap.mjs';
+ * import {buildMap} from '@schukai/monster/source/data/buildmap.mjs';
  * console.log(buildMap())
  * </script>
  * ```
@@ -38,7 +42,7 @@ const PARENT = '^';
  *
  * @example
  *
- * import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/buildmap.mjs';
+ * import {buildMap} from '@schukai/monster/source/data/buildmap.mjs';
  * // a typical data structure as reported by an api
  *
  * let map;
@@ -253,7 +257,7 @@ function buildFlatMap(subject, selector, key, parentMap) {
  * Alternatively to a string selector a callback can be specified. this must return a map.
  *
  * @example
- * import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/buildmap.mjs';
+ * import {buildMap} from '@schukai/monster/source/data/buildmap.mjs';
  *
  * let obj = {
  *                "data": [
@@ -376,6 +380,7 @@ function buildFlatMap(subject, selector, key, parentMap) {
  * @callback Monster.Data~exampleSelectorCallback
  * @param {*} subject subject
  * @return Map
+ * @license AGPLv3
  * @since 1.17.0
  * @memberOf Monster.Data
  * @see {@link Monster.Data.buildMap}
diff --git a/application/source/data/buildtree.mjs b/application/source/data/buildtree.mjs
index 27954e65a..3180338f9 100644
--- a/application/source/data/buildtree.mjs
+++ b/application/source/data/buildtree.mjs
@@ -1,10 +1,14 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
 
+
 import {isArray, isObject} from "../types/is.mjs";
 import {Node} from "../types/node.mjs";
 import {NodeList} from "../types/nodelist.mjs";
@@ -37,7 +41,7 @@ const rootSymbol = Symbol('root');
  *
  * ```
  * <script type="module">
- * import {buildTree} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/buildtree.mjs';
+ * import {buildTree} from '@schukai/monster/source/data/buildtree.mjs';
  * buildTree()
  * </script>
  * ```
@@ -52,6 +56,7 @@ const rootSymbol = Symbol('root');
  * @throws {TypeError} value is neither a string nor a function
  * @throws {TypeError} the selector callback must return a map
  * @throws {Error} the object has no value for the specified id
+ * @license AGPLv3
  * @since 1.26.0
  */
 function buildTree(subject, selector, idKey, parentIDKey, options) {
diff --git a/application/source/data/datasource.mjs b/application/source/data/datasource.mjs
index 3c2d7a79a..e5afebb52 100644
--- a/application/source/data/datasource.mjs
+++ b/application/source/data/datasource.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../constants.mjs";
 
 import {Base} from "../types/base.mjs";
@@ -20,6 +24,7 @@ export {Datasource}
  * @private
  * @type {symbol}
  * @memberOf Monster.Data
+ * @license AGPLv3
  * @since 1.24.0
  */
 const internalDataSymbol = Symbol('internalData');
@@ -30,14 +35,14 @@ const internalDataSymbol = Symbol('internalData');
  *
  * ```
  * <script type="module">
- * import {Datasource} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/datasource.mjs';
+ * import {Datasource} from '@schukai/monster/source/data/datasource.mjs';
  * new Datasource()
  * </script>
  * ```
  *
  * @example
  *
- * import {Datasource} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/datasource.mjs'
+ * import {Datasource} from '@schukai/monster/source/data/datasource.mjs'
  *
  * class MyDatasource extends Datasource {
  *  
@@ -45,6 +50,7 @@ const internalDataSymbol = Symbol('internalData');
  *
  * const ds = new MyDatasource();
  *
+ * @license AGPLv3
  * @since 1.22.0
  * @copyright schukai GmbH
  * @memberOf Monster.Data
diff --git a/application/source/data/datasource/restapi.mjs b/application/source/data/datasource/restapi.mjs
index a070a50b3..32ffdb4a6 100644
--- a/application/source/data/datasource/restapi.mjs
+++ b/application/source/data/datasource/restapi.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../../constants.mjs";
 import {isObject} from "../../types/is.mjs";
 import {Datasource} from "../datasource.mjs";
@@ -18,14 +22,14 @@ export {RestAPI}
  * 
  * ```
  * <script type="module">
- * import {RestAPI} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/datasource/restapi.mjs';
+ * import {RestAPI} from '@schukai/monster/source/data/datasource/restapi.mjs';
  * new RestAPI()
  * </script>
  * ```
  *
  * @example
  *
- * import {RestAPI} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/datasource/restapi.mjs';
+ * import {RestAPI} from '@schukai/monster/source/data/datasource/restapi.mjs';
  *
  * const ds = new RestAPI({
  *   url: 'https://httpbin.org/get'
@@ -37,6 +41,7 @@ export {RestAPI}
  * ds.write().then(()=>console.log('done'));
  * ds.read().then(()=>console.log('done'));
  *
+ * @license AGPLv3
  * @since 1.22.0
  * @copyright schukai GmbH
  * @memberOf Monster.Data.Datasource
diff --git a/application/source/data/datasource/restapi/writeerror.mjs b/application/source/data/datasource/restapi/writeerror.mjs
index 2638f4001..41f8028a1 100644
--- a/application/source/data/datasource/restapi/writeerror.mjs
+++ b/application/source/data/datasource/restapi/writeerror.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../../../constants.mjs";
 
 export {WriteError}
@@ -11,6 +15,7 @@ export {WriteError}
 /**
  * Error message for API requests with extension of request and validation.
  * 
+ * @license AGPLv3
  * @since 1.24.0
  * @copyright schukai GmbH
  * @memberOf Monster.Data.Datasource.RestAPI
diff --git a/application/source/data/datasource/storage.mjs b/application/source/data/datasource/storage.mjs
index bca5df482..6f219fe16 100644
--- a/application/source/data/datasource/storage.mjs
+++ b/application/source/data/datasource/storage.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../../constants.mjs";
 import {validateString} from "../../types/validate.mjs";
 import {Datasource} from "../datasource.mjs";
@@ -21,17 +25,18 @@ const storageObjectSymbol = Symbol('storageObject');
  * 
  * ```
  * <script type="module">
- * import {Storage} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/datasource/storage.mjs';
+ * import {Storage} from '@schukai/monster/source/data/datasource/storage.mjs';
  * new Storage()
  * </script>
  * ```
  *
  * @example
  *
- * import {Storage} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/datasource/storage.mjs';
+ * import {Storage} from '@schukai/monster/source/data/datasource/storage.mjs';
  *
  * new Datasource();
  *
+ * @license AGPLv3
  * @since 1.22.0
  * @copyright schukai GmbH
  * @memberOf Monster.Data.Datasource
diff --git a/application/source/data/datasource/storage/localstorage.mjs b/application/source/data/datasource/storage/localstorage.mjs
index 959d82da7..edfd99a9a 100644
--- a/application/source/data/datasource/storage/localstorage.mjs
+++ b/application/source/data/datasource/storage/localstorage.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../../../constants.mjs";
 import {getGlobalObject} from "../../../types/global.mjs";
 import {Datasource} from "../../datasource.mjs";
@@ -16,11 +20,12 @@ export {LocalStorage}
  * 
  * ```
  * <script type="module">
- * import {LocalStorage} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/datasource/storage/localstorage.mjs';
+ * import {LocalStorage} from '@schukai/monster/source/data/datasource/storage/localstorage.mjs';
  * new LocalStorage()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.22.0
  * @copyright schukai GmbH
  * @memberOf Monster.Data.Datasource.Storage
diff --git a/application/source/data/datasource/storage/sessionstorage.mjs b/application/source/data/datasource/storage/sessionstorage.mjs
index 29426f8d3..6dd704a88 100644
--- a/application/source/data/datasource/storage/sessionstorage.mjs
+++ b/application/source/data/datasource/storage/sessionstorage.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../../../constants.mjs";
 import {getGlobalObject} from "../../../types/global.mjs";
 import {Datasource} from "../../datasource.mjs";
@@ -16,11 +20,12 @@ export {SessionStorage}
  * 
  * ```
  * <script type="module">
- * import {SessionStorage} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/datasource/storage/sessionstorage.mjs';
+ * import {SessionStorage} from '@schukai/monster/source/data/datasource/storage/sessionstorage.mjs';
  * new SessionStorage()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.22.0
  * @copyright schukai GmbH
  * @memberOf Monster.Data.Datasource.Storage
diff --git a/application/source/data/diff.mjs b/application/source/data/diff.mjs
index 2f7a70253..ec1a65856 100644
--- a/application/source/data/diff.mjs
+++ b/application/source/data/diff.mjs
@@ -1,10 +1,14 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
 
+
 import {isArray, isObject} from "../types/is.mjs";
 import {typeOf} from "../types/typeof.mjs";
 
@@ -17,14 +21,14 @@ export {diff}
  *
  * ```
  * <script type="module">
- * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/diff.mjs';
+ * import {Diff} from '@schukai/monster/source/data/diff.mjs';
  * Diff(a, b)
  * </script>
  * ```
  *
  * @example
  *
- * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/diff.mjs';
+ * import {Diff} from '@schukai/monster/source/data/diff.mjs';
  *
  * // given are two objects x and y.
  *
@@ -67,6 +71,7 @@ export {diff}
  * @param {*} first
  * @param {*} second
  * @return {array}
+ * @license AGPLv3
  * @since 1.6.0
  * @copyright schukai GmbH
  * @memberOf Monster.Data
diff --git a/application/source/data/extend.mjs b/application/source/data/extend.mjs
index b76ecdf9f..918d18c8a 100644
--- a/application/source/data/extend.mjs
+++ b/application/source/data/extend.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {isArray, isObject} from "../types/is.mjs";
 import {typeOf} from "../types/typeof.mjs";
 
@@ -15,7 +19,7 @@ export {extend}
  *
  * ```
  * <script type="module">
- * import {extend} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/extend.mjs';
+ * import {extend} from '@schukai/monster/source/data/extend.mjs';
  * extend(a, b)
  * </script>
  * ```
@@ -23,6 +27,7 @@ export {extend}
  * @param {object} target
  * @param {object}
  * @return {object}
+ * @license AGPLv3
  * @since 1.10.0
  * @copyright schukai GmbH
  * @memberOf Monster.Data
diff --git a/application/source/data/pathfinder.mjs b/application/source/data/pathfinder.mjs
index 91d4ef6db..dabf4a602 100644
--- a/application/source/data/pathfinder.mjs
+++ b/application/source/data/pathfinder.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from '../types/base.mjs';
 import {isArray, isInteger, isObject, isPrimitive} from '../types/is.mjs';
 import {Stack} from "../types/stack.mjs";
@@ -30,7 +34,7 @@ const WILDCARD = '*';
  * 
  * ```
  * <script type="module">
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/pathfinder.mjs';
+ * import {Pathfinder} from '@schukai/monster/source/data/pathfinder.mjs';
  * console.log(new Pathfinder())
  * </script>
  * ```
@@ -72,7 +76,7 @@ const WILDCARD = '*';
  *
  * @example
  *
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/pathfinder.mjs';
+ * import {Pathfinder} from '@schukai/monster/source/data/pathfinder.mjs';
  *
  * let value = new Pathfinder({
  * a: {
@@ -98,7 +102,7 @@ const WILDCARD = '*';
  *
  * @example
  *
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/pathfinder.mjs';
+ * import {Pathfinder} from '@schukai/monster/source/data/pathfinder.mjs';
  *
  * let p = new Pathfinder({
  *                a: {
@@ -118,6 +122,7 @@ const WILDCARD = '*';
  * let r = p.getVia("*.x.*.c");
  * console.log(r);
  *
+ * @license AGPLv3
  * @since 1.4.0
  * @copyright schukai GmbH
  * @memberOf Monster.Data
@@ -435,6 +440,7 @@ function assignProperty(object, key, value) {
  * @throws {TypeError} unsupported type
  * @throws {Error} the journey is not at its end
  * @throws {Error} unsupported action for this data type
+ * @license AGPLv3
  * @since 1.6.0
  * @private
  */
diff --git a/application/source/data/pipe.mjs b/application/source/data/pipe.mjs
index 6318ad4f3..155b114d2 100644
--- a/application/source/data/pipe.mjs
+++ b/application/source/data/pipe.mjs
@@ -1,10 +1,14 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
 
+
 import {Base} from '../types/base.mjs';
 import {validateString} from '../types/validate.mjs';
 import {Transformer} from './transformer.mjs';
@@ -18,7 +22,7 @@ const DELIMITER = '|';
  *
  * ```
  * <script type="module">
- * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/pipe.mjs';
+ * import {Pipe} from '@schukai/monster/source/data/pipe.mjs';
  * new Pipe()
  * </script>
  * ```
@@ -29,7 +33,7 @@ const DELIMITER = '|';
  * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.
  *
  * @example
- * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/pipe.mjs';
+ * import {Pipe} from '@schukai/monster/source/data/pipe.mjs';
  *
  * let obj = {
  *    a: {
@@ -44,6 +48,7 @@ const DELIMITER = '|';
  * console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\ ').run(obj));
  * // ↦ Hello WORLD
  *
+ * @license AGPLv3
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster.Data
diff --git a/application/source/data/transformer.mjs b/application/source/data/transformer.mjs
index 6fed4d874..83f1f17de 100644
--- a/application/source/data/transformer.mjs
+++ b/application/source/data/transformer.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from '../types/base.mjs';
 import {getGlobal, getGlobalObject} from "../types/global.mjs";
 import {ID} from '../types/id.mjs';
@@ -25,7 +29,7 @@ export {Transformer}
  *
  * ```
  * <script type="module">
- * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/transformer.mjs';
+ * import {Transformer} from '@schukai/monster/source/data/transformer.mjs';
  * new Transformer()
  * </script>
  * ```
@@ -111,7 +115,7 @@ export {Transformer}
  *
  * @example
  *
- * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/data/transformer.mjs';
+ * import {Transformer} from '@schukai/monster/source/data/transformer.mjs';
  *
  * const transformer = new Transformer("tolower")
  *
@@ -121,6 +125,7 @@ export {Transformer}
  * console.log(transformer.run("WORLD"))
  * // ↦ world
  *
+ * @license AGPLv3
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster.Data
diff --git a/application/source/dom/assembler.mjs b/application/source/dom/assembler.mjs
index 9915a532b..c0d5b86e6 100644
--- a/application/source/dom/assembler.mjs
+++ b/application/source/dom/assembler.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from '../types/base.mjs';
 import {getGlobalFunction} from "../types/global.mjs";
 import {ProxyObserver} from "../types/proxyobserver.mjs";
@@ -24,11 +28,12 @@ const ATTRIBUTEPREFIX = "data-monster-";
  * 
  * ```
  * <script type="module">
- * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/assembler.mjs';
+ * import {Assembler} from '@schukai/monster/source/dom/assembler.mjs';
  * console.log(new Assembler())
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.6.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
diff --git a/application/source/dom/attributes.mjs b/application/source/dom/attributes.mjs
index 44c297eda..3fda043f5 100644
--- a/application/source/dom/attributes.mjs
+++ b/application/source/dom/attributes.mjs
@@ -1,10 +1,14 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
 
+
 import {getGlobalFunction} from "../types/global.mjs";
 import {TokenList} from "../types/tokenlist.mjs";
 import {validateInstance, validateString, validateSymbol} from "../types/validate.mjs";
@@ -34,13 +38,14 @@ export {
  *
  * ```
  * <script type="module">
- * import {getUpdaterFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/updater.mjs';
+ * import {getUpdaterFromNode} from '@schukai/monster/source/dom/updater.mjs';
  * console.log(findClosestObjectLink())
  * </script>
  * ```
  *
  * @param {HTMLElement} element
  * @return {HTMLElement|undefined}
+ * @license AGPLv3
  * @since 1.10.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -55,11 +60,12 @@ function findClosestObjectLink(element) {
  *
  * ```
  * <script type="module">
- * import {addToObjectLink} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.mjs';
+ * import {addToObjectLink} from '@schukai/monster/source/dom/attributes.mjs';
  * addToObjectLink();
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -88,11 +94,12 @@ function addToObjectLink(element, symbol, object) {
  *
  * ```
  * <script type="module">
- * import {removeObjectLink} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.mjs';
+ * import {removeObjectLink} from '@schukai/monster/source/dom/attributes.mjs';
  * removeObjectLink();
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -121,11 +128,12 @@ function removeObjectLink(element, symbol) {
  *
  * ```
  * <script type="module">
- * import {hasObjectLink} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.mjs';
+ * import {hasObjectLink} from '@schukai/monster/source/dom/attributes.mjs';
  * hasObjectLink();
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -156,11 +164,12 @@ function hasObjectLink(element, symbol) {
  *
  * ```
  * <script type="module">
- * import {getLinkedObjects} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.mjs';
+ * import {getLinkedObjects} from '@schukai/monster/source/dom/attributes.mjs';
  * getLinkedObjects();
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -190,11 +199,12 @@ function getLinkedObjects(element, symbol) {
  *
  * ```
  * <script type="module">
- * import {toggleAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.mjs';
+ * import {toggleAttributeToken} from '@schukai/monster/source/dom/attributes.mjs';
  * toggleAttributeToken();
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -223,11 +233,12 @@ function toggleAttributeToken(element, key, token) {
  *
  * ```
  * <script type="module">
- * import {addAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.mjs';
+ * import {addAttributeToken} from '@schukai/monster/source/dom/attributes.mjs';
  * addAttributeToken();
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -258,11 +269,12 @@ function addAttributeToken(element, key, token) {
  *
  * ```
  * <script type="module">
- * import {removeAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.mjs';
+ * import {removeAttributeToken} from '@schukai/monster/source/dom/attributes.mjs';
  * removeAttributeToken();
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -292,11 +304,12 @@ function removeAttributeToken(element, key, token) {
  *
  * ```
  * <script type="module">
- * import {containsAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.mjs';
+ * import {containsAttributeToken} from '@schukai/monster/source/dom/attributes.mjs';
  * containsAttributeToken();
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -323,11 +336,12 @@ function containsAttributeToken(element, key, token) {
  *
  * ```
  * <script type="module">
- * import {replaceAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.mjs';
+ * import {replaceAttributeToken} from '@schukai/monster/source/dom/attributes.mjs';
  * replaceAttributeToken();
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -357,11 +371,12 @@ function replaceAttributeToken(element, key, from, to) {
  *
  * ```
  * <script type="module">
- * import {clearAttributeTokens} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.mjs';
+ * import {clearAttributeTokens} from '@schukai/monster/source/dom/attributes.mjs';
  * clearAttributeTokens();
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -403,11 +418,12 @@ function clearAttributeTokens(element, key) {
  *
  * ```
  * <script type="module">
- * import {findClosestByAttribute} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.mjs';
+ * import {findClosestByAttribute} from '@schukai/monster/source/dom/attributes.mjs';
  * findClosestByAttribute();
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.14.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -457,11 +473,12 @@ function findClosestByAttribute(element, key, value) {
  *
  * ```
  * <script type="module">
- * import {findClosestByClass} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.mjs';
+ * import {findClosestByClass} from '@schukai/monster/source/dom/attributes.mjs';
  * findClosestByClass();
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.27.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
diff --git a/application/source/dom/constants.mjs b/application/source/dom/constants.mjs
index 3cefee9ea..cabcfa966 100644
--- a/application/source/dom/constants.mjs
+++ b/application/source/dom/constants.mjs
@@ -2,9 +2,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 export {
     DEFAULT_THEME,
     ATTRIBUTE_PREFIX,
@@ -70,6 +74,7 @@ const DEFAULT_THEME = 'monster';
 
 /**
  * @memberOf Monster.DOM
+ * @license AGPLv3
  * @since 1.8.0
  * @type {string}
  */
@@ -79,6 +84,7 @@ const ATTRIBUTE_PREFIX = 'data-monster-';
  * This is the name of the attribute to pass options to a control
  *
  * @memberOf Monster.DOM
+ * @license AGPLv3
  * @since 1.8.0
  * @type {string}
  */
@@ -88,6 +94,7 @@ const ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options';
  * This is the name of the attribute to pass options to a control
  *
  * @memberOf Monster.DOM
+ * @license AGPLv3
  * @since 1.30.0
  * @type {string}
  */
@@ -96,6 +103,7 @@ const ATTRIBUTE_OPTIONS_SELECTOR = ATTRIBUTE_PREFIX + 'options-selector';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.8.0
  */
 const ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX + 'theme-';
@@ -109,6 +117,7 @@ const ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.8.0
  */
 const ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes';
@@ -116,6 +125,7 @@ const ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.27.1
  */
 const ATTRIBUTE_UPDATER_SELECT_THIS = ATTRIBUTE_PREFIX + 'select-this';
@@ -123,6 +133,7 @@ const ATTRIBUTE_UPDATER_SELECT_THIS = ATTRIBUTE_PREFIX + 'select-this';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.8.0
  */
 const ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace';
@@ -130,6 +141,7 @@ const ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.8.0
  */
 const ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert';
@@ -137,6 +149,7 @@ const ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.8.0
  */
 const ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference';
@@ -144,6 +157,7 @@ const ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference'
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.8.0
  */
 const ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove';
@@ -151,6 +165,7 @@ const ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.9.0
  */
 const ATTRIBUTE_UPDATER_BIND = ATTRIBUTE_PREFIX + 'bind';
@@ -158,6 +173,7 @@ const ATTRIBUTE_UPDATER_BIND = ATTRIBUTE_PREFIX + 'bind';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.27.0
  */
 const ATTRIBUTE_TEMPLATE_PREFIX = ATTRIBUTE_PREFIX + 'template-prefix';
@@ -165,6 +181,7 @@ const ATTRIBUTE_TEMPLATE_PREFIX = ATTRIBUTE_PREFIX + 'template-prefix';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.14.0
  */
 const ATTRIBUTE_ROLE = ATTRIBUTE_PREFIX + 'role';
@@ -172,6 +189,7 @@ const ATTRIBUTE_ROLE = ATTRIBUTE_PREFIX + 'role';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.24.0
  */
 const ATTRIBUTE_DISABLED = 'disabled';
@@ -179,6 +197,7 @@ const ATTRIBUTE_DISABLED = 'disabled';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.24.0
  */
 const ATTRIBUTE_VALUE = 'value';
@@ -186,6 +205,7 @@ const ATTRIBUTE_VALUE = 'value';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.9.0
  */
 const ATTRIBUTE_OBJECTLINK = ATTRIBUTE_PREFIX + 'objectlink';
@@ -193,6 +213,7 @@ const ATTRIBUTE_OBJECTLINK = ATTRIBUTE_PREFIX + 'objectlink';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.24.0
  */
 const ATTRIBUTE_ERRORMESSAGE = ATTRIBUTE_PREFIX + 'error';
@@ -200,6 +221,7 @@ const ATTRIBUTE_ERRORMESSAGE = ATTRIBUTE_PREFIX + 'error';
 /**
  * @memberOf Monster.DOM
  * @type {symbol}
+ * @license AGPLv3
  * @since 1.24.0
  */
 const objectUpdaterLinkSymbol = Symbol('monsterUpdater');
@@ -207,6 +229,7 @@ const objectUpdaterLinkSymbol = Symbol('monsterUpdater');
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const TAG_SCRIPT = 'script';
@@ -214,6 +237,7 @@ const TAG_SCRIPT = 'script';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const TAG_STYLE = 'style';
@@ -221,6 +245,7 @@ const TAG_STYLE = 'style';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const TAG_LINK = 'link';
@@ -228,6 +253,7 @@ const TAG_LINK = 'link';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 
@@ -236,6 +262,7 @@ const ATTRIBUTE_ID = 'id';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 
@@ -244,6 +271,7 @@ const ATTRIBUTE_CLASS = 'class';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_TITLE = 'title';
@@ -251,12 +279,14 @@ const ATTRIBUTE_TITLE = 'title';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_SRC = 'src';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_HREF = 'href';
@@ -264,6 +294,7 @@ const ATTRIBUTE_HREF = 'href';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_TYPE = 'type';
@@ -271,6 +302,7 @@ const ATTRIBUTE_TYPE = 'type';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_NONCE = 'nonce';
@@ -278,6 +310,7 @@ const ATTRIBUTE_NONCE = 'nonce';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_TRANSLATE = 'translate';
@@ -286,6 +319,7 @@ const ATTRIBUTE_TRANSLATE = 'translate';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_TABINDEX = 'tabindex';
@@ -294,6 +328,7 @@ const ATTRIBUTE_TABINDEX = 'tabindex';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_SPELLCHECK = 'spellcheck';
@@ -302,6 +337,7 @@ const ATTRIBUTE_SPELLCHECK = 'spellcheck';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_SLOT = 'slot';
@@ -310,6 +346,7 @@ const ATTRIBUTE_SLOT = 'slot';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_PART = 'part';
@@ -318,6 +355,7 @@ const ATTRIBUTE_PART = 'part';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_LANG = 'lang';
@@ -326,6 +364,7 @@ const ATTRIBUTE_LANG = 'lang';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_ITEMTYPE = 'itemtype';
@@ -334,6 +373,7 @@ const ATTRIBUTE_ITEMTYPE = 'itemtype';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_ITEMSCOPE = 'itemscope';
@@ -342,6 +382,7 @@ const ATTRIBUTE_ITEMSCOPE = 'itemscope';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_ITEMREF = 'itemref';
@@ -350,6 +391,7 @@ const ATTRIBUTE_ITEMREF = 'itemref';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_ITEMID = 'itemid';
@@ -358,6 +400,7 @@ const ATTRIBUTE_ITEMID = 'itemid';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_ITEMPROP = 'itemprop';
@@ -366,6 +409,7 @@ const ATTRIBUTE_ITEMPROP = 'itemprop';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_IS = 'is';
@@ -374,6 +418,7 @@ const ATTRIBUTE_IS = 'is';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_INPUTMODE = 'inputmode';
@@ -382,6 +427,7 @@ const ATTRIBUTE_INPUTMODE = 'inputmode';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_ACCESSKEY = 'accesskey';
@@ -389,6 +435,7 @@ const ATTRIBUTE_ACCESSKEY = 'accesskey';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_AUTOCAPITALIZE = 'autocapitalize';
@@ -396,6 +443,7 @@ const ATTRIBUTE_AUTOCAPITALIZE = 'autocapitalize';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_AUTOFOCUS = 'autofocus';
@@ -403,6 +451,7 @@ const ATTRIBUTE_AUTOFOCUS = 'autofocus';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_CONTENTEDITABLE = 'contenteditable';
@@ -410,6 +459,7 @@ const ATTRIBUTE_CONTENTEDITABLE = 'contenteditable';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_DIR = 'dir';
@@ -417,6 +467,7 @@ const ATTRIBUTE_DIR = 'dir';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_DRAGGABLE = 'draggable';
@@ -425,18 +476,21 @@ const ATTRIBUTE_DRAGGABLE = 'draggable';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_ENTERKEYHINT = 'enterkeyhint';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_EXPORTPARTS = 'exportparts';
 /**
  * @memberOf Monster.DOM
  * @type {string}
+ * @license AGPLv3
  * @since 1.25.0
  */
 const ATTRIBUTE_HIDDEN = 'hidden';
diff --git a/application/source/dom/customcontrol.mjs b/application/source/dom/customcontrol.mjs
index 789c38725..efcc7658b 100644
--- a/application/source/dom/customcontrol.mjs
+++ b/application/source/dom/customcontrol.mjs
@@ -2,9 +2,13 @@
 
 import {extend} from "../data/extend.mjs";
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {ATTRIBUTE_VALUE} from "./constants.mjs";
 import {CustomElement, attributeObserverSymbol} from "./customelement.mjs";
 
@@ -31,7 +35,7 @@ const attachedInternalSymbol = Symbol('attachedInternal');
  *
  * ```
  * <script type="module">
- * import {CustomControl} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source//monster.mjs';
+ * import {CustomControl} from '@schukai/monster/source//monster.mjs';
  * document.createElement('monster-')
  * </script>
  * ```
@@ -47,6 +51,7 @@ const attachedInternalSymbol = Symbol('attachedInternal');
  * @see {@link https://www.npmjs.com/package/element-internals-polyfill}
  * @see {@link https://github.com/WICG/webcomponents}
  * @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements}
+ * @license AGPLv3
  * @since 1.14.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
diff --git a/application/source/dom/customelement.mjs b/application/source/dom/customelement.mjs
index 3164f76ce..2dc7e9914 100644
--- a/application/source/dom/customelement.mjs
+++ b/application/source/dom/customelement.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../constants.mjs";
 import {extend} from "../data/extend.mjs";
 import {Pathfinder} from "../data/pathfinder.mjs";
@@ -104,7 +108,7 @@ const attributeObserverSymbol = Symbol('attributeObserver');
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source//monster.mjs';
+ * import {Monster} from '@schukai/monster/source//monster.mjs';
  * document.createElement('monster-')
  * </script>
  * ```
@@ -191,6 +195,7 @@ const attributeObserverSymbol = Symbol('attributeObserver');
  *
  * @see https://github.com/WICG/webcomponents
  * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements
+ * @license AGPLv3
  * @since 1.7.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -558,6 +563,7 @@ class CustomElement extends HTMLElement {
  * @param {String|undefined|null} name name of the slot (if the parameter is undefined, all slots are searched, if the parameter has the value null, all slots without a name are searched. if a string is specified, the slots with this name are searched.)
  * @return {*}
  * @this CustomElement
+ * @license AGPLv3
  * @since 1.23.0
  * @throws {Error} query must be a string
  */
@@ -632,6 +638,7 @@ function containChildNode(node) {
 }
 
 /**
+ * @license AGPLv3
  * @since 1.15.0
  * @private
  * @this CustomElement
@@ -829,6 +836,7 @@ function initHtmlContent() {
  * @return {CustomElement}
  * @memberOf Monster.DOM
  * @this CustomElement
+ * @license AGPLv3
  * @since 1.16.0
  * @throws {TypeError} value is not an instance of
  */
@@ -892,6 +900,7 @@ function initCSSStylesheet() {
  * @throws {Error} html is not set.
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow
  * @memberOf Monster.DOM
+ * @license AGPLv3
  * @since 1.8.0
  */
 function initShadowRoot() {
@@ -928,6 +937,7 @@ function initShadowRoot() {
  *
  * @param {CustomElement} element
  * @return {void}
+ * @license AGPLv3
  * @since 1.7.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -944,6 +954,7 @@ function registerCustomElement(element) {
  * @param element
  * @param object
  * @return {Promise[]}
+ * @license AGPLv3
  * @since 1.23.0
  * @memberOf Monster.DOM
  */
diff --git a/application/source/dom/events.mjs b/application/source/dom/events.mjs
index e1ba0d8ec..be3b331a2 100644
--- a/application/source/dom/events.mjs
+++ b/application/source/dom/events.mjs
@@ -2,9 +2,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {isArray, isObject} from "../types/is.mjs";
 import {validateInstance, validateString} from "../types/validate.mjs";
 import {getDocument} from "./util.mjs";
@@ -16,7 +20,7 @@ export {fireEvent, fireCustomEvent, findTargetElementFromEvent}
  *
  * ```
  * <script type="module">
- * import {fireEvent} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/events.mjs';
+ * import {fireEvent} from '@schukai/monster/source/dom/events.mjs';
  * fireEvent()
  * </script>
  * ```
@@ -24,6 +28,7 @@ export {fireEvent, fireCustomEvent, findTargetElementFromEvent}
  * @param {HTMLElement|HTMLCollection|NodeList} element
  * @param {string} type
  * @return {void}
+ * @license AGPLv3
  * @since 1.10.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -63,7 +68,7 @@ function fireEvent(element, type) {
  *
  * ```
  * <script type="module">
- * import {fireCustomEvent} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/events.mjs';
+ * import {fireCustomEvent} from '@schukai/monster/source/dom/events.mjs';
  * fireCustomEvent()
  * </script>
  * ```
@@ -71,6 +76,7 @@ function fireEvent(element, type) {
  * @param {HTMLElement|HTMLCollection|NodeList} element
  * @param {string} type
  * @return {void}
+ * @license AGPLv3
  * @since 1.29.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -112,11 +118,12 @@ function fireCustomEvent(element, type, detail) {
  *
  * ```
  * <script type="module">
- * import {findTargetElementFromEvent} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/events.mjs';
+ * import {findTargetElementFromEvent} from '@schukai/monster/source/dom/events.mjs';
  * findTargetElementFromEvent()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.14.0
  * @param {Event} event
  * @param {string} attributeName
diff --git a/application/source/dom/focusmanager.mjs b/application/source/dom/focusmanager.mjs
index 03c725504..ed1e3557c 100644
--- a/application/source/dom/focusmanager.mjs
+++ b/application/source/dom/focusmanager.mjs
@@ -2,9 +2,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {extend} from "../data/extend.mjs";
 import {BaseWithOptions} from "../types/basewithoptions.mjs";
 import {getGlobalObject} from "../types/global.mjs";
@@ -39,11 +43,12 @@ const stackSymbol = Symbol('stack');
  *
  * ```
  * <script type="module">
- * import {FocusManager} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/focusmanager.mjs';
+ * import {FocusManager} from '@schukai/monster/source/dom/focusmanager.mjs';
  * new FocusManager()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
diff --git a/application/source/dom/locale.mjs b/application/source/dom/locale.mjs
index 1619b037c..14a4ba086 100644
--- a/application/source/dom/locale.mjs
+++ b/application/source/dom/locale.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {parseLocale} from "../i18n/locale.mjs";
 
 import {getDocument} from "./util.mjs";
@@ -28,11 +32,12 @@ const DEFAULT_LANGUAGE = 'en';
  *
  * ```
  * <script type="module">
- * import {getLocaleOfDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/locale.mjs';
+ * import {getLocaleOfDocument} from '@schukai/monster/source/dom/locale.mjs';
  * new getLocaleOfDocument()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.13.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
diff --git a/application/source/dom/ready.mjs b/application/source/dom/ready.mjs
index f590c5983..c80a56bc1 100644
--- a/application/source/dom/ready.mjs
+++ b/application/source/dom/ready.mjs
@@ -2,9 +2,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {getDocument, getWindow} from "./util.mjs";
 
 export {domReady, windowReady}
@@ -17,13 +21,14 @@ export {domReady, windowReady}
  *
  * ```
  * <script type="module">
- * import {domReady} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/ready.mjs';
+ * import {domReady} from '@schukai/monster/source/dom/ready.mjs';
  * domReady().then(()=>{
  *     // ...
  * })
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.31.0
  * @memberOf Monster.DOM
  * @summary variable to check if dom is ready
@@ -52,13 +57,14 @@ const domReady = new Promise(resolve => {
  *
  * ```
  * <script type="module">
- * import {windowReady} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/ready.mjs';
+ * import {windowReady} from '@schukai/monster/source/dom/ready.mjs';
  * windowReady().then(()=>{
  *     // ...
  * })
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.31.0
  * @memberOf Monster.DOM
  * @summary variable to check if window is ready
diff --git a/application/source/dom/resource.mjs b/application/source/dom/resource.mjs
index 9db53683b..4a520a712 100644
--- a/application/source/dom/resource.mjs
+++ b/application/source/dom/resource.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalStateSymbol, internalSymbol,} from "../constants.mjs";
 import {extend} from "../data/extend.mjs";
 import {BaseWithOptions} from "../types/basewithoptions.mjs";
@@ -45,11 +49,12 @@ const referenceSymbol = Symbol('reference');
  *
  * ```
  * <script type="module">
- * import {Resource} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/resource.mjs';
+ * import {Resource} from '@schukai/monster/source/dom/resource.mjs';
  * new Resource()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
diff --git a/application/source/dom/resource/data.mjs b/application/source/dom/resource/data.mjs
index 85f0aef03..dc166f3e7 100644
--- a/application/source/dom/resource/data.mjs
+++ b/application/source/dom/resource/data.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalStateSymbol} from "../../constants.mjs";
 import {extend} from "../../data/extend.mjs";
 import {getGlobalFunction} from "../../types/global.mjs";
@@ -25,11 +29,12 @@ export {Data}
  *
  * ```
  * <script type="module">
- * import {Data} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/resource/data.mjs';
+ * import {Data} from '@schukai/monster/source/dom/resource/data.mjs';
  * new Data()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM.Resource
diff --git a/application/source/dom/resource/link.mjs b/application/source/dom/resource/link.mjs
index d83c4e4d1..293bd277f 100644
--- a/application/source/dom/resource/link.mjs
+++ b/application/source/dom/resource/link.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {extend} from "../../data/extend.mjs";
 import {
     ATTRIBUTE_CLASS,
@@ -22,11 +26,12 @@ export {Link}
  *
  * ```
  * <script type="module">
- * import {Link} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/resource/link.mjs';
+ * import {Link} from '@schukai/monster/source/dom/resource/link.mjs';
  * new Link()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM.Resource
diff --git a/application/source/dom/resource/link/stylesheet.mjs b/application/source/dom/resource/link/stylesheet.mjs
index 0b23fc12c..ca221fcd8 100644
--- a/application/source/dom/resource/link/stylesheet.mjs
+++ b/application/source/dom/resource/link/stylesheet.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {extend} from "../../../data/extend.mjs";
 import {Link} from "../link.mjs";
 
@@ -14,11 +18,12 @@ export {Stylesheet}
  *
  * ```
  * <script type="module">
- * import {Style} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/resource/link/stylesheet.mjs';
+ * import {Style} from '@schukai/monster/source/dom/resource/link/stylesheet.mjs';
  * new Stylesheet()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM.Resource
diff --git a/application/source/dom/resource/script.mjs b/application/source/dom/resource/script.mjs
index e3ed6ebad..445ea92b0 100644
--- a/application/source/dom/resource/script.mjs
+++ b/application/source/dom/resource/script.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {extend} from "../../data/extend.mjs";
 import {
     ATTRIBUTE_CLASS,
@@ -23,11 +27,12 @@ export {Script}
  *
  * ```
  * <script type="module">
- * import {Script} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/resource/script.mjs';
+ * import {Script} from '@schukai/monster/source/dom/resource/script.mjs';
  * new Script()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM.Resource
diff --git a/application/source/dom/resourcemanager.mjs b/application/source/dom/resourcemanager.mjs
index c1d70465b..8ef6f9988 100644
--- a/application/source/dom/resourcemanager.mjs
+++ b/application/source/dom/resourcemanager.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {extend} from "../data/extend.mjs";
 import {BaseWithOptions} from "../types/basewithoptions.mjs";
 import {getGlobalObject} from "../types/global.mjs";
@@ -21,11 +25,12 @@ export {ResourceManager}
  * 
  * ```
  * <script type="module">
- * import {Resource} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/resourcemanager.mjs';
+ * import {Resource} from '@schukai/monster/source/dom/resourcemanager.mjs';
  * new ResourceManager()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
diff --git a/application/source/dom/template.mjs b/application/source/dom/template.mjs
index 79717c891..9a3c7f60d 100644
--- a/application/source/dom/template.mjs
+++ b/application/source/dom/template.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from '../types/base.mjs';
 import {getGlobalFunction, getGlobalObject} from '../types/global.mjs';
 import {validateInstance, validateString} from "../types/validate.mjs";
@@ -17,11 +21,12 @@ export {Template}
  *
  * ```
  * <script type="module">
- * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/template.mjs';
+ * import {Template} from '@schukai/monster/source/dom/template.mjs';
  * new Template()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.6.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -79,7 +84,7 @@ class Template extends Base {
  *
  * ```
  * <script type="module">
- * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/template.mjs';
+ * import {findTemplate} from '@schukai/monster/source/dom/template.mjs';
  * findDocumentTemplate()
  * </script>
  * ```
@@ -117,6 +122,7 @@ class Template extends Base {
  * @param {string} id
  * @param {Node} currentNode
  * @return {Monster.DOM.Template}
+ * @license AGPLv3
  * @since 1.7.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
diff --git a/application/source/dom/theme.mjs b/application/source/dom/theme.mjs
index 03e0d328a..7de0e46d2 100644
--- a/application/source/dom/theme.mjs
+++ b/application/source/dom/theme.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from '../types/base.mjs';
 import {getGlobalObject} from '../types/global.mjs';
 import {validateString} from "../types/validate.mjs";
@@ -16,19 +20,21 @@ export {Theme, getDocumentTheme}
  *
  * ```
  * <script type="module">
- * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/theme.mjs';
+ * import {Theme} from '@schukai/monster/source/dom/theme.mjs';
  * console.log(new Theme())
  * </script>
  * ```
  *
  * @example
  *
- * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/theme.mjs';
+ * import {getDocumentTheme} from '@schukai/monster/source/dom/theme.mjs';
  *
  * const theme = getDocumentTheme();
  * console.log(theme.getName());
  * // ↦ monster
  *
+ * @license AGPLv3
+ * @license AGPLv3
  * @since 1.7.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -71,6 +77,7 @@ class Theme extends Base {
  *
  * @return {Theme}
  * @memberOf Monster.DOM
+ * @license AGPLv3
  * @since 1.7.0
  */
 function getDocumentTheme() {
diff --git a/application/source/dom/updater.mjs b/application/source/dom/updater.mjs
index db2db82d6..21d177144 100644
--- a/application/source/dom/updater.mjs
+++ b/application/source/dom/updater.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../constants.mjs";
 import {diff} from "../data/diff.mjs";
 import {Pathfinder} from "../data/pathfinder.mjs";
@@ -43,14 +47,14 @@ export {Updater}
  *
  * ```
  * <script type="module">
- * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/updater.mjs';
+ * import {Updater} from '@schukai/monster/source/dom/updater.mjs';
  * new Updater()
  * </script>
  * ```
  *
  * @example
  *
- * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/updater.mjs';
+ * import {Updater} from '@schukai/monster/source/dom/updater.mjs';
  *
  * // First we prepare the html document.
  * // This is done here via script, but can also be inserted into the document as pure html.
@@ -74,6 +78,7 @@ export {Updater}
  * const subject = updater.getSubject();
  * subject['headline'] = "Hello World!"
  *
+ * @license AGPLv3
  * @since 1.8.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -253,6 +258,7 @@ class Updater extends Base {
 
 /**
  * @private
+ * @license AGPLv3
  * @since 1.9.0
  * @return {function
  * @this Updater
@@ -392,6 +398,7 @@ function retrieveAndSetValue(element) {
 }
 
 /**
+ * @license AGPLv3
  * @since 1.27.0
  * @return void
  * @private
@@ -411,6 +418,7 @@ function retrieveFromBindings() {
 
 /**
  * @private
+ * @license AGPLv3
  * @since 1.8.0
  * @param {object} change
  * @return {void}
@@ -425,6 +433,7 @@ function removeElement(change) {
 
 /**
  * @private
+ * @license AGPLv3
  * @since 1.8.0
  * @param {object} change
  * @return {void}
@@ -558,6 +567,7 @@ function insertElement(change) {
 /**
  *
  * @private
+ * @license AGPLv3
  * @since 1.8.0
  * @param {HTMLElement} container
  * @param {string} key
@@ -583,6 +593,7 @@ function appendNewDocumentFragment(container, key, ref, path) {
 
 /**
  * @private
+ * @license AGPLv3
  * @since 1.10.0
  * @param {HTMLElement} node
  * @param {string} key
@@ -611,6 +622,7 @@ function applyRecursive(node, key, path) {
 
 /**
  * @private
+ * @license AGPLv3
  * @since 1.8.0
  * @param {object} change
  * @return {void}
@@ -637,6 +649,7 @@ function updateContent(change) {
 
 /**
  * @private
+ * @license AGPLv3
  * @since 1.8.0
  * @param {HTMLElement} container
  * @param {array} parts
@@ -714,6 +727,7 @@ function runUpdateContent(container, parts, subject) {
 
 /**
  * @private
+ * @license AGPLv3
  * @since 1.8.0
  * @param {string} path
  * @param {object} change
diff --git a/application/source/dom/util.mjs b/application/source/dom/util.mjs
index b82fc164a..0f7e44a7b 100644
--- a/application/source/dom/util.mjs
+++ b/application/source/dom/util.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {getGlobal} from "../types/global.mjs";
 import {validateString} from "../types/validate.mjs";
 
@@ -14,7 +18,7 @@ export {getDocument, getWindow, getDocumentFragmentFromString}
  *
  * ```
  * <script type="module">
- * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/util.mjs';
+ * import {getDocument} from '@schukai/monster/source/dom/util.mjs';
  * console.log(getDocument())
  * </script>
  * ```
@@ -47,6 +51,7 @@ export {getDocument, getWindow, getDocumentFragmentFromString}
  * ```
  *
  * @returns {object}
+ * @license AGPLv3
  * @since 1.6.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -66,7 +71,7 @@ function getDocument() {
  *
  * ```
  * <script type="module">
- * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/util.mjs';
+ * import {getWindow} from '@schukai/monster/source/dom/util.mjs';
  * console.log(getWindow(null))
  * </script>
  * ```
@@ -101,6 +106,7 @@ function getDocument() {
  * ```
  *
  * @returns {object}
+ * @license AGPLv3
  * @since 1.6.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
@@ -121,7 +127,7 @@ function getWindow() {
  *
  * ```
  * <script type="module">
- * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/util.mjs';
+ * import {getDocumentFragmentFromString} from '@schukai/monster/source/dom/util.mjs';
  * console.log(getDocumentFragmentFromString('<div></div>'))
  * </script>
  * ```
@@ -154,6 +160,7 @@ function getWindow() {
  * ```
  *
  * @returns {DocumentFragment}
+ * @license AGPLv3
  * @since 1.6.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
diff --git a/application/source/dom/worker/factory.mjs b/application/source/dom/worker/factory.mjs
index ea3e69caa..b90225165 100644
--- a/application/source/dom/worker/factory.mjs
+++ b/application/source/dom/worker/factory.mjs
@@ -2,10 +2,14 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
 
+
 import {internalSymbol} from "../../constants.mjs";
 import {Base} from "../../types/base.mjs";
 import {getGlobal, getGlobalFunction} from "../../types/global.mjs";
@@ -19,11 +23,12 @@ export {Factory}
  * 
  * ```
  * <script type="module">
- * import {Factory} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/worker/factory.mjs';
+ * import {Factory} from '@schukai/monster/source/dom/worker/factory.mjs';
  * console.log(new Factory())
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
  * @memberOf Monster.DOM.Worker
diff --git a/application/source/i18n/formatter.mjs b/application/source/i18n/formatter.mjs
index 55d244079..a80a4b489 100644
--- a/application/source/i18n/formatter.mjs
+++ b/application/source/i18n/formatter.mjs
@@ -1,10 +1,14 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
 
+
 import {internalSymbol} from "../constants.mjs";
 import {extend} from "../data/extend.mjs";
 
@@ -25,15 +29,15 @@ const internalTranslationSymbol = Symbol('internalTranslation')
  *
  * ```
  * <script type="module">
- * import {Formatter} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/formatter.mjs';
+ * import {Formatter} from '@schukai/monster/source/i18n/formatter.mjs';
  * new Formatter()
  * </script>
  * ```
  *
  * @example
  *
- * import {Formatter} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/formatter.mjs';
- * import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/translations.mjs';
+ * import {Formatter} from '@schukai/monster/source/i18n/formatter.mjs';
+ * import {Translations} from '@schukai/monster/source/i18n/translations.mjs';
  *
  * const translations = new Translations('en')
  *     .assignTranslations({
@@ -43,6 +47,7 @@ const internalTranslationSymbol = Symbol('internalTranslation')
  * new Formatter({}, translations).format("thekey:animal=dog::food=cake")
  * // ↦ dog has eaten the cake!
  *
+ * @license AGPLv3
  * @since 1.26.0
  * @copyright schukai GmbH
  * @memberOf Monster.I18n
diff --git a/application/source/i18n/locale.mjs b/application/source/i18n/locale.mjs
index deac3f6a6..e12871ba3 100644
--- a/application/source/i18n/locale.mjs
+++ b/application/source/i18n/locale.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from "../types/base.mjs";
 import {validateString} from "../types/validate.mjs";
 import {clone} from "../util/clone.mjs";
@@ -27,7 +31,7 @@ const localeStringSymbol = Symbol('localeString');
  *
  * ```
  * <script type="module">
- * import {Locale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/locale.mjs';
+ * import {Locale} from '@schukai/monster/source/i18n/locale.mjs';
  * new Locale()
  * </script>
  * ```
@@ -63,6 +67,7 @@ const localeStringSymbol = Symbol('localeString');
  *                 in the middle)
  * ```
  *
+ * @license AGPLv3
  * @since 1.13.0
  * @copyright schukai GmbH
  * @memberOf Monster.I18n
@@ -196,7 +201,7 @@ class Locale extends Base {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source//monster.mjs';
+ * import {Monster} from '@schukai/monster/source//monster.mjs';
  * new Monster.I18n.createLocale()
  * </script>
  * ```
@@ -205,7 +210,7 @@ class Locale extends Base {
  *
  * ```
  * <script type="module">
- * import {createLocale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/locale.mjs';
+ * import {createLocale} from '@schukai/monster/source/i18n/locale.mjs';
  * createLocale()
  * </script>
  * ```
@@ -260,6 +265,7 @@ class Locale extends Base {
  *
  * @param {string} locale
  * @returns {Locale}
+ * @license AGPLv3
  * @since 1.14.0
  * @copyright schukai GmbH
  * @memberOf Monster.I18n
diff --git a/application/source/i18n/provider.mjs b/application/source/i18n/provider.mjs
index 59db7c2ab..a0507045a 100644
--- a/application/source/i18n/provider.mjs
+++ b/application/source/i18n/provider.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {BaseWithOptions} from "../types/basewithoptions.mjs";
 import {Locale} from "./locale.mjs"
 import {Translations} from "./translations.mjs"
@@ -15,11 +19,12 @@ export {Provider}
  *
  * ```
  * <script type="module">
- * import {Provider} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/provider.mjs';
+ * import {Provider} from '@schukai/monster/source/i18n/provider.mjs';
  * new Provider()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.13.0
  * @copyright schukai GmbH
  * @memberOf Monster.I18n
diff --git a/application/source/i18n/providers/fetch.mjs b/application/source/i18n/providers/fetch.mjs
index 6601228aa..4d5542c17 100644
--- a/application/source/i18n/providers/fetch.mjs
+++ b/application/source/i18n/providers/fetch.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../../constants.mjs";
 import {extend} from "../../data/extend.mjs";
 import {Formatter} from "../../text/formatter.mjs";
@@ -21,19 +25,20 @@ export {Fetch}
  * 
  * ```
  * <script type="module">
- * import {Fetch} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/providers/fetch.mjs';
+ * import {Fetch} from '@schukai/monster/source/i18n/providers/fetch.mjs';
  * new Fetch()
  * </script>
  * ```
  * 
  * @example <caption>das ist ein test</caption>
  * 
- * import {Fetch} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/providers/fetch.mjs';
+ * import {Fetch} from '@schukai/monster/source/i18n/providers/fetch.mjs';
  * 
  * // fetch from API
  * const translation = new Fetch('https://example.com/${language}.json').getTranslation('en-GB');
  * // ↦ https://example.com/en.json
  *
+ * @license AGPLv3
  * @since 1.13.0
  * @copyright schukai GmbH
  * @memberOf Monster.I18n.Providers
diff --git a/application/source/i18n/translations.mjs b/application/source/i18n/translations.mjs
index 0d699a05f..e2bde3a06 100644
--- a/application/source/i18n/translations.mjs
+++ b/application/source/i18n/translations.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from "../types/base.mjs";
 import {isObject, isString} from "../types/is.mjs";
 import {validateInstance, validateInteger, validateObject, validateString} from "../types/validate.mjs";
@@ -16,15 +20,15 @@ export {Translations}
  *
  * ```
  * <script type="module">
- * import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/translations.mjs';
+ * import {Translations} from '@schukai/monster/source/i18n/translations.mjs';
  * new Translations()
  * </script>
  * ```
  *
  * @example
  *
- * import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/translations.mjs';
- * import {parseLocale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/locale.mjs';
+ * import {Translations} from '@schukai/monster/source/i18n/translations.mjs';
+ * import {parseLocale} from '@schukai/monster/source/i18n/locale.mjs';
  *
  * const translation = new Translations(parseLocale('en-GB'));
  *
@@ -44,6 +48,7 @@ export {Translations}
  * console.log(translation.getPluralRuleText('text2',2));
  * // -> click n times
  *
+ * @license AGPLv3
  * @since 1.13.0
  * @copyright schukai GmbH
  * @memberOf Monster.I18n
diff --git a/application/source/logging/handler.mjs b/application/source/logging/handler.mjs
index 3eea353c1..2f02535e9 100644
--- a/application/source/logging/handler.mjs
+++ b/application/source/logging/handler.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from '../types/base.mjs';
 import {validateInstance, validateInteger} from "../types/validate.mjs";
 import {LogEntry} from "./logentry.mjs";
@@ -16,11 +20,12 @@ export {Handler}
  * 
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/logging/handler.mjs';
+ * import {ID} from '@schukai/monster/source/logging/handler.mjs';
  * console.log(new Handler())
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster.Logging
diff --git a/application/source/logging/handler/console.mjs b/application/source/logging/handler/console.mjs
index 1c8994002..4d7e512d1 100644
--- a/application/source/logging/handler/console.mjs
+++ b/application/source/logging/handler/console.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from '../../types/base.mjs';
 import {getGlobalObject} from "../../types/global.mjs";
 import {Handler} from '../handler.mjs';
@@ -16,11 +20,12 @@ export {ConsoleHandler}
  * 
  * ```
  * <script type="module">
- * import {ConsoleHandler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/logging/handler/console.mjs';
+ * import {ConsoleHandler} from '@schukai/monster/source/logging/handler/console.mjs';
  * console.log(new ConsoleHandler())
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster.Logging.Handler
diff --git a/application/source/logging/logentry.mjs b/application/source/logging/logentry.mjs
index 37b74aab1..c16504096 100644
--- a/application/source/logging/logentry.mjs
+++ b/application/source/logging/logentry.mjs
@@ -1,10 +1,14 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
 
+
 import {Base} from '../types/base.mjs';
 import {validateInteger} from '../types/validate.mjs';
 
@@ -15,11 +19,12 @@ export {LogEntry}
  * 
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/logging/logentry.mjs';
+ * import {ID} from '@schukai/monster/source/logging/logentry.mjs';
  * console.log(new LogEntry())
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster.Logging
diff --git a/application/source/logging/logger.mjs b/application/source/logging/logger.mjs
index 864f242d8..35ea56ee4 100644
--- a/application/source/logging/logger.mjs
+++ b/application/source/logging/logger.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Handler} from '../logging/handler.mjs';
 import {LogEntry} from '../logging/logentry.mjs';
 
@@ -66,11 +70,12 @@ const OFF = 0;
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/logging/logger.mjs';
+ * import {ID} from '@schukai/monster/source/logging/logger.mjs';
  * new Logger()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster.Logging
diff --git a/application/source/math/random.mjs b/application/source/math/random.mjs
index 4e747f2e8..57cb98d51 100644
--- a/application/source/math/random.mjs
+++ b/application/source/math/random.mjs
@@ -1,10 +1,14 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
 
+
 import {getGlobal} from '../types/global.mjs';
 
 export {random}
@@ -14,7 +18,7 @@ export {random}
  *
  * ```
  * <script type="module">
- * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/math/random.mjs';
+ * import {random} from '@schukai/monster/source/math/random.mjs';
  * random(1,10)
  * // ↦ 5
  * </script>
@@ -28,6 +32,7 @@ export {random}
  * @throws {Error} we cannot generate numbers larger than 53 bits.
  * @throws {Error} the distance is too small to create a random number.
 
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  */
diff --git a/application/source/monster.mjs b/application/source/monster.mjs
index d77a19ec0..a1a97a7ac 100644
--- a/application/source/monster.mjs
+++ b/application/source/monster.mjs
@@ -104,6 +104,7 @@ export {Monster}
 /**
  * This class has no other purpose than to exist.
  *
+ * @license AGPLv3
  * @since 2.0.0
  * @copyright schukai GmbH
  * @memberOf Monster
diff --git a/application/source/text/formatter.mjs b/application/source/text/formatter.mjs
index 3458a0d0c..6e5379ff4 100644
--- a/application/source/text/formatter.mjs
+++ b/application/source/text/formatter.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../constants.mjs";
 import {extend} from "../data/extend.mjs";
 import {Pipe} from "../data/pipe.mjs";
@@ -53,7 +57,7 @@ const workingDataSymbol = Symbol('workingData');
  *
  * ```
  * <script type="module">
- * import {Formatter} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/text/formatter.mjs';
+ * import {Formatter} from '@schukai/monster/source/text/formatter.mjs';
  * new Formatter()
  * </script>
  * ```
@@ -98,7 +102,7 @@ const workingDataSymbol = Symbol('workingData');
  *
  * @example
  *
- * import {Formatter} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/text/formatter.mjs';
+ * import {Formatter} from '@schukai/monster/source/text/formatter.mjs';
  *
  * new Formatter({
  *       a: {
@@ -111,6 +115,7 @@ const workingDataSymbol = Symbol('workingData');
  *
  * // ↦ Hello World!
  *
+ * @license AGPLv3
  * @since 1.12.0
  * @copyright schukai GmbH
  * @memberOf Monster.Text
@@ -269,6 +274,7 @@ function format(text) {
 
 /**
  * @private
+ * @license AGPLv3
  * @since 1.12.0
  * @param text
  * @return {string}
diff --git a/application/source/types/base.mjs b/application/source/types/base.mjs
index 3ad9c77d2..5648dfcc0 100644
--- a/application/source/types/base.mjs
+++ b/application/source/types/base.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 export {Base}
 
 /**
@@ -11,13 +15,14 @@ export {Base}
  *
  * ```
  * <script type="module">
- * import {Base} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/base.mjs';
+ * import {Base} from '@schukai/monster/source/types/base.mjs';
  * new Base()
  * </script>
  * ```
  *
  * The class was formerly called Object.
  *
+ * @license AGPLv3
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/basewithoptions.mjs b/application/source/types/basewithoptions.mjs
index c61b85a9e..fa178728c 100644
--- a/application/source/types/basewithoptions.mjs
+++ b/application/source/types/basewithoptions.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../constants.mjs";
 import {extend} from "../data/extend.mjs";
 import {Pathfinder} from "../data/pathfinder.mjs";
@@ -20,7 +24,7 @@ export {BaseWithOptions}
  *
  * ```html
  * <script type="module">
- * import {BaseWithOptions} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/basewithoptions.mjs';
+ * import {BaseWithOptions} from '@schukai/monster/source/types/basewithoptions.mjs';
  * new BaseWithOptions()
  * </script>
  * ```
@@ -40,6 +44,7 @@ export {BaseWithOptions}
  *
  * The class was formerly called Object.
  *
+ * @license AGPLv3
  * @since 1.13.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/binary.mjs b/application/source/types/binary.mjs
index d66846c11..2e2e5391f 100644
--- a/application/source/types/binary.mjs
+++ b/application/source/types/binary.mjs
@@ -1,8 +1,12 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
+
 import {validateString} from "./validate.mjs";
 
 export {toBinary, fromBinary}
@@ -12,7 +16,7 @@ export {toBinary, fromBinary}
  *
  * ```
  * <script type="module">
- * import {toBinary} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/binary.mjs';
+ * import {toBinary} from '@schukai/monster/source/types/binary.mjs';
  * toBinary()
  * </script>
  * ```
@@ -21,6 +25,7 @@ export {toBinary, fromBinary}
  * @return {String}
  * @throws {TypeError} value is not a string
  * @memberOf Monster.Types
+ * @license AGPLv3
  * @since 1.18.0
  */
 function toBinary(string) {
@@ -44,7 +49,7 @@ function toBinary(string) {
  *
  * ```
  * <script type="module">
- * import {fromBinary} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/binary.mjs';
+ * import {fromBinary} from '@schukai/monster/source/types/binary.mjs';
  * fromBinary()
  * </script>
  * ```
@@ -53,6 +58,7 @@ function toBinary(string) {
  * @return {String}
  * @throws {TypeError} value is not a string
  * @memberOf Monster.Types
+ * @license AGPLv3
  * @since 1.18.0
  */
 function fromBinary(binary) {
diff --git a/application/source/types/dataurl.mjs b/application/source/types/dataurl.mjs
index d554b822c..f85a308d0 100644
--- a/application/source/types/dataurl.mjs
+++ b/application/source/types/dataurl.mjs
@@ -2,9 +2,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from "./base.mjs";
 import {isString} from "./is.mjs";
 import {MediaType, parseMediaType} from "./mediatype.mjs";
@@ -24,11 +28,12 @@ const internal = Symbol('internal');
  *
  * ```
  * <script type="module">
- * import {DataUrl} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/dataurl.mjs';
+ * import {DataUrl} from '@schukai/monster/source/types/dataurl.mjs';
  * new DataUrl()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.8.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -93,7 +98,7 @@ class DataUrl extends Base {
  *
  * ```
  * <script type="module">
- * import {parseDataURL} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/dataurl.mjs';
+ * import {parseDataURL} from '@schukai/monster/source/types/dataurl.mjs';
  * parseDataURL(...)
  * </script>
  * ```
diff --git a/application/source/types/global.mjs b/application/source/types/global.mjs
index bcbd58a80..ae14bb286 100644
--- a/application/source/types/global.mjs
+++ b/application/source/types/global.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {validateFunction, validateObject, validateString} from "./validate.mjs";
 
 export {getGlobal, getGlobalObject, getGlobalFunction}
@@ -64,6 +68,7 @@ let globalReference;
  *
  * If globalThis is not available, it will be polyfilled
  *
+ * @license AGPLv3
  * @since 1.6.0
  * @memberOf Monster.Types
  * @returns {objec} globalThis
@@ -95,6 +100,7 @@ function getGlobal() {
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.6.0
  * @memberOf Monster.Types
  * @param {string} name
@@ -132,6 +138,7 @@ function getGlobalObject(name) {
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.6.0
  * @memberOf Monster.Types
  * @param {string} name
diff --git a/application/source/types/id.mjs b/application/source/types/id.mjs
index 97de01cca..754aab130 100644
--- a/application/source/types/id.mjs
+++ b/application/source/types/id.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from './base.mjs';
 import {validateString} from "./validate.mjs";
 
@@ -24,13 +28,14 @@ let internalCounter = new Map;
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/id.mjs';
+ * import {ID} from '@schukai/monster/source/types/id.mjs';
  * console.log(new ID())
  * </script>
  * ```
  *
  * As of version 1.6.0 there is the new RandomID. this ID class is continuous from now on.
  *
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/is.mjs b/application/source/types/is.mjs
index 4418fd7fa..5790c90cc 100644
--- a/application/source/types/is.mjs
+++ b/application/source/types/is.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 export {isIterable, isPrimitive, isSymbol, isBoolean, isString, isObject, isInstance, isArray, isFunction, isInteger}
 
 
@@ -16,7 +20,7 @@ export {isIterable, isPrimitive, isSymbol, isBoolean, isString, isObject, isInst
  *
  * ```
  * <script type="module">
- * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/is.mjs';
+ * import {isIterable} from '@schukai/monster/source/types/is.mjs';
  * isIterable(null)  // ↦ false
  * isIterable('hello')  // ↦ true
  * isIterable([])  // ↦ true
@@ -25,6 +29,7 @@ export {isIterable, isPrimitive, isSymbol, isBoolean, isString, isObject, isInst
  *
  * @param {*} value
  * @returns {boolean}
+ * @license AGPLv3
  * @since 1.2.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -43,7 +48,7 @@ function isIterable(value) {
  *
  * ```
  * <script type="module">
- * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/is.mjs';
+ * import {isPrimitive} from '@schukai/monster/source/types/is.mjs';
  * isPrimitive('2'))  // ↦ true
  * isPrimitive([]))  // ↦ false
  * </script>
@@ -51,6 +56,7 @@ function isIterable(value) {
  *
  * @param {*} value
  * @returns {boolean}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -78,7 +84,7 @@ function isPrimitive(value) {
  *
  * ```
  * <script type="module">
- * import {isSymbol} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/is.mjs';
+ * import {isSymbol} from '@schukai/monster/source/types/is.mjs';
  * isSymbol(Symbol('a')))  // ↦ true
  * isSymbol([])  // ↦ false
  * </script>
@@ -86,6 +92,7 @@ function isPrimitive(value) {
  *
  * @param {*} value
  * @returns {boolean}
+ * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -101,7 +108,7 @@ function isSymbol(value) {
  *
  * ```
  * <script type="module">
- * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/is.mjs';
+ * import {isBoolean} from '@schukai/monster/source/types/is.mjs';
  * isBoolean('2'))  // ↦ false
  * isBoolean([]))  // ↦ false
  * isBoolean(2>4))  // ↦ true
@@ -110,6 +117,7 @@ function isSymbol(value) {
  *
  * @param {*} value
  * @returns {boolean}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -130,7 +138,7 @@ function isBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/is.mjs';
+ * import {isString} from '@schukai/monster/source/types/is.mjs';
  * isString('2'))  // ↦ true
  * isString([]))  // ↦ false
  * </script>
@@ -138,6 +146,7 @@ function isBoolean(value) {
  *
  * @param {*} value
  * @returns {boolean}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -156,7 +165,7 @@ function isString(value) {
  *
  * ```
  * <script type="module">
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/is.mjs';
+ * import {isObject} from '@schukai/monster/source/types/is.mjs';
  * isObject('2'))  // ↦ false
  * isObject([]))  // ↦ false
  * </script>
@@ -164,6 +173,7 @@ function isString(value) {
  *
  * @param {*} value
  * @returns {boolean}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -187,7 +197,7 @@ function isObject(value) {
  *
  * ```
  * <script type="module">
- * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/is.mjs';
+ * import {isInstance} from '@schukai/monster/source/types/is.mjs';
  * isInstance('2'))  // ↦ false
  * isInstance([]))  // ↦ false
  * </script>
@@ -196,6 +206,7 @@ function isObject(value) {
  * @param {*} value
  * @param {*} instance
  * @returns {boolean}
+ * @license AGPLv3
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -214,7 +225,7 @@ function isInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/is.mjs';
+ * import {isArray} from '@schukai/monster/source/types/is.mjs';
  * isArray('2'))  // ↦ false
  * isArray([]))  // ↦ true
  * </script>
@@ -222,6 +233,7 @@ function isInstance(value, instance) {
  *
  * @param {*} value
  * @returns {boolean}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -238,7 +250,7 @@ function isArray(value) {
  *
  * ```
  * <script type="module">
- * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/is.mjs';
+ * import {isFunction} from '@schukai/monster/source/types/is.mjs';
  * isFunction(()=>{}) // ↦ true
  * isFunction('2'))  // ↦ false
  * isFunction([]))  // ↦ false
@@ -247,6 +259,7 @@ function isArray(value) {
  *
  * @param {*} value
  * @returns {boolean}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -270,7 +283,7 @@ function isFunction(value) {
  *
  * ```
  * <script type="module">
- * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/is.mjs';
+ * import {isInteger} from '@schukai/monster/source/types/is.mjs';
  * isInteger(()=>{}) // ↦ true
  * isInteger('2'))  // ↦ false
  * isInteger(2))  // ↦ true
@@ -279,6 +292,7 @@ function isFunction(value) {
  *
  * @param {*} value
  * @returns {boolean}
+ * @license AGPLv3
  * @since 1.4.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/mediatype.mjs b/application/source/types/mediatype.mjs
index 5fb68b621..83a695255 100644
--- a/application/source/types/mediatype.mjs
+++ b/application/source/types/mediatype.mjs
@@ -2,9 +2,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from "./base.mjs";
 import {isString} from "./is.mjs";
 import {validateArray, validateString} from "./validate.mjs";
@@ -30,11 +34,12 @@ const internal = Symbol('internal');
  *
  * ```
  * <script type="module">
- * import {MediaType} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/mediatype.mjs';
+ * import {MediaType} from '@schukai/monster/source/types/mediatype.mjs';
  * console.log(new MediaType())
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.8.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -130,7 +135,7 @@ class MediaType extends Base {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source//monster.mjs';
+ * import {Monster} from '@schukai/monster/source//monster.mjs';
  * console.log(Monster.Types.parseMediaType())
  * </script>
  * ```
@@ -139,7 +144,7 @@ class MediaType extends Base {
  *
  * ```
  * <script type="module">
- * import {parseMediaType} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/dataurl.mjs';
+ * import {parseMediaType} from '@schukai/monster/source/types/dataurl.mjs';
  * console.log(parseMediaType())
  * </script>
  * ```
@@ -186,6 +191,7 @@ function parseMediaType(mediatype) {
 
 /**
  * @private
+ * @license AGPLv3
  * @since 1.18.0
  * @param {String} parameter
  * @return {Monster.Types.Parameter[]|undefined}
diff --git a/application/source/types/node.mjs b/application/source/types/node.mjs
index 6778a8887..39bbe7893 100644
--- a/application/source/types/node.mjs
+++ b/application/source/types/node.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from './base.mjs';
 import {isPrimitive} from "./is.mjs";
 import {NodeList} from './nodelist.mjs';
@@ -29,11 +33,12 @@ const treeStructureSymbol = Symbol('treeStructure');
  *
  * ```
  * <script type="module">
- * import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/node.mjs';
+ * import {Node} from '@schukai/monster/source/types/node.mjs';
  * new Node()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.26.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/nodelist.mjs b/application/source/types/nodelist.mjs
index f470b58f2..ff4cd4773 100644
--- a/application/source/types/nodelist.mjs
+++ b/application/source/types/nodelist.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {isArray, isInstance} from "./is.mjs";
 import {Node} from "./node.mjs";
 import {validateInstance} from "./validate.mjs";
@@ -15,11 +19,12 @@ export {NodeList}
  *
  * ```
  * <script type="module">
- * import {NodeList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/nodelist.mjs';
+ * import {NodeList} from '@schukai/monster/source/types/nodelist.mjs';
  * new NodeList()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.26.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/noderecursiveiterator.mjs b/application/source/types/noderecursiveiterator.mjs
index 19080ca72..96cec23eb 100644
--- a/application/source/types/noderecursiveiterator.mjs
+++ b/application/source/types/noderecursiveiterator.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../constants.mjs";
 
 import {Base} from './base.mjs';
@@ -25,14 +29,14 @@ const isNodeListSymbol = Symbol('isNodeList');
  *
  * ```
  * <script type="module">
- * import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/noderecursiveiterator.mjs';
+ * import {NodeRecursiveIterator} from '@schukai/monster/source/types/noderecursiveiterator.mjs';
  * new NodeRecursiveIterator()
  * </script>
  * ```
  *
  * @example
- * import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/node.mjs';
- * import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/noderecursiveiterator.mjs';
+ * import {Node} from '@schukai/monster/source/types/node.mjs';
+ * import {NodeRecursiveIterator} from '@schukai/monster/source/types/noderecursiveiterator.mjs';
  *
  * const node =new Node('1')
  *
@@ -64,6 +68,7 @@ const isNodeListSymbol = Symbol('isNodeList');
  *
  * // ↦ ['1', '2', '2.1', '2.2', '2.3', '3', '4', '4.1', '4.2']
  *
+ * @license AGPLv3
  * @since 1.26.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/observer.mjs b/application/source/types/observer.mjs
index f8fad6072..d0e82febd 100644
--- a/application/source/types/observer.mjs
+++ b/application/source/types/observer.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from './base.mjs';
 import {isObject} from './is.mjs';
 import {TokenList} from './tokenlist.mjs';
@@ -15,7 +19,7 @@ export {Observer}
  * An observer manages a callback function
  *
  * ```
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/observer.mjs';
+ * import {Observer} from '@schukai/monster/source/types/observer.mjs';
  * new Observer()
  * ```
  *
@@ -44,7 +48,7 @@ export {Observer}
  *
  * @example
  *
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/observer.mjs';
+ * import {Observer} from '@schukai/monster/source/types/observer.mjs';
  *
  * const observer = new Observer(function(a, b, c) {
  *      console.log(this, a, b, c); // ↦ "a", 2, true 
@@ -53,6 +57,7 @@ export {Observer}
  * observer.update({value:true}).then(()=>{});
  * // ↦ {value: true} "a" 2 true
  *
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/observerlist.mjs b/application/source/types/observerlist.mjs
index a0823dbb9..6028e4116 100644
--- a/application/source/types/observerlist.mjs
+++ b/application/source/types/observerlist.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from './base.mjs';
 import {Observer} from "./observer.mjs";
 import {validateInstance} from "./validate.mjs";
@@ -15,12 +19,13 @@ export {ObserverList}
  *
  * ```
  * <script type="module">
- * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/observerlist.mjs';
+ * import {ObserverList} from '@schukai/monster/source/types/observerlist.mjs';
  * console.log(ObserverList())
  * console.log(ObserverList())
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/proxyobserver.mjs b/application/source/types/proxyobserver.mjs
index 170c287d4..7698a8e5f 100644
--- a/application/source/types/proxyobserver.mjs
+++ b/application/source/types/proxyobserver.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from './base.mjs';
 import {isArray, isObject, isPrimitive} from "./is.mjs";
 import {Observer} from "./observer.mjs";
@@ -18,7 +22,7 @@ export {ProxyObserver}
  *
  * ```
  * <script type="module">
- * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/proxyobserver.mjs';
+ * import {ProxyObserver} from '@schukai/monster/source/types/proxyobserver.mjs';
  * new ProxyObserver()
  * </script>
  * ```
@@ -29,9 +33,9 @@ export {ProxyObserver}
  *
  * @example
  *
- * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/proxyobserver.mjs';
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/observer.mjs';
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/is.mjs';
+ * import {ProxyObserver} from '@schukai/monster/source/types/proxyobserver.mjs';
+ * import {Observer} from '@schukai/monster/source/types/observer.mjs';
+ * import {isObject} from '@schukai/monster/source/types/is.mjs';
  *
  * const o = new Observer(function () { 
  *   if (isObject(this) && this instanceof ProxyObserver) {
@@ -55,6 +59,7 @@ export {ProxyObserver}
  * const s = p.getSubject();
  * s.a.b.c = false;
  *
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/queue.mjs b/application/source/types/queue.mjs
index a00b82a4f..665944ae5 100644
--- a/application/source/types/queue.mjs
+++ b/application/source/types/queue.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from './base.mjs';
 
 export {Queue}
@@ -13,14 +17,14 @@ export {Queue}
  *
  * ```
  * <script type="module">
- * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/queue.mjs';
+ * import {Queue} from '@schukai/monster/source/types/queue.mjs';
  * new Queue()
  * </script>
  * ```
  *
  * @example
  *
- * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/queue.mjs';
+ * import {Queue} from '@schukai/monster/source/types/queue.mjs';
  *
  * const queue = new Queue;
  *
@@ -41,6 +45,7 @@ export {Queue}
  * // ↦ undefined
  *
  *
+ * @license AGPLv3
  * @since 1.4.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/randomid.mjs b/application/source/types/randomid.mjs
index cc9974c1b..754531b18 100644
--- a/application/source/types/randomid.mjs
+++ b/application/source/types/randomid.mjs
@@ -2,9 +2,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {random} from "../math/random.mjs";
 import {getGlobal} from "./global.mjs";
 import {ID} from "./id.mjs";
@@ -22,11 +26,12 @@ let internalCounter = 0;
  *
  * ```
  * <script type="module">
- * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/randomid.mjs';
+ * import {RandomID} from '@schukai/monster/source/types/randomid.mjs';
  * console.log(new RandomID())
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.6.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/regex.mjs b/application/source/types/regex.mjs
index e67bb3ba4..d6238ca1f 100644
--- a/application/source/types/regex.mjs
+++ b/application/source/types/regex.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {validateString} from "./validate.mjs";
 
 export {escapeString}
@@ -13,13 +17,14 @@ export {escapeString}
  *
  * ```
  * <script type="module">
- * import {escapeString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/validate.mjs';
+ * import {escapeString} from '@schukai/monster/source/types/validate.mjs';
  * escapeString()
  * </script>
  * ```
  *
  * @param {string} value
  * @return {string}
+ * @license AGPLv3
  * @since 1.26.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/stack.mjs b/application/source/types/stack.mjs
index d6bd7cb58..aee42fca6 100644
--- a/application/source/types/stack.mjs
+++ b/application/source/types/stack.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from './base.mjs';
 
 export {Stack}
@@ -13,11 +17,12 @@ export {Stack}
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/stack.mjs';
+ * import {ID} from '@schukai/monster/source/types/stack.mjs';
  * console.log(new Stack())
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.4.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/tokenlist.mjs b/application/source/types/tokenlist.mjs
index 9f9a6810d..fc463ad94 100644
--- a/application/source/types/tokenlist.mjs
+++ b/application/source/types/tokenlist.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {isIterable, isString} from '../types/is.mjs';
 import {validateFunction, validateString} from '../types/validate.mjs';
 import {Base} from './base.mjs';
@@ -17,7 +21,7 @@ export {TokenList}
  *
  * ```
  * <script type="module">
- * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/tokenlist.mjs';
+ * import {TokenList} from '@schukai/monster/source/types/tokenlist.mjs';
  * new TokenList("myclass row")
  * </script>
  * ```
@@ -29,6 +33,7 @@ export {TokenList}
  * // ↦ "function"
  * ```
  *
+ * @license AGPLv3
  * @since 1.2.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/typeof.mjs b/application/source/types/typeof.mjs
index ba2875955..3dca1dd65 100644
--- a/application/source/types/typeof.mjs
+++ b/application/source/types/typeof.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 export {typeOf}
 
 /**
@@ -11,14 +15,14 @@ export {typeOf}
  *
  * ```
  * <script type="module">
- * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/typeof.mjs';
+ * import {typeOf} from '@schukai/monster/source/types/typeof.mjs';
  * console.log(typeOf())
  * </script>
  * ```
  *
  * @example
  *
- * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/typeof.mjs';
+ * import {typeOf} from '@schukai/monster/source/types/typeof.mjs';
  *
  * console.log(typeOf(undefined)); // ↦ undefined
  * console.log(typeOf("")); // ↦ string
@@ -30,6 +34,7 @@ export {typeOf}
  *
  * @param {*} value
  * @return {string}
+ * @license AGPLv3
  * @since 1.7.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/uniquequeue.mjs b/application/source/types/uniquequeue.mjs
index bcf1b2f3c..8a0e73fc6 100644
--- a/application/source/types/uniquequeue.mjs
+++ b/application/source/types/uniquequeue.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Queue} from "./queue.mjs";
 import {validateObject} from "./validate.mjs";
 
@@ -14,11 +18,12 @@ export {UniqueQueue}
  *
  * ```
  * <script type="module">
- * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/uniquequeue.mjs';
+ * import {UniqueQueue} from '@schukai/monster/source/types/uniquequeue.mjs';
  * new UniqueQueue()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.4.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/uuid.mjs b/application/source/types/uuid.mjs
index 6d99004b4..f58edb662 100644
--- a/application/source/types/uuid.mjs
+++ b/application/source/types/uuid.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../constants.mjs";
 import {random} from "../math/random.mjs";
 import {isObject} from '../types/is.mjs';
@@ -17,11 +21,12 @@ export {UUID}
  * 
  * ```
  * <script type="module">
- * import {Base} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/uuid.mjs';
+ * import {Base} from '@schukai/monster/source/types/uuid.mjs';
  * new UUID()
  * </script>
  * ```
  *
+ * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/validate.mjs b/application/source/types/validate.mjs
index 18a324c8d..4c7c99491 100644
--- a/application/source/types/validate.mjs
+++ b/application/source/types/validate.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {
     isArray,
     isBoolean,
@@ -35,7 +39,7 @@ export {
  *
  * ```
  * <script type="module">
- * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/validate.mjs';
+ * import {validateIterable} from '@schukai/monster/source/types/validate.mjs';
  * console.log(validateIterable('2'))  // ↦ TypeError
  * console.log(validateIterable([]))  // ↦ value
  * </script>
@@ -43,6 +47,7 @@ export {
  *
  * @param {*} value
  * @return {*}
+ * @license AGPLv3
  * @since 1.2.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -63,7 +68,7 @@ function validateIterable(value) {
  *
  * ```
  * <script type="module">
- * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/validate.mjs';
+ * import {validatePrimitive} from '@schukai/monster/source/types/validate.mjs';
  * console.log(validatePrimitive('2'))  // ↦ value
  * console.log(validatePrimitive([]))  // ↦ TypeError
  * </script>
@@ -71,6 +76,7 @@ function validateIterable(value) {
  *
  * @param {*} value
  * @return {*}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -91,7 +97,7 @@ function validatePrimitive(value) {
  *
  * ```
  * <script type="module">
- * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/validate.mjs';
+ * import {validateBoolean} from '@schukai/monster/source/types/validate.mjs';
  * console.log(validateBoolean(false))  // ↦ value
  * console.log(validateBoolean('2'))  // ↦ TypeError
  * console.log(validateBoolean([]))  // ↦ TypeError
@@ -100,6 +106,7 @@ function validatePrimitive(value) {
  *
  * @param {*} value
  * @return {*}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -118,7 +125,7 @@ function validateBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/validate.mjs';
+ * import {validateString} from '@schukai/monster/source/types/validate.mjs';
  * console.log(validateString('2'))  // ↦ value
  * console.log(validateString([]))  // ↦ TypeError
  * </script>
@@ -126,6 +133,7 @@ function validateBoolean(value) {
  *
  * @param {*} value
  * @return {*}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -144,7 +152,7 @@ function validateString(value) {
  *
  * ```
  * <script type="module">
- * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/validate.mjs';
+ * import {validateObject} from '@schukai/monster/source/types/validate.mjs';
  * console.log(validateObject({}))  // ↦ value
  * console.log(validateObject('2'))  // ↦ TypeError
  * console.log(validateObject([]))  // ↦ TypeError
@@ -153,6 +161,7 @@ function validateString(value) {
  *
  * @param {*} value
  * @return {*}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -170,7 +179,7 @@ function validateObject(value) {
  *
  * ```
  * <script type="module">
- * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/validate.mjs';
+ * import {validateInstance} from '@schukai/monster/source/types/validate.mjs';
  * console.log(validateInstance({}, Object)) // ↦ value
  * console.log(validateInstance('2', Object)) // ↦ TypeError
  * console.log(validateInstance([], Object)) // ↦ TypeError
@@ -179,6 +188,7 @@ function validateObject(value) {
  *
  * @param {*} value
  * @return {*}
+ * @license AGPLv3
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -205,7 +215,7 @@ function validateInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/validate.mjs';
+ * import {validateArray} from '@schukai/monster/source/types/validate.mjs';
  * console.log(validateArray('2'))  // ↦ TypeError
  * console.log(validateArray([]))  // ↦ value
  * </script>
@@ -213,6 +223,7 @@ function validateInstance(value, instance) {
  *
  * @param {*} value
  * @return {*}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -230,7 +241,7 @@ function validateArray(value) {
  *
  * ```
  * <script type="module">
- * import {validateSymbol} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/validate.mjs';
+ * import {validateSymbol} from '@schukai/monster/source/types/validate.mjs';
  * console.log(validateSymbol('2'))  // ↦ TypeError
  * console.log(validateSymbol())  // ↦ value
  * </script>
@@ -238,6 +249,7 @@ function validateArray(value) {
  *
  * @param {*} value
  * @return {*}
+ * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -255,7 +267,7 @@ function validateSymbol(value) {
  *
  * ```
  * <script type="module">
- * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/validate.mjs';
+ * import {validateFunction} from '@schukai/monster/source/types/validate.mjs';
  * console.log(validateFunction(()=>{})) // ↦ value
  * console.log(validateFunction('2'))  // ↦ TypeError
  * console.log(validateFunction([]))  // ↦ TypeError
@@ -264,6 +276,7 @@ function validateSymbol(value) {
  *
  * @param {*} value
  * @return {*}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
@@ -281,7 +294,7 @@ function validateFunction(value) {
  *
  * ```
  * <script type="module">
- * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/validate.mjs';
+ * import {validateFunction} from '@schukai/monster/source/types/validate.mjs';
  * console.log(validateInteger(true)) // ↦ TypeError
  * console.log(validateInteger('2'))  // ↦ TypeError
  * console.log(validateInteger(2))  // ↦ value
@@ -290,6 +303,7 @@ function validateFunction(value) {
  *
  * @param {*} value
  * @return {*}
+ * @license AGPLv3
  * @since 1.4.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
diff --git a/application/source/types/version.mjs b/application/source/types/version.mjs
index d1aac5695..f05e6bbdb 100644
--- a/application/source/types/version.mjs
+++ b/application/source/types/version.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from './base.mjs';
 
 export {Version, getMonsterVersion}
@@ -13,7 +17,7 @@ export {Version, getMonsterVersion}
  *
  * ```
  * <script type="module">
- * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/version.mjs';
+ * import {Version} from '@schukai/monster/source/types/version.mjs';
  * console.log(new Version('1.2.3')) // ↦ 1.2.3
  * console.log(new Version('1')) // ↦ 1.0.0
  * </script>
@@ -21,13 +25,14 @@ export {Version, getMonsterVersion}
  *
  * @example
  *
- * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/version.mjs';
+ * import {Version} from '@schukai/monster/source/types/version.mjs';
  *
  * new Version('1.0.0') // ↦ 1.0.0
  * new Version(1)  // ↦ 1.0.0
  * new Version(1, 0, 0) // ↦ 1.0.0
  * new Version('1.2.3', 4, 5) // ↦ 1.4.5
  *
+ * @license AGPLv3
  * @since 1.0.0
  * @author schukai GmbH
  * @copyright schukai GmbH
@@ -141,7 +146,7 @@ let monsterVersion;
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source//monster.mjs';
+ * import {Monster} from '@schukai/monster/source//monster.mjs';
  * console.log(Monster.getVersion())
  * </script>
  * ```
@@ -150,12 +155,13 @@ let monsterVersion;
  *
  * ```
  * <script type="module">
- * import {getMonsterVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/version.mjs';
+ * import {getMonsterVersion} from '@schukai/monster/source/types/version.mjs';
  * console.log(getMonsterVersion())
  * </script>
  * ```
  *
  * @returns {Monster.Types.Version}
+ * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
  * @author schukai GmbH
diff --git a/application/source/util/clone.mjs b/application/source/util/clone.mjs
index ff74f5e3c..57cfaadda 100644
--- a/application/source/util/clone.mjs
+++ b/application/source/util/clone.mjs
@@ -1,10 +1,14 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
 
+
 import {getGlobal} from '../types/global.mjs';
 import {isArray, isFunction, isObject, isPrimitive} from '../types/is.mjs';
 import {typeOf} from "../types/typeof.mjs";
@@ -23,13 +27,14 @@ export {clone}
  *
  * ```
  * <script type="module">
- * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/util/clone.mjs';
+ * import {clone} from '@schukai/monster/source/util/clone.mjs';
  * clone({})
  * </script>
  * ```
  *
  * @param {*} obj object to be cloned
  * @returns {*}
+ * @license AGPLv3
  * @since 1.0.0
  * @memberOf Monster.Util
  * @copyright schukai GmbH
diff --git a/application/source/util/comparator.mjs b/application/source/util/comparator.mjs
index 8375f4ad7..14d37d0bd 100644
--- a/application/source/util/comparator.mjs
+++ b/application/source/util/comparator.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {Base} from '../types/base.mjs';
 import {isFunction} from '../types/is.mjs';
 
@@ -14,7 +18,7 @@ export {Comparator}
  * 
  * ```
  * <script type="module">
- * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/util/comparator.mjs';
+ * import {Comparator} from '@schukai/monster/source/util/comparator.mjs';
  * console.log(new Comparator())
  * </script>
  * ```
@@ -39,7 +43,7 @@ export {Comparator}
  *
  * @example
  *
- * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/util/comparator.mjs';
+ * import {Comparator} from '@schukai/monster/source/util/comparator.mjs';
  *
  * console.log(new Comparator().lessThanOrEqual(2, 5))
  * // ↦ true
@@ -50,6 +54,7 @@ export {Comparator}
  * console.log(new Comparator().equal(4, 5))
  * // ↦ false
  *
+ * @license AGPLv3
  * @since 1.3.0
  * @memberOf Monster.Util
  */
diff --git a/application/source/util/deadmansswitch.mjs b/application/source/util/deadmansswitch.mjs
index 7e57ff1cd..05831ee8d 100644
--- a/application/source/util/deadmansswitch.mjs
+++ b/application/source/util/deadmansswitch.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../constants.mjs";
 
 import {Base} from "../types/base.mjs";
@@ -17,13 +21,13 @@ export {DeadMansSwitch}
  *
  * ```
  * <script type="module">
- * import {DeadMansSwitch} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/util/deadmansswitch.mjs';
+ * import {DeadMansSwitch} from '@schukai/monster/source/util/deadmansswitch.mjs';
  * new DeadMansSwitch();
  * </script>
  * ```
  *
  * @example
- * import {DeadMansSwitch} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/util/deadmansswitch.mjs';
+ * import {DeadMansSwitch} from '@schukai/monster/source/util/deadmansswitch.mjs';
  *
  * const deadmansswitch = new DeadMansSwitch(100, ()=>{
  *   console.log('yeah!')
@@ -34,6 +38,7 @@ export {DeadMansSwitch}
  * deadmansswitch.touch(200); // from here wait 200 ms
  *
  * @copyright schukai GmbH
+ * @license AGPLv3
  * @since 1.29.0
  * @memberOf Monster.Util
  * @summary Class to be able to execute function chains
diff --git a/application/source/util/freeze.mjs b/application/source/util/freeze.mjs
index 519dd0b48..eb4bec5e0 100644
--- a/application/source/util/freeze.mjs
+++ b/application/source/util/freeze.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {validateObject} from '../types/validate.mjs';
 
 export {deepFreeze}
@@ -13,12 +17,13 @@ export {deepFreeze}
  *
  * ```
  * <script type="module">
- * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/util/freeze.mjs';
+ * import {deepFreeze} from '@schukai/monster/source/util/freeze.mjs';
  * deepFreeze({})
  * </script>
  * ```
  *
  * @param {object} object object to be freeze
+ * @license AGPLv3
  * @since 1.0.0
  * @returns {object}
  * @memberOf Monster.Util
diff --git a/application/source/util/processing.mjs b/application/source/util/processing.mjs
index 2f4f45d76..6f9d9633e 100644
--- a/application/source/util/processing.mjs
+++ b/application/source/util/processing.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {internalSymbol} from "../constants.mjs";
 import {Base} from "../types/base.mjs";
 import {getGlobalFunction} from "../types/global.mjs";
@@ -74,13 +78,13 @@ class Callback {
  *
  * ```
  * <script type="module">
- * import {Processing} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/util/processing.mjs';
+ * import {Processing} from '@schukai/monster/source/util/processing.mjs';
  * new Processing();
  * </script>
  * ```
  *
  * @example
- * import {Processing} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/util/processing.mjs';
+ * import {Processing} from '@schukai/monster/source/util/processing.mjs';
  *
  * let startTime = +new Date();
  *
@@ -99,6 +103,7 @@ class Callback {
  * })
  *
  * @copyright schukai GmbH
+ * @license AGPLv3
  * @since 1.21.0
  * @memberOf Monster.Util
  * @summary Class to be able to execute function chains
diff --git a/application/source/util/trimspaces.mjs b/application/source/util/trimspaces.mjs
index 7d30e0e49..8ae763235 100644
--- a/application/source/util/trimspaces.mjs
+++ b/application/source/util/trimspaces.mjs
@@ -1,9 +1,13 @@
 
 
 /**
- * @author schukai GmbH
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
+ * Node module: @schukai/monster
+ * This file is licensed under the AGPLv3 License.
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
+
 import {ID} from "../types/id.mjs";
 import {isObject} from "../types/is.mjs";
 import {validateString} from "../types/validate.mjs";
@@ -15,7 +19,7 @@ export {trimSpaces}
  *
  * ```
  * <script type="module">
- * import {trimSpaces} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/util/trimspaces.mjs';
+ * import {trimSpaces} from '@schukai/monster/source/util/trimspaces.mjs';
  * trimSpaces(' hello \\ ')
  * </script>
  * ```
@@ -27,6 +31,7 @@ export {trimSpaces}
  * a\\ b ↦ a\ b
  * ```
  * 
+ * @license AGPLv3
  * @since 1.24.0
  * @memberOf Monster.Util
  * @copyright schukai GmbH
-- 
GitLab