qms-angular 1.0.36 → 1.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/qms-angular.umd.js +7101 -221
- package/bundles/qms-angular.umd.js.map +1 -1
- package/esm2015/lib/components/breadcrumb/breadcrumb.js +29 -6
- package/esm2015/lib/components/qms-app-bar/qms-app-bar.component.js +2 -2
- package/esm2015/lib/components/related/popup/related-popup.component.js +2 -2
- package/esm2015/lib/model/en.js +144 -1
- package/esm2015/lib/model/no.js +148 -5
- package/esm2015/lib/qms-ckeditor-components/common/bpmn/inspector.function.js +2147 -0
- package/esm2015/lib/qms-ckeditor-components/common/bpmn/toolbar.function.js +200 -0
- package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.js +6 -1
- package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.js +36 -0
- package/esm2015/lib/qms-ckeditor-components/common/constants/iconSvg.constants.js +8 -0
- package/esm2015/lib/qms-ckeditor-components/common/enums/flowchart-view-mode.enum.js +6 -0
- package/esm2015/lib/qms-ckeditor-components/common/enums/image-mode.enum.js +9 -0
- package/esm2015/lib/qms-ckeditor-components/common/enums/protocol-type.enum.js +11 -3
- package/esm2015/lib/qms-ckeditor-components/common/enums/related-to-item-type.js +11 -0
- package/esm2015/lib/qms-ckeditor-components/common/enums/target-type.enum.js +8 -1
- package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +6 -2
- package/esm2015/lib/qms-ckeditor-components/common/helper/guidHelper.js +14 -0
- package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn-template.model.js +9 -0
- package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn.model.js +9 -0
- package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.js +1 -9
- package/esm2015/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.js +3 -3
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +266 -0
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.js +67 -0
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +524 -0
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.lib.js +1948 -0
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.validator.js +7 -0
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +5 -5
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.js +22 -0
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +68 -5
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +16 -2
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn-api.service.js +26 -0
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.js +1156 -0
- package/esm2015/public-api.js +14 -1
- package/esm2015/qms-angular.js +3 -1
- package/fesm2015/qms-angular.js +7017 -226
- package/fesm2015/qms-angular.js.map +1 -1
- package/lib/components/breadcrumb/breadcrumb.d.ts +6 -3
- package/lib/model/en.d.ts +143 -0
- package/lib/model/no.d.ts +143 -0
- package/lib/qms-ckeditor-components/common/bpmn/inspector.function.d.ts +1825 -0
- package/lib/qms-ckeditor-components/common/bpmn/toolbar.function.d.ts +163 -0
- package/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.d.ts +5 -0
- package/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.d.ts +34 -0
- package/lib/qms-ckeditor-components/common/constants/iconSvg.constants.d.ts +7 -0
- package/lib/qms-ckeditor-components/common/enums/flowchart-view-mode.enum.d.ts +4 -0
- package/lib/qms-ckeditor-components/common/enums/image-mode.enum.d.ts +7 -0
- package/lib/qms-ckeditor-components/common/enums/protocol-type.enum.d.ts +9 -2
- package/lib/qms-ckeditor-components/common/enums/related-to-item-type.d.ts +9 -0
- package/lib/qms-ckeditor-components/common/enums/target-type.enum.d.ts +6 -0
- package/lib/qms-ckeditor-components/common/helper/guidHelper.d.ts +6 -0
- package/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn-template.model.d.ts +7 -0
- package/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn.model.d.ts +7 -0
- package/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.d.ts +1 -0
- package/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.d.ts +7 -7
- package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.d.ts +37 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.d.ts +23 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.d.ts +123 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.lib.d.ts +542 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.validator.d.ts +2 -0
- package/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.d.ts +20 -0
- package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +7 -2
- package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn-api.service.d.ts +10 -0
- package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.d.ts +33 -0
- package/lib.theme.scss +4 -1
- package/package.json +1 -1
- package/public-api.d.ts +12 -0
- package/qms-angular.d.ts +2 -0
- package/qms-angular.metadata.json +1 -1
- package/src/assets/images/panel-stencil-container-background-image.png +0 -0
- package/src/assets/jointjs/js/backbone/backbone.js +2096 -0
- package/src/assets/jointjs/js/client.js +17 -0
- package/src/assets/jointjs/js/example.js +42 -0
- package/src/assets/jointjs/js/gd.js +135 -0
- package/src/assets/jointjs/js/joint.format.raster.js +386 -0
- package/src/assets/jointjs/js/joint.format.svg.js +252 -0
- package/src/assets/jointjs/js/jquery/jquery.js +10872 -0
- package/src/assets/jointjs/js/lodash/LICENSE +47 -0
- package/src/assets/jointjs/js/lodash/README.md +39 -0
- package/src/assets/jointjs/js/lodash/_DataView.js +7 -0
- package/src/assets/jointjs/js/lodash/_Hash.js +32 -0
- package/src/assets/jointjs/js/lodash/_LazyWrapper.js +28 -0
- package/src/assets/jointjs/js/lodash/_ListCache.js +32 -0
- package/src/assets/jointjs/js/lodash/_LodashWrapper.js +22 -0
- package/src/assets/jointjs/js/lodash/_Map.js +7 -0
- package/src/assets/jointjs/js/lodash/_MapCache.js +32 -0
- package/src/assets/jointjs/js/lodash/_Promise.js +7 -0
- package/src/assets/jointjs/js/lodash/_Set.js +7 -0
- package/src/assets/jointjs/js/lodash/_SetCache.js +27 -0
- package/src/assets/jointjs/js/lodash/_Stack.js +27 -0
- package/src/assets/jointjs/js/lodash/_Symbol.js +6 -0
- package/src/assets/jointjs/js/lodash/_Uint8Array.js +6 -0
- package/src/assets/jointjs/js/lodash/_WeakMap.js +7 -0
- package/src/assets/jointjs/js/lodash/_apply.js +21 -0
- package/src/assets/jointjs/js/lodash/_arrayAggregator.js +22 -0
- package/src/assets/jointjs/js/lodash/_arrayEach.js +22 -0
- package/src/assets/jointjs/js/lodash/_arrayEachRight.js +21 -0
- package/src/assets/jointjs/js/lodash/_arrayEvery.js +23 -0
- package/src/assets/jointjs/js/lodash/_arrayFilter.js +25 -0
- package/src/assets/jointjs/js/lodash/_arrayIncludes.js +17 -0
- package/src/assets/jointjs/js/lodash/_arrayIncludesWith.js +22 -0
- package/src/assets/jointjs/js/lodash/_arrayLikeKeys.js +49 -0
- package/src/assets/jointjs/js/lodash/_arrayMap.js +21 -0
- package/src/assets/jointjs/js/lodash/_arrayPush.js +20 -0
- package/src/assets/jointjs/js/lodash/_arrayReduce.js +26 -0
- package/src/assets/jointjs/js/lodash/_arrayReduceRight.js +24 -0
- package/src/assets/jointjs/js/lodash/_arraySample.js +15 -0
- package/src/assets/jointjs/js/lodash/_arraySampleSize.js +17 -0
- package/src/assets/jointjs/js/lodash/_arrayShuffle.js +15 -0
- package/src/assets/jointjs/js/lodash/_arraySome.js +23 -0
- package/src/assets/jointjs/js/lodash/_asciiSize.js +12 -0
- package/src/assets/jointjs/js/lodash/_asciiToArray.js +12 -0
- package/src/assets/jointjs/js/lodash/_asciiWords.js +15 -0
- package/src/assets/jointjs/js/lodash/_assignMergeValue.js +20 -0
- package/src/assets/jointjs/js/lodash/_assignValue.js +28 -0
- package/src/assets/jointjs/js/lodash/_assocIndexOf.js +21 -0
- package/src/assets/jointjs/js/lodash/_baseAggregator.js +21 -0
- package/src/assets/jointjs/js/lodash/_baseAssign.js +17 -0
- package/src/assets/jointjs/js/lodash/_baseAssignIn.js +17 -0
- package/src/assets/jointjs/js/lodash/_baseAssignValue.js +25 -0
- package/src/assets/jointjs/js/lodash/_baseAt.js +23 -0
- package/src/assets/jointjs/js/lodash/_baseClamp.js +22 -0
- package/src/assets/jointjs/js/lodash/_baseClone.js +165 -0
- package/src/assets/jointjs/js/lodash/_baseConforms.js +18 -0
- package/src/assets/jointjs/js/lodash/_baseConformsTo.js +27 -0
- package/src/assets/jointjs/js/lodash/_baseCreate.js +30 -0
- package/src/assets/jointjs/js/lodash/_baseDelay.js +21 -0
- package/src/assets/jointjs/js/lodash/_baseDifference.js +67 -0
- package/src/assets/jointjs/js/lodash/_baseEach.js +14 -0
- package/src/assets/jointjs/js/lodash/_baseEachRight.js +14 -0
- package/src/assets/jointjs/js/lodash/_baseEvery.js +21 -0
- package/src/assets/jointjs/js/lodash/_baseExtremum.js +32 -0
- package/src/assets/jointjs/js/lodash/_baseFill.js +32 -0
- package/src/assets/jointjs/js/lodash/_baseFilter.js +21 -0
- package/src/assets/jointjs/js/lodash/_baseFindIndex.js +24 -0
- package/src/assets/jointjs/js/lodash/_baseFindKey.js +23 -0
- package/src/assets/jointjs/js/lodash/_baseFlatten.js +38 -0
- package/src/assets/jointjs/js/lodash/_baseFor.js +16 -0
- package/src/assets/jointjs/js/lodash/_baseForOwn.js +16 -0
- package/src/assets/jointjs/js/lodash/_baseForOwnRight.js +16 -0
- package/src/assets/jointjs/js/lodash/_baseForRight.js +15 -0
- package/src/assets/jointjs/js/lodash/_baseFunctions.js +19 -0
- package/src/assets/jointjs/js/lodash/_baseGet.js +24 -0
- package/src/assets/jointjs/js/lodash/_baseGetAllKeys.js +20 -0
- package/src/assets/jointjs/js/lodash/_baseGetTag.js +28 -0
- package/src/assets/jointjs/js/lodash/_baseGt.js +14 -0
- package/src/assets/jointjs/js/lodash/_baseHas.js +19 -0
- package/src/assets/jointjs/js/lodash/_baseHasIn.js +13 -0
- package/src/assets/jointjs/js/lodash/_baseInRange.js +18 -0
- package/src/assets/jointjs/js/lodash/_baseIndexOf.js +20 -0
- package/src/assets/jointjs/js/lodash/_baseIndexOfWith.js +23 -0
- package/src/assets/jointjs/js/lodash/_baseIntersection.js +74 -0
- package/src/assets/jointjs/js/lodash/_baseInverter.js +21 -0
- package/src/assets/jointjs/js/lodash/_baseInvoke.js +24 -0
- package/src/assets/jointjs/js/lodash/_baseIsArguments.js +18 -0
- package/src/assets/jointjs/js/lodash/_baseIsArrayBuffer.js +17 -0
- package/src/assets/jointjs/js/lodash/_baseIsDate.js +18 -0
- package/src/assets/jointjs/js/lodash/_baseIsEqual.js +28 -0
- package/src/assets/jointjs/js/lodash/_baseIsEqualDeep.js +83 -0
- package/src/assets/jointjs/js/lodash/_baseIsMap.js +18 -0
- package/src/assets/jointjs/js/lodash/_baseIsMatch.js +62 -0
- package/src/assets/jointjs/js/lodash/_baseIsNaN.js +12 -0
- package/src/assets/jointjs/js/lodash/_baseIsNative.js +47 -0
- package/src/assets/jointjs/js/lodash/_baseIsRegExp.js +18 -0
- package/src/assets/jointjs/js/lodash/_baseIsSet.js +18 -0
- package/src/assets/jointjs/js/lodash/_baseIsTypedArray.js +60 -0
- package/src/assets/jointjs/js/lodash/_baseIteratee.js +31 -0
- package/src/assets/jointjs/js/lodash/_baseKeys.js +30 -0
- package/src/assets/jointjs/js/lodash/_baseKeysIn.js +33 -0
- package/src/assets/jointjs/js/lodash/_baseLodash.js +10 -0
- package/src/assets/jointjs/js/lodash/_baseLt.js +14 -0
- package/src/assets/jointjs/js/lodash/_baseMap.js +22 -0
- package/src/assets/jointjs/js/lodash/_baseMatches.js +22 -0
- package/src/assets/jointjs/js/lodash/_baseMatchesProperty.js +33 -0
- package/src/assets/jointjs/js/lodash/_baseMean.js +20 -0
- package/src/assets/jointjs/js/lodash/_baseMerge.js +42 -0
- package/src/assets/jointjs/js/lodash/_baseMergeDeep.js +94 -0
- package/src/assets/jointjs/js/lodash/_baseNth.js +20 -0
- package/src/assets/jointjs/js/lodash/_baseOrderBy.js +34 -0
- package/src/assets/jointjs/js/lodash/_basePick.js +19 -0
- package/src/assets/jointjs/js/lodash/_basePickBy.js +30 -0
- package/src/assets/jointjs/js/lodash/_baseProperty.js +14 -0
- package/src/assets/jointjs/js/lodash/_basePropertyDeep.js +16 -0
- package/src/assets/jointjs/js/lodash/_basePropertyOf.js +14 -0
- package/src/assets/jointjs/js/lodash/_basePullAll.js +51 -0
- package/src/assets/jointjs/js/lodash/_basePullAt.js +37 -0
- package/src/assets/jointjs/js/lodash/_baseRandom.js +18 -0
- package/src/assets/jointjs/js/lodash/_baseRange.js +28 -0
- package/src/assets/jointjs/js/lodash/_baseReduce.js +23 -0
- package/src/assets/jointjs/js/lodash/_baseRepeat.js +35 -0
- package/src/assets/jointjs/js/lodash/_baseRest.js +17 -0
- package/src/assets/jointjs/js/lodash/_baseSample.js +15 -0
- package/src/assets/jointjs/js/lodash/_baseSampleSize.js +18 -0
- package/src/assets/jointjs/js/lodash/_baseSet.js +47 -0
- package/src/assets/jointjs/js/lodash/_baseSetData.js +17 -0
- package/src/assets/jointjs/js/lodash/_baseSetToString.js +22 -0
- package/src/assets/jointjs/js/lodash/_baseShuffle.js +15 -0
- package/src/assets/jointjs/js/lodash/_baseSlice.js +31 -0
- package/src/assets/jointjs/js/lodash/_baseSome.js +22 -0
- package/src/assets/jointjs/js/lodash/_baseSortBy.js +21 -0
- package/src/assets/jointjs/js/lodash/_baseSortedIndex.js +42 -0
- package/src/assets/jointjs/js/lodash/_baseSortedIndexBy.js +64 -0
- package/src/assets/jointjs/js/lodash/_baseSortedUniq.js +30 -0
- package/src/assets/jointjs/js/lodash/_baseSum.js +24 -0
- package/src/assets/jointjs/js/lodash/_baseTimes.js +20 -0
- package/src/assets/jointjs/js/lodash/_baseToNumber.js +24 -0
- package/src/assets/jointjs/js/lodash/_baseToPairs.js +18 -0
- package/src/assets/jointjs/js/lodash/_baseToString.js +37 -0
- package/src/assets/jointjs/js/lodash/_baseUnary.js +14 -0
- package/src/assets/jointjs/js/lodash/_baseUniq.js +72 -0
- package/src/assets/jointjs/js/lodash/_baseUnset.js +20 -0
- package/src/assets/jointjs/js/lodash/_baseUpdate.js +18 -0
- package/src/assets/jointjs/js/lodash/_baseValues.js +19 -0
- package/src/assets/jointjs/js/lodash/_baseWhile.js +26 -0
- package/src/assets/jointjs/js/lodash/_baseWrapperValue.js +25 -0
- package/src/assets/jointjs/js/lodash/_baseXor.js +36 -0
- package/src/assets/jointjs/js/lodash/_baseZipObject.js +23 -0
- package/src/assets/jointjs/js/lodash/_cacheHas.js +13 -0
- package/src/assets/jointjs/js/lodash/_castArrayLikeObject.js +14 -0
- package/src/assets/jointjs/js/lodash/_castFunction.js +14 -0
- package/src/assets/jointjs/js/lodash/_castPath.js +21 -0
- package/src/assets/jointjs/js/lodash/_castRest.js +14 -0
- package/src/assets/jointjs/js/lodash/_castSlice.js +18 -0
- package/src/assets/jointjs/js/lodash/_charsEndIndex.js +19 -0
- package/src/assets/jointjs/js/lodash/_charsStartIndex.js +20 -0
- package/src/assets/jointjs/js/lodash/_cloneArrayBuffer.js +16 -0
- package/src/assets/jointjs/js/lodash/_cloneBuffer.js +35 -0
- package/src/assets/jointjs/js/lodash/_cloneDataView.js +16 -0
- package/src/assets/jointjs/js/lodash/_cloneRegExp.js +17 -0
- package/src/assets/jointjs/js/lodash/_cloneSymbol.js +18 -0
- package/src/assets/jointjs/js/lodash/_cloneTypedArray.js +16 -0
- package/src/assets/jointjs/js/lodash/_compareAscending.js +41 -0
- package/src/assets/jointjs/js/lodash/_compareMultiple.js +44 -0
- package/src/assets/jointjs/js/lodash/_composeArgs.js +39 -0
- package/src/assets/jointjs/js/lodash/_composeArgsRight.js +41 -0
- package/src/assets/jointjs/js/lodash/_copyArray.js +20 -0
- package/src/assets/jointjs/js/lodash/_copyObject.js +40 -0
- package/src/assets/jointjs/js/lodash/_copySymbols.js +16 -0
- package/src/assets/jointjs/js/lodash/_copySymbolsIn.js +16 -0
- package/src/assets/jointjs/js/lodash/_coreJsData.js +6 -0
- package/src/assets/jointjs/js/lodash/_countHolders.js +21 -0
- package/src/assets/jointjs/js/lodash/_createAggregator.js +23 -0
- package/src/assets/jointjs/js/lodash/_createAssigner.js +37 -0
- package/src/assets/jointjs/js/lodash/_createBaseEach.js +32 -0
- package/src/assets/jointjs/js/lodash/_createBaseFor.js +25 -0
- package/src/assets/jointjs/js/lodash/_createBind.js +28 -0
- package/src/assets/jointjs/js/lodash/_createCaseFirst.js +33 -0
- package/src/assets/jointjs/js/lodash/_createCompounder.js +24 -0
- package/src/assets/jointjs/js/lodash/_createCtor.js +37 -0
- package/src/assets/jointjs/js/lodash/_createCurry.js +46 -0
- package/src/assets/jointjs/js/lodash/_createFind.js +25 -0
- package/src/assets/jointjs/js/lodash/_createFlow.js +78 -0
- package/src/assets/jointjs/js/lodash/_createHybrid.js +92 -0
- package/src/assets/jointjs/js/lodash/_createInverter.js +17 -0
- package/src/assets/jointjs/js/lodash/_createMathOperation.js +38 -0
- package/src/assets/jointjs/js/lodash/_createOver.js +27 -0
- package/src/assets/jointjs/js/lodash/_createPadding.js +33 -0
- package/src/assets/jointjs/js/lodash/_createPartial.js +43 -0
- package/src/assets/jointjs/js/lodash/_createRange.js +30 -0
- package/src/assets/jointjs/js/lodash/_createRecurry.js +56 -0
- package/src/assets/jointjs/js/lodash/_createRelationalOperation.js +20 -0
- package/src/assets/jointjs/js/lodash/_createRound.js +35 -0
- package/src/assets/jointjs/js/lodash/_createSet.js +19 -0
- package/src/assets/jointjs/js/lodash/_createToPairs.js +30 -0
- package/src/assets/jointjs/js/lodash/_createWrap.js +106 -0
- package/src/assets/jointjs/js/lodash/_customDefaultsAssignIn.js +29 -0
- package/src/assets/jointjs/js/lodash/_customDefaultsMerge.js +28 -0
- package/src/assets/jointjs/js/lodash/_customOmitClone.js +16 -0
- package/src/assets/jointjs/js/lodash/_deburrLetter.js +71 -0
- package/src/assets/jointjs/js/lodash/_defineProperty.js +11 -0
- package/src/assets/jointjs/js/lodash/_equalArrays.js +83 -0
- package/src/assets/jointjs/js/lodash/_equalByTag.js +112 -0
- package/src/assets/jointjs/js/lodash/_equalObjects.js +89 -0
- package/src/assets/jointjs/js/lodash/_escapeHtmlChar.js +21 -0
- package/src/assets/jointjs/js/lodash/_escapeStringChar.js +22 -0
- package/src/assets/jointjs/js/lodash/_flatRest.js +16 -0
- package/src/assets/jointjs/js/lodash/_freeGlobal.js +4 -0
- package/src/assets/jointjs/js/lodash/_getAllKeys.js +16 -0
- package/src/assets/jointjs/js/lodash/_getAllKeysIn.js +17 -0
- package/src/assets/jointjs/js/lodash/_getData.js +15 -0
- package/src/assets/jointjs/js/lodash/_getFuncName.js +31 -0
- package/src/assets/jointjs/js/lodash/_getHolder.js +13 -0
- package/src/assets/jointjs/js/lodash/_getMapData.js +18 -0
- package/src/assets/jointjs/js/lodash/_getMatchData.js +24 -0
- package/src/assets/jointjs/js/lodash/_getNative.js +17 -0
- package/src/assets/jointjs/js/lodash/_getPrototype.js +6 -0
- package/src/assets/jointjs/js/lodash/_getRawTag.js +46 -0
- package/src/assets/jointjs/js/lodash/_getSymbols.js +30 -0
- package/src/assets/jointjs/js/lodash/_getSymbolsIn.js +25 -0
- package/src/assets/jointjs/js/lodash/_getTag.js +58 -0
- package/src/assets/jointjs/js/lodash/_getValue.js +13 -0
- package/src/assets/jointjs/js/lodash/_getView.js +33 -0
- package/src/assets/jointjs/js/lodash/_getWrapDetails.js +17 -0
- package/src/assets/jointjs/js/lodash/_hasPath.js +39 -0
- package/src/assets/jointjs/js/lodash/_hasUnicode.js +26 -0
- package/src/assets/jointjs/js/lodash/_hasUnicodeWord.js +15 -0
- package/src/assets/jointjs/js/lodash/_hashClear.js +15 -0
- package/src/assets/jointjs/js/lodash/_hashDelete.js +17 -0
- package/src/assets/jointjs/js/lodash/_hashGet.js +30 -0
- package/src/assets/jointjs/js/lodash/_hashHas.js +23 -0
- package/src/assets/jointjs/js/lodash/_hashSet.js +23 -0
- package/src/assets/jointjs/js/lodash/_initCloneArray.js +26 -0
- package/src/assets/jointjs/js/lodash/_initCloneByTag.js +77 -0
- package/src/assets/jointjs/js/lodash/_initCloneObject.js +18 -0
- package/src/assets/jointjs/js/lodash/_insertWrapDetails.js +23 -0
- package/src/assets/jointjs/js/lodash/_isFlattenable.js +20 -0
- package/src/assets/jointjs/js/lodash/_isIndex.js +25 -0
- package/src/assets/jointjs/js/lodash/_isIterateeCall.js +30 -0
- package/src/assets/jointjs/js/lodash/_isKey.js +29 -0
- package/src/assets/jointjs/js/lodash/_isKeyable.js +15 -0
- package/src/assets/jointjs/js/lodash/_isLaziable.js +28 -0
- package/src/assets/jointjs/js/lodash/_isMaskable.js +14 -0
- package/src/assets/jointjs/js/lodash/_isMasked.js +20 -0
- package/src/assets/jointjs/js/lodash/_isPrototype.js +18 -0
- package/src/assets/jointjs/js/lodash/_isStrictComparable.js +15 -0
- package/src/assets/jointjs/js/lodash/_iteratorToArray.js +18 -0
- package/src/assets/jointjs/js/lodash/_lazyClone.js +23 -0
- package/src/assets/jointjs/js/lodash/_lazyReverse.js +23 -0
- package/src/assets/jointjs/js/lodash/_lazyValue.js +69 -0
- package/src/assets/jointjs/js/lodash/_listCacheClear.js +13 -0
- package/src/assets/jointjs/js/lodash/_listCacheDelete.js +35 -0
- package/src/assets/jointjs/js/lodash/_listCacheGet.js +19 -0
- package/src/assets/jointjs/js/lodash/_listCacheHas.js +16 -0
- package/src/assets/jointjs/js/lodash/_listCacheSet.js +26 -0
- package/src/assets/jointjs/js/lodash/_mapCacheClear.js +21 -0
- package/src/assets/jointjs/js/lodash/_mapCacheDelete.js +18 -0
- package/src/assets/jointjs/js/lodash/_mapCacheGet.js +16 -0
- package/src/assets/jointjs/js/lodash/_mapCacheHas.js +16 -0
- package/src/assets/jointjs/js/lodash/_mapCacheSet.js +22 -0
- package/src/assets/jointjs/js/lodash/_mapToArray.js +18 -0
- package/src/assets/jointjs/js/lodash/_matchesStrictComparable.js +20 -0
- package/src/assets/jointjs/js/lodash/_memoizeCapped.js +26 -0
- package/src/assets/jointjs/js/lodash/_mergeData.js +90 -0
- package/src/assets/jointjs/js/lodash/_metaMap.js +6 -0
- package/src/assets/jointjs/js/lodash/_nativeCreate.js +6 -0
- package/src/assets/jointjs/js/lodash/_nativeKeys.js +6 -0
- package/src/assets/jointjs/js/lodash/_nativeKeysIn.js +20 -0
- package/src/assets/jointjs/js/lodash/_nodeUtil.js +30 -0
- package/src/assets/jointjs/js/lodash/_objectToString.js +22 -0
- package/src/assets/jointjs/js/lodash/_overArg.js +15 -0
- package/src/assets/jointjs/js/lodash/_overRest.js +36 -0
- package/src/assets/jointjs/js/lodash/_parent.js +16 -0
- package/src/assets/jointjs/js/lodash/_reEscape.js +4 -0
- package/src/assets/jointjs/js/lodash/_reEvaluate.js +4 -0
- package/src/assets/jointjs/js/lodash/_reInterpolate.js +4 -0
- package/src/assets/jointjs/js/lodash/_realNames.js +4 -0
- package/src/assets/jointjs/js/lodash/_reorder.js +29 -0
- package/src/assets/jointjs/js/lodash/_replaceHolders.js +29 -0
- package/src/assets/jointjs/js/lodash/_root.js +9 -0
- package/src/assets/jointjs/js/lodash/_safeGet.js +21 -0
- package/src/assets/jointjs/js/lodash/_setCacheAdd.js +19 -0
- package/src/assets/jointjs/js/lodash/_setCacheHas.js +14 -0
- package/src/assets/jointjs/js/lodash/_setData.js +20 -0
- package/src/assets/jointjs/js/lodash/_setToArray.js +18 -0
- package/src/assets/jointjs/js/lodash/_setToPairs.js +18 -0
- package/src/assets/jointjs/js/lodash/_setToString.js +14 -0
- package/src/assets/jointjs/js/lodash/_setWrapToString.js +21 -0
- package/src/assets/jointjs/js/lodash/_shortOut.js +37 -0
- package/src/assets/jointjs/js/lodash/_shuffleSelf.js +28 -0
- package/src/assets/jointjs/js/lodash/_stackClear.js +15 -0
- package/src/assets/jointjs/js/lodash/_stackDelete.js +18 -0
- package/src/assets/jointjs/js/lodash/_stackGet.js +14 -0
- package/src/assets/jointjs/js/lodash/_stackHas.js +14 -0
- package/src/assets/jointjs/js/lodash/_stackSet.js +34 -0
- package/src/assets/jointjs/js/lodash/_strictIndexOf.js +23 -0
- package/src/assets/jointjs/js/lodash/_strictLastIndexOf.js +21 -0
- package/src/assets/jointjs/js/lodash/_stringSize.js +18 -0
- package/src/assets/jointjs/js/lodash/_stringToArray.js +18 -0
- package/src/assets/jointjs/js/lodash/_stringToPath.js +27 -0
- package/src/assets/jointjs/js/lodash/_toKey.js +21 -0
- package/src/assets/jointjs/js/lodash/_toSource.js +26 -0
- package/src/assets/jointjs/js/lodash/_unescapeHtmlChar.js +21 -0
- package/src/assets/jointjs/js/lodash/_unicodeSize.js +44 -0
- package/src/assets/jointjs/js/lodash/_unicodeToArray.js +40 -0
- package/src/assets/jointjs/js/lodash/_unicodeWords.js +69 -0
- package/src/assets/jointjs/js/lodash/_updateWrapDetails.js +46 -0
- package/src/assets/jointjs/js/lodash/_wrapperClone.js +23 -0
- package/src/assets/jointjs/js/lodash/add.js +22 -0
- package/src/assets/jointjs/js/lodash/after.js +42 -0
- package/src/assets/jointjs/js/lodash/array.js +67 -0
- package/src/assets/jointjs/js/lodash/ary.js +29 -0
- package/src/assets/jointjs/js/lodash/assign.js +58 -0
- package/src/assets/jointjs/js/lodash/assignIn.js +40 -0
- package/src/assets/jointjs/js/lodash/assignInWith.js +38 -0
- package/src/assets/jointjs/js/lodash/assignWith.js +37 -0
- package/src/assets/jointjs/js/lodash/at.js +23 -0
- package/src/assets/jointjs/js/lodash/attempt.js +35 -0
- package/src/assets/jointjs/js/lodash/before.js +40 -0
- package/src/assets/jointjs/js/lodash/bind.js +57 -0
- package/src/assets/jointjs/js/lodash/bindAll.js +41 -0
- package/src/assets/jointjs/js/lodash/bindKey.js +68 -0
- package/src/assets/jointjs/js/lodash/camelCase.js +29 -0
- package/src/assets/jointjs/js/lodash/capitalize.js +23 -0
- package/src/assets/jointjs/js/lodash/castArray.js +44 -0
- package/src/assets/jointjs/js/lodash/ceil.js +26 -0
- package/src/assets/jointjs/js/lodash/chain.js +38 -0
- package/src/assets/jointjs/js/lodash/chunk.js +50 -0
- package/src/assets/jointjs/js/lodash/clamp.js +39 -0
- package/src/assets/jointjs/js/lodash/clone.js +36 -0
- package/src/assets/jointjs/js/lodash/cloneDeep.js +29 -0
- package/src/assets/jointjs/js/lodash/cloneDeepWith.js +40 -0
- package/src/assets/jointjs/js/lodash/cloneWith.js +42 -0
- package/src/assets/jointjs/js/lodash/collection.js +30 -0
- package/src/assets/jointjs/js/lodash/commit.js +33 -0
- package/src/assets/jointjs/js/lodash/compact.js +31 -0
- package/src/assets/jointjs/js/lodash/concat.js +43 -0
- package/src/assets/jointjs/js/lodash/cond.js +60 -0
- package/src/assets/jointjs/js/lodash/conforms.js +35 -0
- package/src/assets/jointjs/js/lodash/conformsTo.js +32 -0
- package/src/assets/jointjs/js/lodash/constant.js +26 -0
- package/src/assets/jointjs/js/lodash/core.js +3854 -0
- package/src/assets/jointjs/js/lodash/core.min.js +29 -0
- package/src/assets/jointjs/js/lodash/countBy.js +40 -0
- package/src/assets/jointjs/js/lodash/create.js +43 -0
- package/src/assets/jointjs/js/lodash/curry.js +57 -0
- package/src/assets/jointjs/js/lodash/curryRight.js +54 -0
- package/src/assets/jointjs/js/lodash/date.js +3 -0
- package/src/assets/jointjs/js/lodash/debounce.js +191 -0
- package/src/assets/jointjs/js/lodash/deburr.js +45 -0
- package/src/assets/jointjs/js/lodash/defaultTo.js +25 -0
- package/src/assets/jointjs/js/lodash/defaults.js +64 -0
- package/src/assets/jointjs/js/lodash/defaultsDeep.js +30 -0
- package/src/assets/jointjs/js/lodash/defer.js +26 -0
- package/src/assets/jointjs/js/lodash/delay.js +28 -0
- package/src/assets/jointjs/js/lodash/difference.js +33 -0
- package/src/assets/jointjs/js/lodash/differenceBy.js +44 -0
- package/src/assets/jointjs/js/lodash/differenceWith.js +40 -0
- package/src/assets/jointjs/js/lodash/divide.js +22 -0
- package/src/assets/jointjs/js/lodash/drop.js +38 -0
- package/src/assets/jointjs/js/lodash/dropRight.js +39 -0
- package/src/assets/jointjs/js/lodash/dropRightWhile.js +45 -0
- package/src/assets/jointjs/js/lodash/dropWhile.js +45 -0
- package/src/assets/jointjs/js/lodash/each.js +1 -0
- package/src/assets/jointjs/js/lodash/eachRight.js +1 -0
- package/src/assets/jointjs/js/lodash/endsWith.js +43 -0
- package/src/assets/jointjs/js/lodash/entries.js +1 -0
- package/src/assets/jointjs/js/lodash/entriesIn.js +1 -0
- package/src/assets/jointjs/js/lodash/eq.js +37 -0
- package/src/assets/jointjs/js/lodash/escape.js +43 -0
- package/src/assets/jointjs/js/lodash/escapeRegExp.js +32 -0
- package/src/assets/jointjs/js/lodash/every.js +56 -0
- package/src/assets/jointjs/js/lodash/extend.js +1 -0
- package/src/assets/jointjs/js/lodash/extendWith.js +1 -0
- package/src/assets/jointjs/js/lodash/fill.js +45 -0
- package/src/assets/jointjs/js/lodash/filter.js +48 -0
- package/src/assets/jointjs/js/lodash/find.js +42 -0
- package/src/assets/jointjs/js/lodash/findIndex.js +55 -0
- package/src/assets/jointjs/js/lodash/findKey.js +44 -0
- package/src/assets/jointjs/js/lodash/findLast.js +25 -0
- package/src/assets/jointjs/js/lodash/findLastIndex.js +59 -0
- package/src/assets/jointjs/js/lodash/findLastKey.js +44 -0
- package/src/assets/jointjs/js/lodash/first.js +1 -0
- package/src/assets/jointjs/js/lodash/flatMap.js +29 -0
- package/src/assets/jointjs/js/lodash/flatMapDeep.js +31 -0
- package/src/assets/jointjs/js/lodash/flatMapDepth.js +31 -0
- package/src/assets/jointjs/js/lodash/flatten.js +22 -0
- package/src/assets/jointjs/js/lodash/flattenDeep.js +25 -0
- package/src/assets/jointjs/js/lodash/flattenDepth.js +33 -0
- package/src/assets/jointjs/js/lodash/flip.js +28 -0
- package/src/assets/jointjs/js/lodash/floor.js +26 -0
- package/src/assets/jointjs/js/lodash/flow.js +27 -0
- package/src/assets/jointjs/js/lodash/flowRight.js +26 -0
- package/src/assets/jointjs/js/lodash/forEach.js +41 -0
- package/src/assets/jointjs/js/lodash/forEachRight.js +31 -0
- package/src/assets/jointjs/js/lodash/forIn.js +39 -0
- package/src/assets/jointjs/js/lodash/forInRight.js +37 -0
- package/src/assets/jointjs/js/lodash/forOwn.js +36 -0
- package/src/assets/jointjs/js/lodash/forOwnRight.js +34 -0
- package/src/assets/jointjs/js/lodash/fp/F.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/T.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/__.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/_baseConvert.js +569 -0
- package/src/assets/jointjs/js/lodash/fp/_convertBrowser.js +18 -0
- package/src/assets/jointjs/js/lodash/fp/_falseOptions.js +7 -0
- package/src/assets/jointjs/js/lodash/fp/_mapping.js +358 -0
- package/src/assets/jointjs/js/lodash/fp/_util.js +16 -0
- package/src/assets/jointjs/js/lodash/fp/add.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/after.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/all.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/allPass.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/always.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/any.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/anyPass.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/apply.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/array.js +2 -0
- package/src/assets/jointjs/js/lodash/fp/ary.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/assign.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/assignAll.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/assignAllWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/assignIn.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/assignInAll.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/assignInAllWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/assignInWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/assignWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/assoc.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/assocPath.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/at.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/attempt.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/before.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/bind.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/bindAll.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/bindKey.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/camelCase.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/capitalize.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/castArray.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/ceil.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/chain.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/chunk.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/clamp.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/clone.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/cloneDeep.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/cloneDeepWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/cloneWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/collection.js +2 -0
- package/src/assets/jointjs/js/lodash/fp/commit.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/compact.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/complement.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/compose.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/concat.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/cond.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/conforms.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/conformsTo.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/constant.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/contains.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/convert.js +18 -0
- package/src/assets/jointjs/js/lodash/fp/countBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/create.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/curry.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/curryN.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/curryRight.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/curryRightN.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/date.js +2 -0
- package/src/assets/jointjs/js/lodash/fp/debounce.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/deburr.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/defaultTo.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/defaults.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/defaultsAll.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/defaultsDeep.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/defaultsDeepAll.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/defer.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/delay.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/difference.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/differenceBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/differenceWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/dissoc.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/dissocPath.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/divide.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/drop.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/dropLast.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/dropLastWhile.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/dropRight.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/dropRightWhile.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/dropWhile.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/each.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/eachRight.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/endsWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/entries.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/entriesIn.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/eq.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/equals.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/escape.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/escapeRegExp.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/every.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/extend.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/extendAll.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/extendAllWith.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/extendWith.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/fill.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/filter.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/find.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/findFrom.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/findIndex.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/findIndexFrom.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/findKey.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/findLast.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/findLastFrom.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/findLastIndex.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/findLastIndexFrom.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/findLastKey.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/first.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/flatMap.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/flatMapDeep.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/flatMapDepth.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/flatten.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/flattenDeep.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/flattenDepth.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/flip.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/floor.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/flow.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/flowRight.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/forEach.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/forEachRight.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/forIn.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/forInRight.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/forOwn.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/forOwnRight.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/fromPairs.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/function.js +2 -0
- package/src/assets/jointjs/js/lodash/fp/functions.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/functionsIn.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/get.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/getOr.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/groupBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/gt.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/gte.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/has.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/hasIn.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/head.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/identical.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/identity.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/inRange.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/includes.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/includesFrom.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/indexBy.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/indexOf.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/indexOfFrom.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/init.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/initial.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/intersection.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/intersectionBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/intersectionWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/invert.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/invertBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/invertObj.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/invoke.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/invokeArgs.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/invokeArgsMap.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/invokeMap.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isArguments.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isArray.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isArrayBuffer.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isArrayLike.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isArrayLikeObject.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isBoolean.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isBuffer.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isDate.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isElement.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isEmpty.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isEqual.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isEqualWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isError.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isFinite.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isFunction.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isInteger.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isLength.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isMap.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isMatch.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isMatchWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isNaN.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isNative.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isNil.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isNull.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isNumber.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isObject.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isObjectLike.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isPlainObject.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isRegExp.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isSafeInteger.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isSet.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isString.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isSymbol.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isTypedArray.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isUndefined.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isWeakMap.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/isWeakSet.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/iteratee.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/join.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/juxt.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/kebabCase.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/keyBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/keys.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/keysIn.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/lang.js +2 -0
- package/src/assets/jointjs/js/lodash/fp/last.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/lastIndexOf.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/lastIndexOfFrom.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/lowerCase.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/lowerFirst.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/lt.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/lte.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/map.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/mapKeys.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/mapValues.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/matches.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/matchesProperty.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/math.js +2 -0
- package/src/assets/jointjs/js/lodash/fp/max.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/maxBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/mean.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/meanBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/memoize.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/merge.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/mergeAll.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/mergeAllWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/mergeWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/method.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/methodOf.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/min.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/minBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/mixin.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/multiply.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/nAry.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/negate.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/next.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/noop.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/now.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/nth.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/nthArg.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/number.js +2 -0
- package/src/assets/jointjs/js/lodash/fp/object.js +2 -0
- package/src/assets/jointjs/js/lodash/fp/omit.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/omitAll.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/omitBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/once.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/orderBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/over.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/overArgs.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/overEvery.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/overSome.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/pad.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/padChars.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/padCharsEnd.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/padCharsStart.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/padEnd.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/padStart.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/parseInt.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/partial.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/partialRight.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/partition.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/path.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/pathEq.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/pathOr.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/paths.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/pick.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/pickAll.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/pickBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/pipe.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/placeholder.js +6 -0
- package/src/assets/jointjs/js/lodash/fp/plant.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/pluck.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/prop.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/propEq.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/propOr.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/property.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/propertyOf.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/props.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/pull.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/pullAll.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/pullAllBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/pullAllWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/pullAt.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/random.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/range.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/rangeRight.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/rangeStep.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/rangeStepRight.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/rearg.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/reduce.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/reduceRight.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/reject.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/remove.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/repeat.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/replace.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/rest.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/restFrom.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/result.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/reverse.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/round.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sample.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sampleSize.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/seq.js +2 -0
- package/src/assets/jointjs/js/lodash/fp/set.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/setWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/shuffle.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/size.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/slice.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/snakeCase.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/some.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sortBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sortedIndex.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sortedIndexBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sortedIndexOf.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sortedLastIndex.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sortedLastIndexBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sortedLastIndexOf.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sortedUniq.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sortedUniqBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/split.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/spread.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/spreadFrom.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/startCase.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/startsWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/string.js +2 -0
- package/src/assets/jointjs/js/lodash/fp/stubArray.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/stubFalse.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/stubObject.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/stubString.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/stubTrue.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/subtract.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sum.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/sumBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/symmetricDifference.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/symmetricDifferenceBy.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/symmetricDifferenceWith.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/tail.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/take.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/takeLast.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/takeLastWhile.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/takeRight.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/takeRightWhile.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/takeWhile.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/tap.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/template.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/templateSettings.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/throttle.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/thru.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/times.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toArray.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toFinite.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toInteger.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toIterator.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toJSON.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toLength.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toLower.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toNumber.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toPairs.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toPairsIn.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toPath.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toPlainObject.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toSafeInteger.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toString.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/toUpper.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/transform.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/trim.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/trimChars.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/trimCharsEnd.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/trimCharsStart.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/trimEnd.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/trimStart.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/truncate.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/unapply.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/unary.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/unescape.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/union.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/unionBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/unionWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/uniq.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/uniqBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/uniqWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/uniqueId.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/unnest.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/unset.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/unzip.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/unzipWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/update.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/updateWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/upperCase.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/upperFirst.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/useWith.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/util.js +2 -0
- package/src/assets/jointjs/js/lodash/fp/value.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/valueOf.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/values.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/valuesIn.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/where.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/whereEq.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/without.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/words.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/wrap.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/wrapperAt.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/wrapperChain.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/wrapperLodash.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/wrapperReverse.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/wrapperValue.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/xor.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/xorBy.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/xorWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/zip.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/zipAll.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/zipObj.js +1 -0
- package/src/assets/jointjs/js/lodash/fp/zipObject.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/zipObjectDeep.js +5 -0
- package/src/assets/jointjs/js/lodash/fp/zipWith.js +5 -0
- package/src/assets/jointjs/js/lodash/fp.js +2 -0
- package/src/assets/jointjs/js/lodash/fromPairs.js +28 -0
- package/src/assets/jointjs/js/lodash/function.js +25 -0
- package/src/assets/jointjs/js/lodash/functions.js +31 -0
- package/src/assets/jointjs/js/lodash/functionsIn.js +31 -0
- package/src/assets/jointjs/js/lodash/get.js +33 -0
- package/src/assets/jointjs/js/lodash/groupBy.js +41 -0
- package/src/assets/jointjs/js/lodash/gt.js +29 -0
- package/src/assets/jointjs/js/lodash/gte.js +30 -0
- package/src/assets/jointjs/js/lodash/has.js +35 -0
- package/src/assets/jointjs/js/lodash/hasIn.js +34 -0
- package/src/assets/jointjs/js/lodash/head.js +23 -0
- package/src/assets/jointjs/js/lodash/identity.js +21 -0
- package/src/assets/jointjs/js/lodash/inRange.js +55 -0
- package/src/assets/jointjs/js/lodash/includes.js +53 -0
- package/src/assets/jointjs/js/lodash/index.js +1 -0
- package/src/assets/jointjs/js/lodash/indexOf.js +42 -0
- package/src/assets/jointjs/js/lodash/initial.js +22 -0
- package/src/assets/jointjs/js/lodash/intersection.js +30 -0
- package/src/assets/jointjs/js/lodash/intersectionBy.js +45 -0
- package/src/assets/jointjs/js/lodash/intersectionWith.js +41 -0
- package/src/assets/jointjs/js/lodash/invert.js +42 -0
- package/src/assets/jointjs/js/lodash/invertBy.js +56 -0
- package/src/assets/jointjs/js/lodash/invoke.js +24 -0
- package/src/assets/jointjs/js/lodash/invokeMap.js +41 -0
- package/src/assets/jointjs/js/lodash/isArguments.js +36 -0
- package/src/assets/jointjs/js/lodash/isArray.js +26 -0
- package/src/assets/jointjs/js/lodash/isArrayBuffer.js +27 -0
- package/src/assets/jointjs/js/lodash/isArrayLike.js +33 -0
- package/src/assets/jointjs/js/lodash/isArrayLikeObject.js +33 -0
- package/src/assets/jointjs/js/lodash/isBoolean.js +29 -0
- package/src/assets/jointjs/js/lodash/isBuffer.js +38 -0
- package/src/assets/jointjs/js/lodash/isDate.js +27 -0
- package/src/assets/jointjs/js/lodash/isElement.js +25 -0
- package/src/assets/jointjs/js/lodash/isEmpty.js +77 -0
- package/src/assets/jointjs/js/lodash/isEqual.js +35 -0
- package/src/assets/jointjs/js/lodash/isEqualWith.js +41 -0
- package/src/assets/jointjs/js/lodash/isError.js +36 -0
- package/src/assets/jointjs/js/lodash/isFinite.js +36 -0
- package/src/assets/jointjs/js/lodash/isFunction.js +37 -0
- package/src/assets/jointjs/js/lodash/isInteger.js +33 -0
- package/src/assets/jointjs/js/lodash/isLength.js +35 -0
- package/src/assets/jointjs/js/lodash/isMap.js +27 -0
- package/src/assets/jointjs/js/lodash/isMatch.js +36 -0
- package/src/assets/jointjs/js/lodash/isMatchWith.js +41 -0
- package/src/assets/jointjs/js/lodash/isNaN.js +38 -0
- package/src/assets/jointjs/js/lodash/isNative.js +40 -0
- package/src/assets/jointjs/js/lodash/isNil.js +25 -0
- package/src/assets/jointjs/js/lodash/isNull.js +22 -0
- package/src/assets/jointjs/js/lodash/isNumber.js +38 -0
- package/src/assets/jointjs/js/lodash/isObject.js +31 -0
- package/src/assets/jointjs/js/lodash/isObjectLike.js +29 -0
- package/src/assets/jointjs/js/lodash/isPlainObject.js +62 -0
- package/src/assets/jointjs/js/lodash/isRegExp.js +27 -0
- package/src/assets/jointjs/js/lodash/isSafeInteger.js +37 -0
- package/src/assets/jointjs/js/lodash/isSet.js +27 -0
- package/src/assets/jointjs/js/lodash/isString.js +30 -0
- package/src/assets/jointjs/js/lodash/isSymbol.js +29 -0
- package/src/assets/jointjs/js/lodash/isTypedArray.js +27 -0
- package/src/assets/jointjs/js/lodash/isUndefined.js +22 -0
- package/src/assets/jointjs/js/lodash/isWeakMap.js +28 -0
- package/src/assets/jointjs/js/lodash/isWeakSet.js +28 -0
- package/src/assets/jointjs/js/lodash/iteratee.js +53 -0
- package/src/assets/jointjs/js/lodash/join.js +26 -0
- package/src/assets/jointjs/js/lodash/kebabCase.js +28 -0
- package/src/assets/jointjs/js/lodash/keyBy.js +36 -0
- package/src/assets/jointjs/js/lodash/keys.js +37 -0
- package/src/assets/jointjs/js/lodash/keysIn.js +32 -0
- package/src/assets/jointjs/js/lodash/lang.js +58 -0
- package/src/assets/jointjs/js/lodash/last.js +20 -0
- package/src/assets/jointjs/js/lodash/lastIndexOf.js +46 -0
- package/src/assets/jointjs/js/lodash/lodash.js +17112 -0
- package/src/assets/jointjs/js/lodash/lodash.min.js +137 -0
- package/src/assets/jointjs/js/lodash/lowerCase.js +27 -0
- package/src/assets/jointjs/js/lodash/lowerFirst.js +22 -0
- package/src/assets/jointjs/js/lodash/lt.js +29 -0
- package/src/assets/jointjs/js/lodash/lte.js +30 -0
- package/src/assets/jointjs/js/lodash/map.js +53 -0
- package/src/assets/jointjs/js/lodash/mapKeys.js +36 -0
- package/src/assets/jointjs/js/lodash/mapValues.js +43 -0
- package/src/assets/jointjs/js/lodash/matches.js +39 -0
- package/src/assets/jointjs/js/lodash/matchesProperty.js +37 -0
- package/src/assets/jointjs/js/lodash/math.js +17 -0
- package/src/assets/jointjs/js/lodash/max.js +29 -0
- package/src/assets/jointjs/js/lodash/maxBy.js +34 -0
- package/src/assets/jointjs/js/lodash/mean.js +22 -0
- package/src/assets/jointjs/js/lodash/meanBy.js +31 -0
- package/src/assets/jointjs/js/lodash/memoize.js +73 -0
- package/src/assets/jointjs/js/lodash/merge.js +39 -0
- package/src/assets/jointjs/js/lodash/mergeWith.js +39 -0
- package/src/assets/jointjs/js/lodash/method.js +34 -0
- package/src/assets/jointjs/js/lodash/methodOf.js +33 -0
- package/src/assets/jointjs/js/lodash/min.js +29 -0
- package/src/assets/jointjs/js/lodash/minBy.js +34 -0
- package/src/assets/jointjs/js/lodash/mixin.js +74 -0
- package/src/assets/jointjs/js/lodash/multiply.js +22 -0
- package/src/assets/jointjs/js/lodash/negate.js +40 -0
- package/src/assets/jointjs/js/lodash/next.js +35 -0
- package/src/assets/jointjs/js/lodash/noop.js +17 -0
- package/src/assets/jointjs/js/lodash/now.js +23 -0
- package/src/assets/jointjs/js/lodash/nth.js +29 -0
- package/src/assets/jointjs/js/lodash/nthArg.js +32 -0
- package/src/assets/jointjs/js/lodash/number.js +5 -0
- package/src/assets/jointjs/js/lodash/object.js +49 -0
- package/src/assets/jointjs/js/lodash/omit.js +57 -0
- package/src/assets/jointjs/js/lodash/omitBy.js +29 -0
- package/src/assets/jointjs/js/lodash/once.js +25 -0
- package/src/assets/jointjs/js/lodash/orderBy.js +47 -0
- package/src/assets/jointjs/js/lodash/org.js +39 -0
- package/src/assets/jointjs/js/lodash/over.js +24 -0
- package/src/assets/jointjs/js/lodash/overArgs.js +61 -0
- package/src/assets/jointjs/js/lodash/overEvery.js +30 -0
- package/src/assets/jointjs/js/lodash/overSome.js +30 -0
- package/src/assets/jointjs/js/lodash/package.json +1 -0
- package/src/assets/jointjs/js/lodash/pad.js +49 -0
- package/src/assets/jointjs/js/lodash/padEnd.js +39 -0
- package/src/assets/jointjs/js/lodash/padStart.js +39 -0
- package/src/assets/jointjs/js/lodash/parseInt.js +43 -0
- package/src/assets/jointjs/js/lodash/partial.js +50 -0
- package/src/assets/jointjs/js/lodash/partialRight.js +49 -0
- package/src/assets/jointjs/js/lodash/partition.js +43 -0
- package/src/assets/jointjs/js/lodash/pick.js +25 -0
- package/src/assets/jointjs/js/lodash/pickBy.js +37 -0
- package/src/assets/jointjs/js/lodash/plant.js +48 -0
- package/src/assets/jointjs/js/lodash/property.js +32 -0
- package/src/assets/jointjs/js/lodash/propertyOf.js +30 -0
- package/src/assets/jointjs/js/lodash/pull.js +29 -0
- package/src/assets/jointjs/js/lodash/pullAll.js +29 -0
- package/src/assets/jointjs/js/lodash/pullAllBy.js +33 -0
- package/src/assets/jointjs/js/lodash/pullAllWith.js +32 -0
- package/src/assets/jointjs/js/lodash/pullAt.js +43 -0
- package/src/assets/jointjs/js/lodash/random.js +82 -0
- package/src/assets/jointjs/js/lodash/range.js +46 -0
- package/src/assets/jointjs/js/lodash/rangeRight.js +41 -0
- package/src/assets/jointjs/js/lodash/rearg.js +33 -0
- package/src/assets/jointjs/js/lodash/reduce.js +51 -0
- package/src/assets/jointjs/js/lodash/reduceRight.js +36 -0
- package/src/assets/jointjs/js/lodash/reject.js +46 -0
- package/src/assets/jointjs/js/lodash/remove.js +53 -0
- package/src/assets/jointjs/js/lodash/repeat.js +37 -0
- package/src/assets/jointjs/js/lodash/replace.js +29 -0
- package/src/assets/jointjs/js/lodash/rest.js +40 -0
- package/src/assets/jointjs/js/lodash/result.js +56 -0
- package/src/assets/jointjs/js/lodash/reverse.js +34 -0
- package/src/assets/jointjs/js/lodash/round.js +26 -0
- package/src/assets/jointjs/js/lodash/sample.js +24 -0
- package/src/assets/jointjs/js/lodash/sampleSize.js +37 -0
- package/src/assets/jointjs/js/lodash/seq.js +16 -0
- package/src/assets/jointjs/js/lodash/set.js +35 -0
- package/src/assets/jointjs/js/lodash/setWith.js +32 -0
- package/src/assets/jointjs/js/lodash/shuffle.js +25 -0
- package/src/assets/jointjs/js/lodash/size.js +46 -0
- package/src/assets/jointjs/js/lodash/slice.js +37 -0
- package/src/assets/jointjs/js/lodash/snakeCase.js +28 -0
- package/src/assets/jointjs/js/lodash/some.js +51 -0
- package/src/assets/jointjs/js/lodash/sortBy.js +48 -0
- package/src/assets/jointjs/js/lodash/sortedIndex.js +24 -0
- package/src/assets/jointjs/js/lodash/sortedIndexBy.js +33 -0
- package/src/assets/jointjs/js/lodash/sortedIndexOf.js +31 -0
- package/src/assets/jointjs/js/lodash/sortedLastIndex.js +25 -0
- package/src/assets/jointjs/js/lodash/sortedLastIndexBy.js +33 -0
- package/src/assets/jointjs/js/lodash/sortedLastIndexOf.js +31 -0
- package/src/assets/jointjs/js/lodash/sortedUniq.js +24 -0
- package/src/assets/jointjs/js/lodash/sortedUniqBy.js +26 -0
- package/src/assets/jointjs/js/lodash/split.js +52 -0
- package/src/assets/jointjs/js/lodash/spread.js +63 -0
- package/src/assets/jointjs/js/lodash/startCase.js +29 -0
- package/src/assets/jointjs/js/lodash/startsWith.js +39 -0
- package/src/assets/jointjs/js/lodash/string.js +33 -0
- package/src/assets/jointjs/js/lodash/stubArray.js +23 -0
- package/src/assets/jointjs/js/lodash/stubFalse.js +18 -0
- package/src/assets/jointjs/js/lodash/stubObject.js +23 -0
- package/src/assets/jointjs/js/lodash/stubString.js +18 -0
- package/src/assets/jointjs/js/lodash/stubTrue.js +18 -0
- package/src/assets/jointjs/js/lodash/subtract.js +22 -0
- package/src/assets/jointjs/js/lodash/sum.js +24 -0
- package/src/assets/jointjs/js/lodash/sumBy.js +33 -0
- package/src/assets/jointjs/js/lodash/tag.js +43 -0
- package/src/assets/jointjs/js/lodash/tail.js +22 -0
- package/src/assets/jointjs/js/lodash/take.js +37 -0
- package/src/assets/jointjs/js/lodash/takeRight.js +39 -0
- package/src/assets/jointjs/js/lodash/takeRightWhile.js +45 -0
- package/src/assets/jointjs/js/lodash/takeWhile.js +45 -0
- package/src/assets/jointjs/js/lodash/tap.js +29 -0
- package/src/assets/jointjs/js/lodash/template.js +253 -0
- package/src/assets/jointjs/js/lodash/templateSettings.js +67 -0
- package/src/assets/jointjs/js/lodash/throttle.js +69 -0
- package/src/assets/jointjs/js/lodash/thru.js +28 -0
- package/src/assets/jointjs/js/lodash/times.js +51 -0
- package/src/assets/jointjs/js/lodash/toArray.js +58 -0
- package/src/assets/jointjs/js/lodash/toFinite.js +42 -0
- package/src/assets/jointjs/js/lodash/toInteger.js +36 -0
- package/src/assets/jointjs/js/lodash/toIterator.js +23 -0
- package/src/assets/jointjs/js/lodash/toJSON.js +1 -0
- package/src/assets/jointjs/js/lodash/toLength.js +38 -0
- package/src/assets/jointjs/js/lodash/toLower.js +28 -0
- package/src/assets/jointjs/js/lodash/toNumber.js +66 -0
- package/src/assets/jointjs/js/lodash/toPairs.js +30 -0
- package/src/assets/jointjs/js/lodash/toPairsIn.js +30 -0
- package/src/assets/jointjs/js/lodash/toPath.js +33 -0
- package/src/assets/jointjs/js/lodash/toPlainObject.js +32 -0
- package/src/assets/jointjs/js/lodash/toSafeInteger.js +37 -0
- package/src/assets/jointjs/js/lodash/toString.js +28 -0
- package/src/assets/jointjs/js/lodash/toUpper.js +28 -0
- package/src/assets/jointjs/js/lodash/transform.js +65 -0
- package/src/assets/jointjs/js/lodash/trim.js +49 -0
- package/src/assets/jointjs/js/lodash/trimEnd.js +43 -0
- package/src/assets/jointjs/js/lodash/trimStart.js +43 -0
- package/src/assets/jointjs/js/lodash/truncate.js +111 -0
- package/src/assets/jointjs/js/lodash/unary.js +22 -0
- package/src/assets/jointjs/js/lodash/unescape.js +34 -0
- package/src/assets/jointjs/js/lodash/union.js +26 -0
- package/src/assets/jointjs/js/lodash/unionBy.js +39 -0
- package/src/assets/jointjs/js/lodash/unionWith.js +34 -0
- package/src/assets/jointjs/js/lodash/uniq.js +25 -0
- package/src/assets/jointjs/js/lodash/uniqBy.js +31 -0
- package/src/assets/jointjs/js/lodash/uniqWith.js +28 -0
- package/src/assets/jointjs/js/lodash/uniqueId.js +28 -0
- package/src/assets/jointjs/js/lodash/unset.js +34 -0
- package/src/assets/jointjs/js/lodash/unzip.js +45 -0
- package/src/assets/jointjs/js/lodash/unzipWith.js +39 -0
- package/src/assets/jointjs/js/lodash/update.js +35 -0
- package/src/assets/jointjs/js/lodash/updateWith.js +33 -0
- package/src/assets/jointjs/js/lodash/upperCase.js +27 -0
- package/src/assets/jointjs/js/lodash/upperFirst.js +22 -0
- package/src/assets/jointjs/js/lodash/util.js +34 -0
- package/src/assets/jointjs/js/lodash/value.js +1 -0
- package/src/assets/jointjs/js/lodash/valueOf.js +1 -0
- package/src/assets/jointjs/js/lodash/values.js +34 -0
- package/src/assets/jointjs/js/lodash/valuesIn.js +32 -0
- package/src/assets/jointjs/js/lodash/without.js +31 -0
- package/src/assets/jointjs/js/lodash/words.js +35 -0
- package/src/assets/jointjs/js/lodash/wrap.js +30 -0
- package/src/assets/jointjs/js/lodash/wrapperAt.js +48 -0
- package/src/assets/jointjs/js/lodash/wrapperChain.js +34 -0
- package/src/assets/jointjs/js/lodash/wrapperLodash.js +147 -0
- package/src/assets/jointjs/js/lodash/wrapperReverse.js +44 -0
- package/src/assets/jointjs/js/lodash/wrapperValue.js +21 -0
- package/src/assets/jointjs/js/lodash/xor.js +28 -0
- package/src/assets/jointjs/js/lodash/xorBy.js +39 -0
- package/src/assets/jointjs/js/lodash/xorWith.js +34 -0
- package/src/assets/jointjs/js/lodash/zip.js +22 -0
- package/src/assets/jointjs/js/lodash/zipObject.js +24 -0
- package/src/assets/jointjs/js/lodash/zipObjectDeep.js +23 -0
- package/src/assets/jointjs/js/lodash/zipWith.js +32 -0
- package/src/assets/jointjs/js/rappid.js +65022 -0
- package/src/assets/jointjs/scss/bpmn.scss +884 -0
- package/src/assets/jointjs/scss/rappid.scss +8879 -0
- package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +2 -2
- package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
- package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +7 -4
- package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/qmsCKEditorBpmnPlugin.js +63 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +9 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorService.js +20 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/converters.js +378 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemap.js +14 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapediting.js +183 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapui.js +49 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/insertimagemapcommand.js +127 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/resizeimagemapcommand.js +82 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/utils.js +234 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkediting.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkimage.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/link/ui/linkactionsview.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/link/ui/linkformview.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/inserttooltipcommand.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipediting.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/ui/actionsview.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/bpmn.svg +20 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/imagemap.svg +56 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/anchor.css +0 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/link.css +0 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/linkactions.css +0 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/linkform.css +0 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/linkimage.css +0 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/tooltip.css +0 -0
- package/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.scss +156 -0
- package/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.scss +0 -0
- package/src/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.scss +27 -0
- package/src/lib/qms-ckeditor-components/styles/_modules.scss +19 -1
- package/src/themes/_color.scss +8 -0
- package/src/themes/core/_colors.scss +2 -0
- package/src/themes/core/_side-sheet.scss +1 -0
- package/src/themes/core/_tab.scss +50 -49
@@ -0,0 +1,524 @@
|
|
1
|
+
import { ChangeDetectorRef, Component, Inject, ViewChild, Renderer2 } from '@angular/core';
|
2
|
+
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
4
|
+
import { TranslateLibraryService } from '../../../services/translation-registry.service';
|
5
|
+
import { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';
|
6
|
+
import { QMSCKEditorImageMap } from '../../models/qms-ckeditor-imagemap.model';
|
7
|
+
import { LinkType } from '../../common/enums/link-type.enum';
|
8
|
+
import { ProtocolTypeName } from '../../common/enums/protocol-type.enum';
|
9
|
+
import { TargetTypeName } from '../../common/enums/target-type.enum';
|
10
|
+
import { ImageModeName } from '../../common/enums/image-mode.enum';
|
11
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
12
|
+
import { MatIconRegistry } from '@angular/material/icon';
|
13
|
+
import { IconSvg } from '../../common/constants/iconSvg.constants';
|
14
|
+
import { QMSCKEditorImageMapLib } from './qms-ckeditor-imagemap.lib';
|
15
|
+
import { QMSCKEditorRelation } from '../../common/models/qms-ckeditor-relation.model';
|
16
|
+
import QMSCKEditorParamter from '../../common/models/qms-ckeditor-parameter.model';
|
17
|
+
import { QMSCKEditorLinkService } from '../../services/qms-ckeditor-link.service';
|
18
|
+
import { QMSCKEditorRelatedComponent } from '../qms-ckeditor-relation/qmsckeditor-related.component';
|
19
|
+
import { LinkAttachmentComponent } from '../qms-ckeditor-link/attachments/link-attachment.component';
|
20
|
+
import { LinkAnchor } from '../../common/enums/link-anchor.enum';
|
21
|
+
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
22
|
+
import { invalidURLValidator } from './qms-ckeditor-imagemap.validator';
|
23
|
+
export class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
|
24
|
+
constructor(renderer, cdr, dialog, translate, linkService, dialogRef, data, iconRegistry, sanitizer) {
|
25
|
+
super();
|
26
|
+
this.renderer = renderer;
|
27
|
+
this.cdr = cdr;
|
28
|
+
this.dialog = dialog;
|
29
|
+
this.translate = translate;
|
30
|
+
this.linkService = linkService;
|
31
|
+
this.dialogRef = dialogRef;
|
32
|
+
this.data = data;
|
33
|
+
this.linkTypes = [];
|
34
|
+
this.targets = [];
|
35
|
+
this.protocols = [];
|
36
|
+
this.modes = [];
|
37
|
+
this.zoomTypes = [];
|
38
|
+
this.url = '';
|
39
|
+
this.processedUrl = '';
|
40
|
+
this.selectedMode = ImageModeName.Rectangle;
|
41
|
+
this.selectedLinkType = LinkType.url;
|
42
|
+
this.selectedTarget = TargetTypeName.new;
|
43
|
+
this.selectedProtocol = ProtocolTypeName.http;
|
44
|
+
this.selectedZoom = 1.0;
|
45
|
+
this.protocolRegex = /^(http|https|ftp|news):\/\/(?=.)/i;
|
46
|
+
this.javascriptLinkRegex = /javascript\:/i;
|
47
|
+
this.documentId = 0;
|
48
|
+
//anchorTitle = '';
|
49
|
+
this.anchorText = '';
|
50
|
+
//anchorByName = '';
|
51
|
+
this.advisoryTitle = '';
|
52
|
+
this.isUrlProcessing = false;
|
53
|
+
this.naturalImageWidth = 0;
|
54
|
+
this.naturalImageHeight = 0;
|
55
|
+
this.currentAreaId = -1;
|
56
|
+
this.showImageMapInformation = false;
|
57
|
+
this.anchorDocuments = [];
|
58
|
+
//documentAnchors: IAnchor[];
|
59
|
+
this.imageListeners = [];
|
60
|
+
this.imageMapData = data;
|
61
|
+
this.naturalImageHeight = this.imageMapData.imageHeight;
|
62
|
+
this.naturalImageWidth = this.imageMapData.imageWidth;
|
63
|
+
this.initFormControl();
|
64
|
+
this.initSvgIcons(iconRegistry, sanitizer);
|
65
|
+
}
|
66
|
+
initDefaultValues() {
|
67
|
+
this.selectedLinkType = LinkType.url;
|
68
|
+
this.selectedTarget = TargetTypeName.new;
|
69
|
+
this.selectedProtocol = ProtocolTypeName.http;
|
70
|
+
this.url = '';
|
71
|
+
this.processedUrl = '';
|
72
|
+
this.advisoryTitle = '';
|
73
|
+
this.anchorText = '';
|
74
|
+
}
|
75
|
+
initSvgIcons(iconRegistry, sanitizer) {
|
76
|
+
iconRegistry.addSvgIconLiteral('vector-pointer', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_POINTER));
|
77
|
+
iconRegistry.addSvgIconLiteral('vector-circle', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_CIRCLE));
|
78
|
+
iconRegistry.addSvgIconLiteral('vector-rectangle', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_RECTANGLE));
|
79
|
+
iconRegistry.addSvgIconLiteral('vector-polygon', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_POLYGON));
|
80
|
+
iconRegistry.addSvgIconLiteral('vector-remove', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_REMOVE));
|
81
|
+
}
|
82
|
+
initFormControl() {
|
83
|
+
const valiationControls = {
|
84
|
+
targetList: new FormControl(),
|
85
|
+
protocolList: new FormControl(),
|
86
|
+
anchorTextList: new FormControl(),
|
87
|
+
modeList: new FormControl(),
|
88
|
+
zoomList: new FormControl(),
|
89
|
+
linkTypeList: new FormControl()
|
90
|
+
};
|
91
|
+
if (this.imageMapData.linkJavaScriptLinksAllowed == true) {
|
92
|
+
valiationControls['url'] = new FormControl('', [Validators.required]);
|
93
|
+
}
|
94
|
+
else {
|
95
|
+
valiationControls['url'] = new FormControl('', [Validators.required, invalidURLValidator(this.javascriptLinkRegex)]);
|
96
|
+
}
|
97
|
+
this.imageMapFormGroup = new FormGroup(valiationControls);
|
98
|
+
}
|
99
|
+
initLinkType() {
|
100
|
+
if (this.linkTypes) {
|
101
|
+
this.linkTypes.push({ id: LinkType.url, name: this.LANG.QMSCKEDITOR.LINK_URL });
|
102
|
+
this.linkTypes.push({
|
103
|
+
id: LinkType.anchorText,
|
104
|
+
name: this.LANG.QMSCKEDITOR.LINK_ANCHOR_IN_TEXT
|
105
|
+
});
|
106
|
+
}
|
107
|
+
}
|
108
|
+
initTarget() {
|
109
|
+
if (this.targets) {
|
110
|
+
this.targets.push({ id: TargetTypeName.new, name: this.LANG.QMSCKEDITOR.TARTGET_NEW });
|
111
|
+
this.targets.push({ id: TargetTypeName.same, name: this.LANG.QMSCKEDITOR.TARGET_SAME });
|
112
|
+
}
|
113
|
+
}
|
114
|
+
initProtocol() {
|
115
|
+
if (this.protocols) {
|
116
|
+
this.protocols.push({ id: ProtocolTypeName.http, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTP });
|
117
|
+
this.protocols.push({ id: ProtocolTypeName.https, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTPS });
|
118
|
+
this.protocols.push({ id: ProtocolTypeName.ftp, name: this.LANG.QMSCKEDITOR.PROTOCOL_FTP });
|
119
|
+
this.protocols.push({ id: ProtocolTypeName.news, name: this.LANG.QMSCKEDITOR.PROTOCOL_NEW });
|
120
|
+
this.protocols.push({ id: ProtocolTypeName.other, name: this.LANG.QMSCKEDITOR.PROTOCOL_OTHER });
|
121
|
+
}
|
122
|
+
}
|
123
|
+
initModes() {
|
124
|
+
if (this.modes) {
|
125
|
+
this.modes.push({ id: ImageModeName.Pointer, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_POINTER, icon: "vector-pointer" });
|
126
|
+
this.modes.push({ id: ImageModeName.Rectangle, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_RECTANGLE, icon: "vector-rectangle" });
|
127
|
+
this.modes.push({ id: ImageModeName.Circle, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_CIRCLE, icon: "vector-circle" });
|
128
|
+
this.modes.push({ id: ImageModeName.Polygon, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_POLYGON, icon: "vector-polygon" });
|
129
|
+
this.modes.push({ id: ImageModeName.Remove, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_REMOVE, icon: "vector-remove" });
|
130
|
+
}
|
131
|
+
}
|
132
|
+
initZoomTypes() {
|
133
|
+
if (this.zoomTypes) {
|
134
|
+
this.zoomTypes.push({ id: 0.25, name: "25%" });
|
135
|
+
this.zoomTypes.push({ id: 0.5, name: "50%" });
|
136
|
+
this.zoomTypes.push({ id: 1.0, name: "100%" });
|
137
|
+
this.zoomTypes.push({ id: 2.0, name: "200%" });
|
138
|
+
this.zoomTypes.push({ id: 3.0, name: "300%" });
|
139
|
+
}
|
140
|
+
}
|
141
|
+
initAnchor() {
|
142
|
+
this.anchors = [];
|
143
|
+
this.anchors = [{ value: 0, viewValue: '', anchorValue: LinkAnchor.Blank }];
|
144
|
+
}
|
145
|
+
ngOnInit() {
|
146
|
+
this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {
|
147
|
+
if (res) {
|
148
|
+
this.LANG = this.translate.getObjectLang(res);
|
149
|
+
}
|
150
|
+
});
|
151
|
+
this.initLinkType();
|
152
|
+
this.initTarget();
|
153
|
+
this.initProtocol();
|
154
|
+
this.initModes();
|
155
|
+
this.initZoomTypes();
|
156
|
+
}
|
157
|
+
ngOnDestroy() {
|
158
|
+
super.ngOnDestroy();
|
159
|
+
if (this.imageListeners && this.imageListeners.length > 0) {
|
160
|
+
this.imageListeners.forEach(listener => {
|
161
|
+
listener();
|
162
|
+
});
|
163
|
+
}
|
164
|
+
}
|
165
|
+
onImageLoad() {
|
166
|
+
this.naturalImageHeight = this.naturalImageHeight != 0 ? this.naturalImageHeight : this.myImageRef.nativeElement.naturalHeight;
|
167
|
+
this.naturalImageWidth = this.naturalImageWidth != 0 ? this.naturalImageWidth : this.myImageRef.nativeElement.naturalWidth;
|
168
|
+
this.setImageSize();
|
169
|
+
this.myImageMap.setMapJson({
|
170
|
+
name: this.imageMapData.name,
|
171
|
+
areas: this.imageMapData.areas
|
172
|
+
});
|
173
|
+
if (this.imageMapData.areas && this.imageMapData.areas.length > 0) {
|
174
|
+
this.myImageMap.blurArea(this.myImageMap.currentid);
|
175
|
+
this.myImageMap.currentid = 0;
|
176
|
+
this.myImageMap.selectedId = 0;
|
177
|
+
this.onSelectArea(this.myImageMap.areas[0]);
|
178
|
+
this.myImageMap.highlightArea(0);
|
179
|
+
}
|
180
|
+
}
|
181
|
+
ngAfterViewInit() {
|
182
|
+
if (this.myImageRef) {
|
183
|
+
this.imageListeners.push(this.renderer.listen(this.myImageRef.nativeElement, 'load', () => {
|
184
|
+
this.onImageLoad();
|
185
|
+
}));
|
186
|
+
}
|
187
|
+
// Avoid drag&drop of the image
|
188
|
+
this.myImageMap = new QMSCKEditorImageMapLib({
|
189
|
+
custom_callbacks: {
|
190
|
+
"onAddArea": this.onAddArea.bind(this),
|
191
|
+
'onSelectArea': this.onSelectArea.bind(this),
|
192
|
+
'onRemoveArea': this.onRemoveArea.bind(this),
|
193
|
+
'onStatusMessage': this.onStatusMessage.bind(this)
|
194
|
+
},
|
195
|
+
imageElement: this.myImageRef.nativeElement,
|
196
|
+
bounding_box: false,
|
197
|
+
CL_DRAW_SHAPE: '#F00',
|
198
|
+
CL_NORM_SHAPE: '#AAA',
|
199
|
+
CL_HIGHLIGHT_SHAPE: '#F00',
|
200
|
+
strings: {
|
201
|
+
"POLYGON_DRAW": this.LANG.QMSCKEDITOR.POLYGON_DRAW,
|
202
|
+
"RECTANGLE_DRAW": this.LANG.QMSCKEDITOR.RECTANGLE_DRAW,
|
203
|
+
"SQUARE_DRAW": this.LANG.QMSCKEDITOR.SQUARE_DRAW,
|
204
|
+
'READY': '',
|
205
|
+
'RECTANGLE_MOVE': '',
|
206
|
+
'RECTANGLE_RESIZE_TOP': '',
|
207
|
+
'RECTANGLE_RESIZE_RIGHT': '',
|
208
|
+
'RECTANGLE_RESIZE_BOTTOM': '',
|
209
|
+
'RECTANGLE_RESIZE_LEFT': '',
|
210
|
+
'SQUARE_MOVE': '',
|
211
|
+
'SQUARE_RESIZE_TOP': '',
|
212
|
+
'SQUARE_RESIZE_RIGHT': '',
|
213
|
+
'SQUARE_RESIZE_BOTTOM': '',
|
214
|
+
'SQUARE_RESIZE_LEFT': '',
|
215
|
+
'POLYGON_MOVE': ''
|
216
|
+
}
|
217
|
+
});
|
218
|
+
}
|
219
|
+
parseLinkUrl(url, defaultProtocolName) {
|
220
|
+
const protocol = this.protocolRegex.exec(url);
|
221
|
+
if (protocol) {
|
222
|
+
this.processedUrl = url.substr(protocol[0].length);
|
223
|
+
this.url = this.processedUrl;
|
224
|
+
this.selectedProtocol = protocol[0].toLowerCase();
|
225
|
+
}
|
226
|
+
else if (this.javascriptLinkRegex.test(url) && !this.imageMapData.linkJavaScriptLinksAllowed) {
|
227
|
+
this.selectedProtocol = ProtocolTypeName.http;
|
228
|
+
this.processedUrl = '';
|
229
|
+
this.url = this.processedUrl;
|
230
|
+
}
|
231
|
+
else {
|
232
|
+
this.processedUrl = url;
|
233
|
+
this.url = this.processedUrl;
|
234
|
+
if (!!this.selectedProtocol) {
|
235
|
+
this.selectedProtocol = defaultProtocolName || ProtocolTypeName.http;
|
236
|
+
}
|
237
|
+
}
|
238
|
+
}
|
239
|
+
onSelectArea(area) {
|
240
|
+
this.currentAreaId = area.aid;
|
241
|
+
this.showImageMapInformation = true;
|
242
|
+
if (this.selectedMode == ImageModeName.Remove) {
|
243
|
+
this.myImageMap.removeArea(this.currentAreaId);
|
244
|
+
}
|
245
|
+
else {
|
246
|
+
if (area.ahref.match(/^#(.*)$/)) {
|
247
|
+
this.anchorText = area.ahref.slice(1);
|
248
|
+
this.selectedLinkType = LinkType.anchorText;
|
249
|
+
}
|
250
|
+
else {
|
251
|
+
this.selectedLinkType = LinkType.url;
|
252
|
+
this.parseLinkUrl(area.ahref);
|
253
|
+
}
|
254
|
+
this.selectedTarget = area.atarget;
|
255
|
+
this.advisoryTitle = area.aalt;
|
256
|
+
this.cdr.detectChanges();
|
257
|
+
}
|
258
|
+
}
|
259
|
+
onRemoveArea() {
|
260
|
+
this.currentAreaId = -1;
|
261
|
+
this.showImageMapInformation = false;
|
262
|
+
}
|
263
|
+
removeMap() {
|
264
|
+
this.currentAreaId = -1;
|
265
|
+
this.showImageMapInformation = false;
|
266
|
+
this.myImageMap.removeAllAreas();
|
267
|
+
}
|
268
|
+
onStatusMessage(text) {
|
269
|
+
if (this.myStatusRef) {
|
270
|
+
this.myStatusRef.nativeElement.innerHTML = text || '';
|
271
|
+
}
|
272
|
+
}
|
273
|
+
onUrlKeyup() {
|
274
|
+
this.isUrlProcessing = true;
|
275
|
+
if (this.url != this.processedUrl) {
|
276
|
+
this.parseLinkUrl(this.url);
|
277
|
+
this.updateAreaValues();
|
278
|
+
}
|
279
|
+
this.isUrlProcessing = false;
|
280
|
+
}
|
281
|
+
onUrlChange() {
|
282
|
+
if (!this.isUrlProcessing) {
|
283
|
+
this.onUrlKeyup();
|
284
|
+
}
|
285
|
+
}
|
286
|
+
onAnchorTextChange() {
|
287
|
+
this.updateAreaValues();
|
288
|
+
}
|
289
|
+
onProtocolChange() {
|
290
|
+
this.updateAreaValues();
|
291
|
+
}
|
292
|
+
onTargetChange() {
|
293
|
+
this.updateAreaValues();
|
294
|
+
}
|
295
|
+
onAddArea(id) {
|
296
|
+
this.currentAreaId = id;
|
297
|
+
this.showImageMapInformation = true;
|
298
|
+
this.initDefaultValues();
|
299
|
+
this.updateAreaValues();
|
300
|
+
}
|
301
|
+
updateAreaValues() {
|
302
|
+
if (this.currentAreaId > -1) {
|
303
|
+
var ahref = this.buildUrlWithProtocol();
|
304
|
+
if (this.selectedLinkType == LinkType.anchorText) {
|
305
|
+
this.myImageMap.areas[this.currentAreaId].atarget = TargetTypeName.same;
|
306
|
+
this.myImageMap.areas[this.currentAreaId].aalt = this.anchorText;
|
307
|
+
}
|
308
|
+
else {
|
309
|
+
this.myImageMap.areas[this.currentAreaId].atarget = this.selectedTarget || TargetTypeName.new;
|
310
|
+
this.myImageMap.areas[this.currentAreaId].aalt = this.advisoryTitle;
|
311
|
+
}
|
312
|
+
this.myImageMap.areas[this.currentAreaId].ahref = ahref;
|
313
|
+
}
|
314
|
+
}
|
315
|
+
buildUrlWithProtocol() {
|
316
|
+
if (this.selectedLinkType == LinkType.anchorText) {
|
317
|
+
return '#' + (this.anchorText || '');
|
318
|
+
}
|
319
|
+
if (!!this.processedUrl) {
|
320
|
+
return this.selectedProtocol + this.processedUrl;
|
321
|
+
}
|
322
|
+
return '';
|
323
|
+
}
|
324
|
+
ngAfterViewChecked() {
|
325
|
+
this.cdr.detectChanges();
|
326
|
+
}
|
327
|
+
onCloseDialog() {
|
328
|
+
this.dialogRef.close();
|
329
|
+
}
|
330
|
+
onModeChange(e) {
|
331
|
+
this.selectedMode = e.value;
|
332
|
+
if (this.selectedMode == ImageModeName.Pointer || this.selectedMode == ImageModeName.Remove) {
|
333
|
+
this.myImageMap.is_drawing = 0;
|
334
|
+
this.myImageMap.nextShape = '';
|
335
|
+
this.myImageRef.nativeElement.style.cursor = 'default';
|
336
|
+
}
|
337
|
+
else {
|
338
|
+
this.myImageMap.nextShape = this.selectedMode;
|
339
|
+
this.myImageRef.nativeElement.style.cursor = 'crosshair';
|
340
|
+
}
|
341
|
+
}
|
342
|
+
onZoomChange() {
|
343
|
+
this.setImageSize();
|
344
|
+
if (this.myImageMap) {
|
345
|
+
this.myImageMap.scaleAllAreas(this.selectedZoom);
|
346
|
+
}
|
347
|
+
}
|
348
|
+
onLinkTypeChange() {
|
349
|
+
if (this.selectedLinkType === LinkType.anchorText) {
|
350
|
+
this.getEditorAnchor();
|
351
|
+
}
|
352
|
+
this.updateAreaValues();
|
353
|
+
}
|
354
|
+
getEditorAnchor() {
|
355
|
+
this.anchorDocuments = [];
|
356
|
+
if (this.imageMapData.editorContent) {
|
357
|
+
this.anchorDocuments.push({
|
358
|
+
id: 0,
|
359
|
+
entityId: 0,
|
360
|
+
documentId: 0,
|
361
|
+
documentTypeId: 0,
|
362
|
+
richText: this.imageMapData.editorContent
|
363
|
+
});
|
364
|
+
}
|
365
|
+
this.setAnchorDocument(this.anchorDocuments);
|
366
|
+
this.editorAnchors = this.anchors;
|
367
|
+
}
|
368
|
+
setImageSize() {
|
369
|
+
if (this.myImageRef) {
|
370
|
+
const width = this.naturalImageWidth * this.selectedZoom;
|
371
|
+
const height = this.naturalImageHeight * this.selectedZoom;
|
372
|
+
this.myImageRef.nativeElement.setAttribute("width", `${width}px;`);
|
373
|
+
this.myImageRef.nativeElement.setAttribute("height", `${height}px;`);
|
374
|
+
this.myImageRef.nativeElement.style.width = `${width}px`;
|
375
|
+
this.myImageRef.nativeElement.style.height = `${height}px`;
|
376
|
+
this.myImageRef.nativeElement.style.cursor = this.selectedMode == ImageModeName.Pointer || this.selectedMode == ImageModeName.Remove ? 'default' : 'crosshair';
|
377
|
+
}
|
378
|
+
}
|
379
|
+
eHandbook(isOnlyDocument, isAnchorDocument) {
|
380
|
+
const data = new QMSCKEditorRelation();
|
381
|
+
data.isOnlyDocument = isOnlyDocument;
|
382
|
+
data.isEnableFolder = !isOnlyDocument;
|
383
|
+
const dialogTemplate = this.dialog.open(QMSCKEditorRelatedComponent, {
|
384
|
+
width: '650px',
|
385
|
+
height: '650px',
|
386
|
+
data,
|
387
|
+
disableClose: true
|
388
|
+
});
|
389
|
+
dialogTemplate
|
390
|
+
.afterClosed()
|
391
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
392
|
+
.subscribe((result) => {
|
393
|
+
if (result) {
|
394
|
+
if (isAnchorDocument) {
|
395
|
+
this.documentId = result.id;
|
396
|
+
//this.anchorTitle = `${result.title}(${result.id})`;
|
397
|
+
this.getAnchorDocument(result.id);
|
398
|
+
}
|
399
|
+
else {
|
400
|
+
this.parseLinkUrl(result.url);
|
401
|
+
this.selectedProtocol = ProtocolTypeName.other;
|
402
|
+
if (!this.advisoryTitle) {
|
403
|
+
this.advisoryTitle = result.title;
|
404
|
+
}
|
405
|
+
}
|
406
|
+
this.updateAreaValues();
|
407
|
+
}
|
408
|
+
});
|
409
|
+
}
|
410
|
+
getAnchorDocument(documentId) {
|
411
|
+
this.linkService
|
412
|
+
.getAnchorDocumentList(documentId)
|
413
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
414
|
+
.subscribe((res) => {
|
415
|
+
if (res) {
|
416
|
+
this.anchorDocuments = res;
|
417
|
+
this.setAnchorDocument(this.anchorDocuments);
|
418
|
+
//this.documentAnchors = this.anchors;
|
419
|
+
}
|
420
|
+
else {
|
421
|
+
this.anchorDocuments = [];
|
422
|
+
this.setAnchorDocument(this.anchorDocuments);
|
423
|
+
//this.documentAnchors = this.anchors;
|
424
|
+
}
|
425
|
+
});
|
426
|
+
}
|
427
|
+
setAnchorDocument(anchorDocument) {
|
428
|
+
this.initAnchor();
|
429
|
+
let id = 3;
|
430
|
+
if (anchorDocument) {
|
431
|
+
anchorDocument.forEach((e) => {
|
432
|
+
const div = document.createElement('div');
|
433
|
+
div.innerHTML = e.richText;
|
434
|
+
const domContent = div;
|
435
|
+
const aTags = domContent.getElementsByTagName('a');
|
436
|
+
if (aTags) {
|
437
|
+
// tslint:disable-next-line:prefer-for-of
|
438
|
+
for (let i = 0; i < aTags.length; i++) {
|
439
|
+
const tag = aTags[i];
|
440
|
+
if (tag.name) {
|
441
|
+
const index = this.anchors.findIndex((x) => {
|
442
|
+
return x.anchorValue === tag.name;
|
443
|
+
});
|
444
|
+
if (index < 0) {
|
445
|
+
this.anchors.push({
|
446
|
+
value: id,
|
447
|
+
viewValue: tag.name,
|
448
|
+
anchorValue: tag.name
|
449
|
+
});
|
450
|
+
id += 1;
|
451
|
+
}
|
452
|
+
}
|
453
|
+
}
|
454
|
+
}
|
455
|
+
});
|
456
|
+
}
|
457
|
+
// this.anchors.push({
|
458
|
+
// value: 1,
|
459
|
+
// viewValue: this.LANG.QMSCKEDITOR.ANCHOR_ATTACHMENT,
|
460
|
+
// anchorValue: LinkAnchor.Attachment
|
461
|
+
// });
|
462
|
+
// this.anchors.push({
|
463
|
+
// value: 2,
|
464
|
+
// viewValue: this.LANG.QMSCKEDITOR.ANCHOR_RELATED_DOCUMENT,
|
465
|
+
// anchorValue: LinkAnchor.Related
|
466
|
+
// });
|
467
|
+
}
|
468
|
+
attachment() {
|
469
|
+
const data = new QMSCKEditorParamter();
|
470
|
+
data.module = this.imageMapData.module;
|
471
|
+
data.entityId = this.imageMapData.entityId;
|
472
|
+
const dialogTemplate = this.dialog.open(LinkAttachmentComponent, {
|
473
|
+
width: '650px',
|
474
|
+
height: '650px',
|
475
|
+
data,
|
476
|
+
disableClose: true
|
477
|
+
});
|
478
|
+
dialogTemplate
|
479
|
+
.afterClosed()
|
480
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
481
|
+
.subscribe((result) => {
|
482
|
+
if (result) {
|
483
|
+
this.parseLinkUrl(result.url);
|
484
|
+
this.selectedProtocol = ProtocolTypeName.other;
|
485
|
+
if (!this.advisoryTitle) {
|
486
|
+
this.advisoryTitle = result.title;
|
487
|
+
}
|
488
|
+
this.updateAreaValues();
|
489
|
+
}
|
490
|
+
});
|
491
|
+
}
|
492
|
+
save() {
|
493
|
+
const data = this.myImageMap.getMapJson();
|
494
|
+
data.imageHeight = this.naturalImageHeight;
|
495
|
+
data.imageWidth = this.naturalImageWidth;
|
496
|
+
this.dialogRef.close(data);
|
497
|
+
}
|
498
|
+
cancel() {
|
499
|
+
this.dialogRef.close();
|
500
|
+
}
|
501
|
+
}
|
502
|
+
QMSCKEditorImageMapComponent.decorators = [
|
503
|
+
{ type: Component, args: [{
|
504
|
+
selector: 'app-qmsck-imagemap',
|
505
|
+
template: "<div id=\"qmsckeditor-imagemap\" class=\"qmsckeditor qmsckeditor__imagemap__container\">\r\n <div id=\"qmsckeditor-imagemap-header\">\r\n <span id=\"qmsckeditor-imagemap-header_001\" mat-icon-button class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor-imagemap-header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor-imagemap_002_001\">\r\n {{ LANG.QMSCKEDITOR.IMAGE_MAP_PROPERTIES }}\r\n </h2>\r\n </div>\r\n </div>\r\n <div id=\"qmsckeditor-imagemap-content\">\r\n <div id=\"qmsckeditor-imagemap-content_001\" class=\"col-12 mt-1 pl-2 pr-2\">\r\n <mat-expansion-panel id=\"qmsckeditor-imagemap-panel\" [expanded]=\"true\" (opened)=\"(true)\" (closed)=\"(false)\">\r\n <div id=\"qmsckeditor-imagemap-panel_001\">\r\n <div id=\"qmsckeditor-imagemap-panel_001_001\" class=\"qmsckeditor__imagemap__information\">\r\n <form [formGroup]=\"imageMapFormGroup\">\r\n <div class=\"row\">\r\n <div class=\"col-9\">\r\n <mat-button-toggle-group [(ngModel)]=\"selectedMode\" formControlName=\"modeList\"\r\n (change)=\"onModeChange($event)\">\r\n <mat-button-toggle *ngFor=\"let mode of modes\" [value]=\"mode.id\"\r\n [matTooltip]=\"mode.name\">\r\n <mat-icon color=\"red\" [svgIcon]=\"mode.icon\" aria-hidden=\"true\">\r\n </mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n <span style=\"margin-left: 15px;\" #myStatus></span>\r\n </div>\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ZOOM }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedZoom\" formControlName=\"zoomList\"\r\n (ngModelChange)=\"onZoomChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let zoomType of zoomTypes\" [value]=\"zoomType.id\">\r\n {{ zoomType.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{'hidden': !showImageMapInformation}\">\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_TYPE }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedLinkType\" formControlName=\"linkTypeList\"\r\n (ngModelChange)=\"onLinkTypeChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let link of linkTypes\" [value]=\"link.id\">\r\n {{ link.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-3\" *ngIf=\"selectedLinkType === 0\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TARGET }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedTarget\" formControlName=\"targetList\"\r\n (ngModelChange)=\"onTargetChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let target of targets\" [value]=\"target.id\">\r\n {{ target.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{'hidden': !showImageMapInformation}\"\r\n *ngIf=\"selectedLinkType === 1\">\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ANCHOR_BY_NAME }}</mat-label>\r\n <mat-select [(ngModel)]=\"anchorText\" formControlName=\"anchorTextList\"\r\n (ngModelChange)=\"onAnchorTextChange()\">\r\n <mat-option *ngFor=\"let editorAnchor of editorAnchors\"\r\n [value]=\"editorAnchor.anchorValue\" disableOptionCentering>\r\n {{ editorAnchor.viewValue }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{'hidden': !showImageMapInformation}\"\r\n *ngIf=\"selectedLinkType === 0\">\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.PROTOCOL }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedProtocol\" formControlName=\"protocolList\"\r\n (ngModelChange)=\"onProtocolChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let protocol of protocols\" [value]=\"protocol.id\">\r\n {{ protocol.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-5\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_URL }}</mat-label>\r\n <input matInput [(ngModel)]=\"url\" name=\"url\" formControlName=\"url\"\r\n (ngModelChange)=\"onUrlChange()\" (keyup)=\"onUrlKeyup()\" />\r\n <mat-error *ngIf=\"imageMapFormGroup.get('url').hasError('required')\">{{\r\n LANG.QMSCKEDITOR.REQUIRED_URL }}\r\n </mat-error>\r\n <mat-error *ngIf=\"imageMapFormGroup.get('url').hasError('invalidURL')\">{{\r\n LANG.QMSCKEDITOR.INVALID_URL }}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-4\">\r\n <div class=\"row button__groups\">\r\n <div class=\"col-6\">\r\n <button class=\"save\" mat-stroked-button (click)=\"attachment()\">\r\n {{ LANG.QMSCKEDITOR.ATTACHMENT }}\r\n </button>\r\n </div>\r\n <div class=\"col-6\">\r\n <button class=\"save\" mat-stroked-button (click)=\"eHandbook(false, false)\">\r\n {{ LANG.QMSCKEDITOR.HANDBOOK }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n <div id=\"qmsckeditor-imagemap-panel_001_002\" class=\"qmsckeditor__imagemap__map\">\r\n <img #myImage [src]=\"imageMapData.imageUrl\">\r\n </div>\r\n <div id=\"qmsckeditor-imagemap-panel_001_003\" class=\"qmsckeditor button__groups row mr-0 ml-0 mt-4\">\r\n <div class=\"col-4 pr-0\">\r\n <button class=\"save\" mat-flat-button (click)=\"removeMap()\">\r\n {{ LANG.QMSCKEDITOR.REMOVE_MAP }}\r\n </button>\r\n </div>\r\n <div class=\"col-4 pr-0\">\r\n <button class=\"save\" mat-flat-button (click)=\"save()\">\r\n {{ LANG.QMSCKEDITOR.SAVE }}\r\n </button>\r\n </div>\r\n <div class=\"col-4 pl-0\">\r\n <button class=\"cancel\" mat-flat-button (click)=\"cancel()\">\r\n {{ LANG.QMSCKEDITOR.CANCEL }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n</div>",
|
506
|
+
styles: [".mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt7{margin-top:7px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.ml2{margin-left:2px!important}.ml3{margin-left:3px!important}.ml5{margin-left:5px!important}.ml15{margin-left:15px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml16{margin-left:16px!important}.ml-auto{margin-left:auto!important}.ml-25{margin-left:-25px!important}.mr5{margin-right:5px!important}.mr12{margin-right:12px!important}.mr15{margin-right:15px!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.pt8{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt16{padding-top:16px!important}.pl15{padding-left:15px!important}.pl0{padding-left:0!important}.pr0{padding-right:0!important}.pr15{padding-right:15px!important}.fs12{font-size:12px}.fs14{font-size:14px!important}.fs16{font-size:16px!important}.fs22{font-size:22px!important}.fw500{font-weight:500!important}.italic-text{font-style:italic}.display-flex{display:flex}.qmsckeditor{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.qmsckeditor h2{font-size:20px;font-weight:400}.qmsckeditor .mat-dialog-content{padding:0}.qmsckeditor .mat-icon{color:#909497}.qmsckeditor__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;max-height:100vh;overflow-x:hidden}.qmsckeditor__cursor{cursor:pointer}.qmsckeditor__notallowed{cursor:not-allowed}.qmsckeditor.button__close,.qmsckeditor.button__done{float:right;top:-24px;right:-24px;cursor:pointer}.qmsckeditor.button__done{margin-right:20px}.qmsckeditor.button__done .mat-icon{color:#28a745;font-weight:700}.qmsckeditor.button__groups button{min-height:40px;width:100%;border-radius:4px;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px}.qmsckeditor.button__groups .save{background:#f8f9f9}.qmsckeditor.button__groups .save:hover{background:#e5e7e9}.qmsckeditor.button__groups .save:disabled{cursor:not-allowed}.qmsckeditor.button__groups .cancel{background:#f8f9f9}.qmsckeditor.button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.button__groups .cancel:disabled{cursor:not-allowed}.qmsckeditor.button__groups .delete{background:#f8f9f9}.qmsckeditor.button__groups .delete:hover{background:#e5e7e9}.qmsckeditor.button__groups .delete:disabled{cursor:not-allowed}.qmsckeditor.confirm__button__groups button{min-height:36px;border-radius:4px;width:auto;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px}.qmsckeditor.confirm__button__groups .confirm{background:#f8f9f9}.qmsckeditor.confirm__button__groups .confirm:hover{background:#e5e7e9}.qmsckeditor.confirm__button__groups .cancel{background:#f8f9f9}.qmsckeditor.confirm__button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.template-content.height{min-height:420px;max-height:520px;overflow:auto}.qmsckeditor.template-content.title{margin-left:-9px}.qmsckeditor.link__content.height{min-height:400px;max-height:520px}.qmsckeditor.card{margin-bottom:10px;min-height:60px;box-shadow:none;border:1px solid #e5e5e5}.qmsckeditor.card .title{font-weight:700}.qmsckeditor.card .content{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qmsckeditor.card .material-icons{font-size:20px}.qmsckeditor.tooltip-content.height{min-height:400px;max-height:470px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .page-break,.qmsckeditor__imagemap__container .mat-form-field{width:100%}.qmsckeditor__imagemap__container .qmsckeditor__imagemap__information{position:relative}.qmsckeditor__imagemap__container .qmsckeditor__imagemap__map{overflow:auto;width:800px;min-height:371px;position:relative;max-height:460px}.qmsckeditor__imagemap__container .mat-button-toggle-checked{border:1px solid #000!important}.qmsckeditor__imagemap__container .hidden{visibility:hidden}"]
|
507
|
+
},] }
|
508
|
+
];
|
509
|
+
QMSCKEditorImageMapComponent.ctorParameters = () => [
|
510
|
+
{ type: Renderer2 },
|
511
|
+
{ type: ChangeDetectorRef },
|
512
|
+
{ type: MatDialog },
|
513
|
+
{ type: TranslateLibraryService },
|
514
|
+
{ type: QMSCKEditorLinkService },
|
515
|
+
{ type: MatDialogRef },
|
516
|
+
{ type: QMSCKEditorImageMap, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
|
517
|
+
{ type: MatIconRegistry },
|
518
|
+
{ type: DomSanitizer }
|
519
|
+
];
|
520
|
+
QMSCKEditorImageMapComponent.propDecorators = {
|
521
|
+
myImageRef: [{ type: ViewChild, args: ['myImage',] }],
|
522
|
+
myStatusRef: [{ type: ViewChild, args: ['myStatus',] }]
|
523
|
+
};
|
524
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItaW1hZ2VtYXAvcW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQVUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxtQkFBbUIsTUFBTSxrREFBa0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUVyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUF1Q3hFLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSx3QkFBd0I7SUE4Q3RFLFlBQ1ksUUFBbUIsRUFDbkIsR0FBc0IsRUFDdEIsTUFBaUIsRUFDakIsU0FBa0MsRUFDbEMsV0FBbUMsRUFDcEMsU0FBcUQsRUFDNUIsSUFBeUIsRUFDekQsWUFBNkIsRUFDN0IsU0FBdUI7UUFFdkIsS0FBSyxFQUFFLENBQUM7UUFWQSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBQ3BDLGNBQVMsR0FBVCxTQUFTLENBQTRDO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQXFCO1FBakQ3RCxjQUFTLEdBQWdCLEVBQUUsQ0FBQztRQUM1QixZQUFPLEdBQWMsRUFBRSxDQUFDO1FBQ3hCLGNBQVMsR0FBZ0IsRUFBRSxDQUFDO1FBQzVCLFVBQUssR0FBWSxFQUFFLENBQUM7UUFDcEIsY0FBUyxHQUFnQixFQUFFLENBQUM7UUFDNUIsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUNULGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGlCQUFZLEdBQWtCLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDdEQscUJBQWdCLEdBQWEsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUMxQyxtQkFBYyxHQUFtQixjQUFjLENBQUMsR0FBRyxDQUFDO1FBQ3BELHFCQUFnQixHQUE4QixnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7UUFDcEUsaUJBQVksR0FBRyxHQUFHLENBQUM7UUFFbkIsa0JBQWEsR0FBVyxtQ0FBbUMsQ0FBQztRQUM1RCx3QkFBbUIsR0FBVyxlQUFlLENBQUM7UUFFOUMsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLG1CQUFtQjtRQUNuQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLG9CQUFvQjtRQUNwQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUVuQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDdEIsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFbkIsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBRWhDLG9CQUFlLEdBQW9DLEVBQUUsQ0FBQztRQUd0RCw2QkFBNkI7UUFFN0IsbUJBQWMsR0FBVSxFQUFFLENBQUM7UUFvQnZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUN4RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFDdEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFHRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUM7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUM5QyxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLENBQUMsWUFBNkIsRUFBRSxTQUF1QjtRQUMvRCxZQUFZLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQzVHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQzFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUNoSCxZQUFZLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQzVHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRCxlQUFlO1FBQ1gsTUFBTSxpQkFBaUIsR0FBRztZQUN0QixVQUFVLEVBQUUsSUFBSSxXQUFXLEVBQUU7WUFDN0IsWUFBWSxFQUFFLElBQUksV0FBVyxFQUFFO1lBQy9CLGNBQWMsRUFBRSxJQUFJLFdBQVcsRUFBRTtZQUNqQyxRQUFRLEVBQUUsSUFBSSxXQUFXLEVBQUU7WUFDM0IsUUFBUSxFQUFFLElBQUksV0FBVyxFQUFFO1lBQzNCLFlBQVksRUFBRSxJQUFJLFdBQVcsRUFBRTtTQUNsQyxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLDBCQUEwQixJQUFJLElBQUksRUFBRTtZQUN0RCxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUN6RTthQUFNO1lBQ0gsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEg7UUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNoQixFQUFFLEVBQUUsUUFBUSxDQUFDLFVBQVU7Z0JBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUI7YUFDbEQsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDdkYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUMzRjtJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUM5RixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFDaEcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQzVGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztZQUM3RixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDbkc7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7WUFDdkgsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsYUFBYSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUM3SCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztZQUNwSCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZIO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUNsRDtJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNwRixJQUFJLEdBQUcsRUFBRTtnQkFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2pEO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ25DLFFBQVEsRUFBRSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQy9ILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUUzSCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSTtZQUM1QixLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLO1NBQ2pDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDdEYsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDUDtRQUVELCtCQUErQjtRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksc0JBQXNCLENBQUM7WUFDekMsZ0JBQWdCLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDdEMsY0FBYyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDNUMsY0FBYyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDNUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ3JEO1lBQ0QsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYTtZQUMzQyxZQUFZLEVBQUUsS0FBSztZQUNuQixhQUFhLEVBQUUsTUFBTTtZQUNyQixhQUFhLEVBQUUsTUFBTTtZQUNyQixrQkFBa0IsRUFBRSxNQUFNO1lBQzFCLE9BQU8sRUFBRTtnQkFDTCxjQUFjLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWTtnQkFDbEQsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYztnQkFDdEQsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVc7Z0JBQ2hELE9BQU8sRUFBRSxFQUFFO2dCQUNYLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ3BCLHNCQUFzQixFQUFFLEVBQUU7Z0JBQzFCLHdCQUF3QixFQUFFLEVBQUU7Z0JBQzVCLHlCQUF5QixFQUFFLEVBQUU7Z0JBQzdCLHVCQUF1QixFQUFFLEVBQUU7Z0JBQzNCLGFBQWEsRUFBRSxFQUFFO2dCQUNqQixtQkFBbUIsRUFBRSxFQUFFO2dCQUN2QixxQkFBcUIsRUFBRSxFQUFFO2dCQUN6QixzQkFBc0IsRUFBRSxFQUFFO2dCQUMxQixvQkFBb0IsRUFBRSxFQUFFO2dCQUN4QixjQUFjLEVBQUUsRUFBRTthQUNyQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxZQUFZLENBQUMsR0FBVyxFQUFFLG1CQUFzQztRQUM1RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDckQ7YUFBTSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLDBCQUEwQixFQUFFO1lBQzVGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQ2hDO2FBQU07WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztZQUN4QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDN0IsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsbUJBQW1CLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2FBQ3hFO1NBQ0o7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQUk7UUFDYixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDOUIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbEQ7YUFBTTtZQUNILElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO2FBQy9DO2lCQUFNO2dCQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNqQztZQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZO1FBQ3hCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztTQUN6RDtJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQVU7UUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ3pCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ3hDLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3BFO2lCQUNJO2dCQUNELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDO2dCQUM5RixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7YUFDdkU7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUMzRDtJQUNMLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRTtZQUM5QyxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7U0FDeEM7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDcEQ7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUFDLENBQU07UUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLGFBQWEsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQ3pGLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7U0FDMUQ7YUFDSTtZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7U0FDNUQ7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BEO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLFFBQVEsQ0FBQyxVQUFVLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUN0QixFQUFFLEVBQUUsQ0FBQztnQkFDTCxRQUFRLEVBQUUsQ0FBQztnQkFDWCxVQUFVLEVBQUUsQ0FBQztnQkFDYixjQUFjLEVBQUUsQ0FBQztnQkFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYTthQUM1QyxDQUFDLENBQUM7U0FDTjtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3pELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQzNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQ3JFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxLQUFLLElBQUksQ0FBQztZQUN6RCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUM7WUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLGFBQWEsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztTQUNsSztJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsY0FBdUIsRUFBRSxnQkFBeUI7UUFDeEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxjQUFjLENBQUM7UUFDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDakUsS0FBSyxFQUFFLE9BQU87WUFDZCxNQUFNLEVBQUUsT0FBTztZQUNmLElBQUk7WUFDSixZQUFZLEVBQUUsSUFBSTtTQUNyQixDQUFDLENBQUM7UUFDSCxjQUFjO2FBQ1QsV0FBVyxFQUFFO2FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbEMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEIsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsSUFBSSxnQkFBZ0IsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUM1QixxREFBcUQ7b0JBQ3JELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNILElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO29CQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTt3QkFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO3FCQUNyQztpQkFDSjtnQkFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFVBQWtCO1FBQ2hDLElBQUksQ0FBQyxXQUFXO2FBQ1gscUJBQXFCLENBQUMsVUFBVSxDQUFDO2FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2YsSUFBSSxHQUFHLEVBQUU7Z0JBQ0wsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzdDLHNDQUFzQzthQUN6QztpQkFBTTtnQkFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDN0Msc0NBQXNDO2FBQ3pDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsY0FBK0M7UUFDN0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNYLElBQUksY0FBYyxFQUFFO1lBQ2hCLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDekIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO2dCQUMzQixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUM7Z0JBQ3ZCLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxLQUFLLEVBQUU7b0JBQ1AseUNBQXlDO29CQUN6QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTt3QkFDbkMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNyQixJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUU7NEJBQ1YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQ0FDdkMsT0FBTyxDQUFDLENBQUMsV0FBVyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUM7NEJBQ3RDLENBQUMsQ0FBQyxDQUFDOzRCQUNILElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtnQ0FDWCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztvQ0FDZCxLQUFLLEVBQUUsRUFBRTtvQ0FDVCxTQUFTLEVBQUUsR0FBRyxDQUFDLElBQUk7b0NBQ25CLFdBQVcsRUFBRSxHQUFHLENBQUMsSUFBSTtpQ0FDeEIsQ0FBQyxDQUFDO2dDQUNILEVBQUUsSUFBSSxDQUFDLENBQUM7NkJBQ1g7eUJBQ0o7cUJBQ0o7aUJBQ0o7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBQ0Qsc0JBQXNCO1FBQ3RCLGdCQUFnQjtRQUNoQiwwREFBMEQ7UUFDMUQseUNBQXlDO1FBQ3pDLE1BQU07UUFDTixzQkFBc0I7UUFDdEIsZ0JBQWdCO1FBQ2hCLGdFQUFnRTtRQUNoRSxzQ0FBc0M7UUFDdEMsTUFBTTtJQUNWLENBQUM7SUFHRCxVQUFVO1FBQ04sTUFBTSxJQUFJLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUMzQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUM3RCxLQUFLLEVBQUUsT0FBTztZQUNkLE1BQU0sRUFBRSxPQUFPO1lBQ2YsSUFBSTtZQUNKLFlBQVksRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FBQztRQUNILGNBQWM7YUFDVCxXQUFXLEVBQUU7YUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNsQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsQixJQUFJLE1BQU0sRUFBRTtnQkFDUixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztnQkFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztpQkFDckM7Z0JBQ0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxJQUFJO1FBQ0EsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7O1lBL2hCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsczZVQUFxRDs7YUFFeEQ7OztZQTVEK0YsU0FBUztZQUE5RSxpQkFBaUI7WUFDbkMsU0FBUztZQUVULHVCQUF1QjtZQWF2QixzQkFBc0I7WUFmWCxZQUFZO1lBSXZCLG1CQUFtQix1QkE2R25CLE1BQU0sU0FBQyxlQUFlO1lBdkd0QixlQUFlO1lBRGYsWUFBWTs7O3lCQTJGaEIsU0FBUyxTQUFDLFNBQVM7MEJBR25CLFNBQVMsU0FBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBPbkluaXQsIFZpZXdDaGlsZCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Ftcy1ja2VkaXRvci1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9ySW1hZ2VNYXAgfSBmcm9tICcuLi8uLi9tb2RlbHMvcW1zLWNrZWRpdG9yLWltYWdlbWFwLm1vZGVsJztcclxuaW1wb3J0IHsgTGlua1R5cGUgfSBmcm9tICcuLi8uLi9jb21tb24vZW51bXMvbGluay10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBQcm90b2NvbFR5cGVOYW1lIH0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW1zL3Byb3RvY29sLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFRhcmdldFR5cGVOYW1lIH0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW1zL3RhcmdldC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBJbWFnZU1vZGVOYW1lIH0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW1zL2ltYWdlLW1vZGUuZW51bSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgSWNvblN2ZyB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb25zdGFudHMvaWNvblN2Zy5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckltYWdlTWFwTGliIH0gZnJvbSAnLi9xbXMtY2tlZGl0b3ItaW1hZ2VtYXAubGliJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JSZWxhdGlvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLXJlbGF0aW9uLm1vZGVsJztcclxuaW1wb3J0IFFNU0NLRWRpdG9yUGFyYW10ZXIgZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItcGFyYW1ldGVyLm1vZGVsJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JMaW5rU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci1saW5rLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclJlbGF0ZWRDb21wb25lbnQgfSBmcm9tICcuLi9xbXMtY2tlZGl0b3ItcmVsYXRpb24vcW1zY2tlZGl0b3ItcmVsYXRlZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaW5rQXR0YWNobWVudENvbXBvbmVudCB9IGZyb20gJy4uL3Ftcy1ja2VkaXRvci1saW5rL2F0dGFjaG1lbnRzL2xpbmstYXR0YWNobWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckxpbmtBbmNob3JEb2N1bWVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLWxpbmstYW5jaG9yLWRvY3VtZW50Lm1vZGVsJztcclxuaW1wb3J0IHsgTGlua0FuY2hvciB9IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtcy9saW5rLWFuY2hvci5lbnVtJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgaW52YWxpZFVSTFZhbGlkYXRvciB9IGZyb20gJy4vcW1zLWNrZWRpdG9yLWltYWdlbWFwLnZhbGlkYXRvcic7XHJcblxyXG5pbnRlcmZhY2UgSUxpbmtUeXBlIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBJVGFyZ2V0IHtcclxuICAgIGlkOiBUYXJnZXRUeXBlTmFtZTtcclxuICAgIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuaW50ZXJmYWNlIElQcm90b2NvbCB7XHJcbiAgICBpZDogUHJvdG9jb2xUeXBlTmFtZTtcclxuICAgIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuaW50ZXJmYWNlIElNb2RlIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBpY29uOiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBJWm9vbVR5cGUge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuaW50ZXJmYWNlIElBbmNob3Ige1xyXG4gICAgdmFsdWU6IG51bWJlcjtcclxuICAgIHZpZXdWYWx1ZTogc3RyaW5nO1xyXG4gICAgYW5jaG9yVmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1xbXNjay1pbWFnZW1hcCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Ftcy1ja2VkaXRvci1pbWFnZW1hcC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNDS0VkaXRvckltYWdlTWFwQ29tcG9uZW50IGV4dGVuZHMgUU1TQ0tFZGl0b3JCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdDaGVja2VkIHtcclxuICAgIExBTkc6IGFueTtcclxuICAgIGltYWdlTWFwRm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgICBpbWFnZU1hcERhdGE6IFFNU0NLRWRpdG9ySW1hZ2VNYXA7XHJcbiAgICBsaW5rVHlwZXM6IElMaW5rVHlwZVtdID0gW107XHJcbiAgICB0YXJnZXRzOiBJVGFyZ2V0W10gPSBbXTtcclxuICAgIHByb3RvY29sczogSVByb3RvY29sW10gPSBbXTtcclxuICAgIG1vZGVzOiBJTW9kZVtdID0gW107XHJcbiAgICB6b29tVHlwZXM6IElab29tVHlwZVtdID0gW107XHJcbiAgICB1cmwgPSAnJztcclxuICAgIHByb2Nlc3NlZFVybCA9ICcnO1xyXG4gICAgc2VsZWN0ZWRNb2RlOiBJbWFnZU1vZGVOYW1lID0gSW1hZ2VNb2RlTmFtZS5SZWN0YW5nbGU7XHJcbiAgICBzZWxlY3RlZExpbmtUeXBlOiBMaW5rVHlwZSA9IExpbmtUeXBlLnVybDtcclxuICAgIHNlbGVjdGVkVGFyZ2V0OiBUYXJnZXRUeXBlTmFtZSA9IFRhcmdldFR5cGVOYW1lLm5ldztcclxuICAgIHNlbGVjdGVkUHJvdG9jb2w6IFByb3RvY29sVHlwZU5hbWUgfCBzdHJpbmcgPSBQcm90b2NvbFR5cGVOYW1lLmh0dHA7XHJcbiAgICBzZWxlY3RlZFpvb20gPSAxLjA7XHJcblxyXG4gICAgcHJvdG9jb2xSZWdleDogUmVnRXhwID0gL14oaHR0cHxodHRwc3xmdHB8bmV3cyk6XFwvXFwvKD89LikvaTtcclxuICAgIGphdmFzY3JpcHRMaW5rUmVnZXg6IFJlZ0V4cCA9IC9qYXZhc2NyaXB0XFw6L2k7XHJcblxyXG4gICAgZG9jdW1lbnRJZCA9IDA7XHJcbiAgICAvL2FuY2hvclRpdGxlID0gJyc7XHJcbiAgICBhbmNob3JUZXh0ID0gJyc7XHJcbiAgICAvL2FuY2hvckJ5TmFtZSA9ICcnO1xyXG4gICAgYWR2aXNvcnlUaXRsZSA9ICcnO1xyXG5cclxuICAgIGlzVXJsUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgbmF0dXJhbEltYWdlV2lkdGggPSAwO1xyXG4gICAgbmF0dXJhbEltYWdlSGVpZ2h0ID0gMDtcclxuICAgIGN1cnJlbnRBcmVhSWQgPSAtMTtcclxuICAgIG15SW1hZ2VNYXA6IFFNU0NLRWRpdG9ySW1hZ2VNYXBMaWI7XHJcbiAgICBzaG93SW1hZ2VNYXBJbmZvcm1hdGlvbiA9IGZhbHNlO1xyXG5cclxuICAgIGFuY2hvckRvY3VtZW50czogUU1TQ0tFZGl0b3JMaW5rQW5jaG9yRG9jdW1lbnRbXSA9IFtdO1xyXG4gICAgYW5jaG9yczogSUFuY2hvcltdO1xyXG4gICAgZWRpdG9yQW5jaG9yczogSUFuY2hvcltdO1xyXG4gICAgLy9kb2N1bWVudEFuY2hvcnM6IElBbmNob3JbXTtcclxuXHJcbiAgICBpbWFnZUxpc3RlbmVyczogYW55W10gPSBbXTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdteUltYWdlJylcclxuICAgIG15SW1hZ2VSZWY6IEVsZW1lbnRSZWY8SFRNTEltYWdlRWxlbWVudD47XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnbXlTdGF0dXMnKVxyXG4gICAgbXlTdGF0dXNSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsaW5rU2VydmljZTogUU1TQ0tFZGl0b3JMaW5rU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UU1TQ0tFZGl0b3JJbWFnZU1hcENvbXBvbmVudD4sXHJcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBRTVNDS0VkaXRvckltYWdlTWFwLFxyXG4gICAgICAgIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgICAgIHNhbml0aXplcjogRG9tU2FuaXRpemVyXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaW1hZ2VNYXBEYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLm5hdHVyYWxJbWFnZUhlaWdodCA9IHRoaXMuaW1hZ2VNYXBEYXRhLmltYWdlSGVpZ2h0O1xyXG4gICAgICAgIHRoaXMubmF0dXJhbEltYWdlV2lkdGggPSB0aGlzLmltYWdlTWFwRGF0YS5pbWFnZVdpZHRoO1xyXG4gICAgICAgIHRoaXMuaW5pdEZvcm1Db250cm9sKCk7XHJcbiAgICAgICAgdGhpcy5pbml0U3ZnSWNvbnMoaWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXIpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBpbml0RGVmYXVsdFZhbHVlcygpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlua1R5cGUgPSBMaW5rVHlwZS51cmw7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhcmdldCA9IFRhcmdldFR5cGVOYW1lLm5ldztcclxuICAgICAgICB0aGlzLnNlbGVjdGVkUHJvdG9jb2wgPSBQcm90b2NvbFR5cGVOYW1lLmh0dHA7XHJcbiAgICAgICAgdGhpcy51cmwgPSAnJztcclxuICAgICAgICB0aGlzLnByb2Nlc3NlZFVybCA9ICcnO1xyXG4gICAgICAgIHRoaXMuYWR2aXNvcnlUaXRsZSA9ICcnO1xyXG4gICAgICAgIHRoaXMuYW5jaG9yVGV4dCA9ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRTdmdJY29ucyhpY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSwgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcclxuICAgICAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ3ZlY3Rvci1wb2ludGVyJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEljb25TdmcuVkVDVE9SX1BPSU5URVIpKTtcclxuICAgICAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ3ZlY3Rvci1jaXJjbGUnLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoSWNvblN2Zy5WRUNUT1JfQ0lSQ0xFKSk7XHJcbiAgICAgICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCd2ZWN0b3ItcmVjdGFuZ2xlJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEljb25TdmcuVkVDVE9SX1JFQ1RBTkdMRSkpO1xyXG4gICAgICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgndmVjdG9yLXBvbHlnb24nLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoSWNvblN2Zy5WRUNUT1JfUE9MWUdPTikpO1xyXG4gICAgICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgndmVjdG9yLXJlbW92ZScsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChJY29uU3ZnLlZFQ1RPUl9SRU1PVkUpKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0Rm9ybUNvbnRyb2woKSB7XHJcbiAgICAgICAgY29uc3QgdmFsaWF0aW9uQ29udHJvbHMgPSB7XHJcbiAgICAgICAgICAgIHRhcmdldExpc3Q6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgICAgICAgICBwcm90b2NvbExpc3Q6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgICAgICAgICBhbmNob3JUZXh0TGlzdDogbmV3IEZvcm1Db250cm9sKCksXHJcbiAgICAgICAgICAgIG1vZGVMaXN0OiBuZXcgRm9ybUNvbnRyb2woKSxcclxuICAgICAgICAgICAgem9vbUxpc3Q6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgICAgICAgICBsaW5rVHlwZUxpc3Q6IG5ldyBGb3JtQ29udHJvbCgpXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAodGhpcy5pbWFnZU1hcERhdGEubGlua0phdmFTY3JpcHRMaW5rc0FsbG93ZWQgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICB2YWxpYXRpb25Db250cm9sc1sndXJsJ10gPSBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdmFsaWF0aW9uQ29udHJvbHNbJ3VybCddID0gbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgaW52YWxpZFVSTFZhbGlkYXRvcih0aGlzLmphdmFzY3JpcHRMaW5rUmVnZXgpXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaW1hZ2VNYXBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHZhbGlhdGlvbkNvbnRyb2xzKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0TGlua1R5cGUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubGlua1R5cGVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlua1R5cGVzLnB1c2goeyBpZDogTGlua1R5cGUudXJsLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuTElOS19VUkwgfSk7XHJcbiAgICAgICAgICAgIHRoaXMubGlua1R5cGVzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgaWQ6IExpbmtUeXBlLmFuY2hvclRleHQsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuTElOS19BTkNIT1JfSU5fVEVYVFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdFRhcmdldCgpIHtcclxuICAgICAgICBpZiAodGhpcy50YXJnZXRzKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGFyZ2V0cy5wdXNoKHsgaWQ6IFRhcmdldFR5cGVOYW1lLm5ldywgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlRBUlRHRVRfTkVXIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnRhcmdldHMucHVzaCh7IGlkOiBUYXJnZXRUeXBlTmFtZS5zYW1lLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuVEFSR0VUX1NBTUUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXRQcm90b2NvbCgpIHtcclxuICAgICAgICBpZiAodGhpcy5wcm90b2NvbHMpIHtcclxuICAgICAgICAgICAgdGhpcy5wcm90b2NvbHMucHVzaCh7IGlkOiBQcm90b2NvbFR5cGVOYW1lLmh0dHAsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5QUk9UT0NPTF9IVFRQIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnByb3RvY29scy5wdXNoKHsgaWQ6IFByb3RvY29sVHlwZU5hbWUuaHR0cHMsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5QUk9UT0NPTF9IVFRQUyB9KTtcclxuICAgICAgICAgICAgdGhpcy5wcm90b2NvbHMucHVzaCh7IGlkOiBQcm90b2NvbFR5cGVOYW1lLmZ0cCwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlBST1RPQ09MX0ZUUCB9KTtcclxuICAgICAgICAgICAgdGhpcy5wcm90b2NvbHMucHVzaCh7IGlkOiBQcm90b2NvbFR5cGVOYW1lLm5ld3MsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5QUk9UT0NPTF9ORVcgfSk7XHJcbiAgICAgICAgICAgIHRoaXMucHJvdG9jb2xzLnB1c2goeyBpZDogUHJvdG9jb2xUeXBlTmFtZS5vdGhlciwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlBST1RPQ09MX09USEVSIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbml0TW9kZXMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubW9kZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5tb2Rlcy5wdXNoKHsgaWQ6IEltYWdlTW9kZU5hbWUuUG9pbnRlciwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLklNQUdFX01PREVfUE9JTlRFUiwgaWNvbjogXCJ2ZWN0b3ItcG9pbnRlclwiIH0pO1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVzLnB1c2goeyBpZDogSW1hZ2VNb2RlTmFtZS5SZWN0YW5nbGUsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5JTUFHRV9NT0RFX1JFQ1RBTkdMRSwgaWNvbjogXCJ2ZWN0b3ItcmVjdGFuZ2xlXCIgfSk7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZXMucHVzaCh7IGlkOiBJbWFnZU1vZGVOYW1lLkNpcmNsZSwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLklNQUdFX01PREVfQ0lSQ0xFLCBpY29uOiBcInZlY3Rvci1jaXJjbGVcIiB9KTtcclxuICAgICAgICAgICAgdGhpcy5tb2Rlcy5wdXNoKHsgaWQ6IEltYWdlTW9kZU5hbWUuUG9seWdvbiwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLklNQUdFX01PREVfUE9MWUdPTiwgaWNvbjogXCJ2ZWN0b3ItcG9seWdvblwiIH0pO1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVzLnB1c2goeyBpZDogSW1hZ2VNb2RlTmFtZS5SZW1vdmUsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5JTUFHRV9NT0RFX1JFTU9WRSwgaWNvbjogXCJ2ZWN0b3ItcmVtb3ZlXCIgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXRab29tVHlwZXMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuem9vbVR5cGVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuem9vbVR5cGVzLnB1c2goeyBpZDogMC4yNSwgbmFtZTogXCIyNSVcIiB9KTtcclxuICAgICAgICAgICAgdGhpcy56b29tVHlwZXMucHVzaCh7IGlkOiAwLjUsIG5hbWU6IFwiNTAlXCIgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuem9vbVR5cGVzLnB1c2goeyBpZDogMS4wLCBuYW1lOiBcIjEwMCVcIiB9KTtcclxuICAgICAgICAgICAgdGhpcy56b29tVHlwZXMucHVzaCh7IGlkOiAyLjAsIG5hbWU6IFwiMjAwJVwiIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnpvb21UeXBlcy5wdXNoKHsgaWQ6IDMuMCwgbmFtZTogXCIzMDAlXCIgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXRBbmNob3IoKSB7XHJcbiAgICAgICAgdGhpcy5hbmNob3JzID0gW107XHJcbiAgICAgICAgdGhpcy5hbmNob3JzID0gW3sgdmFsdWU6IDAsIHZpZXdWYWx1ZTogJycsIGFuY2hvclZhbHVlOiBMaW5rQW5jaG9yLkJsYW5rIH1dO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRPYmplY3RMYW5nKHJlcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmluaXRMaW5rVHlwZSgpO1xyXG4gICAgICAgIHRoaXMuaW5pdFRhcmdldCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdFByb3RvY29sKCk7XHJcbiAgICAgICAgdGhpcy5pbml0TW9kZXMoKTtcclxuICAgICAgICB0aGlzLmluaXRab29tVHlwZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmltYWdlTGlzdGVuZXJzICYmIHRoaXMuaW1hZ2VMaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlTGlzdGVuZXJzLmZvckVhY2gobGlzdGVuZXIgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGlzdGVuZXIoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uSW1hZ2VMb2FkKCkge1xyXG4gICAgICAgIHRoaXMubmF0dXJhbEltYWdlSGVpZ2h0ID0gdGhpcy5uYXR1cmFsSW1hZ2VIZWlnaHQgIT0gMCA/IHRoaXMubmF0dXJhbEltYWdlSGVpZ2h0IDogdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQubmF0dXJhbEhlaWdodDtcclxuICAgICAgICB0aGlzLm5hdHVyYWxJbWFnZVdpZHRoID0gdGhpcy5uYXR1cmFsSW1hZ2VXaWR0aCAhPSAwID8gdGhpcy5uYXR1cmFsSW1hZ2VXaWR0aCA6IHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50Lm5hdHVyYWxXaWR0aDtcclxuXHJcbiAgICAgICAgdGhpcy5zZXRJbWFnZVNpemUoKTtcclxuXHJcbiAgICAgICAgdGhpcy5teUltYWdlTWFwLnNldE1hcEpzb24oe1xyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmltYWdlTWFwRGF0YS5uYW1lLFxyXG4gICAgICAgICAgICBhcmVhczogdGhpcy5pbWFnZU1hcERhdGEuYXJlYXNcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VNYXBEYXRhLmFyZWFzICYmIHRoaXMuaW1hZ2VNYXBEYXRhLmFyZWFzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLmJsdXJBcmVhKHRoaXMubXlJbWFnZU1hcC5jdXJyZW50aWQpO1xyXG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuY3VycmVudGlkID0gMDtcclxuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLnNlbGVjdGVkSWQgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLm9uU2VsZWN0QXJlYSh0aGlzLm15SW1hZ2VNYXAuYXJlYXNbMF0pO1xyXG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuaGlnaGxpZ2h0QXJlYSgwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLm15SW1hZ2VSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZUxpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LCAnbG9hZCcsICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMub25JbWFnZUxvYWQoKTtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXZvaWQgZHJhZyZkcm9wIG9mIHRoZSBpbWFnZVxyXG4gICAgICAgIHRoaXMubXlJbWFnZU1hcCA9IG5ldyBRTVNDS0VkaXRvckltYWdlTWFwTGliKHtcclxuICAgICAgICAgICAgY3VzdG9tX2NhbGxiYWNrczoge1xyXG4gICAgICAgICAgICAgICAgXCJvbkFkZEFyZWFcIjogdGhpcy5vbkFkZEFyZWEuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgICdvblNlbGVjdEFyZWEnOiB0aGlzLm9uU2VsZWN0QXJlYS5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgJ29uUmVtb3ZlQXJlYSc6IHRoaXMub25SZW1vdmVBcmVhLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICAnb25TdGF0dXNNZXNzYWdlJzogdGhpcy5vblN0YXR1c01lc3NhZ2UuYmluZCh0aGlzKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbWFnZUVsZW1lbnQ6IHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICBib3VuZGluZ19ib3g6IGZhbHNlLFxyXG4gICAgICAgICAgICBDTF9EUkFXX1NIQVBFOiAnI0YwMCcsXHJcbiAgICAgICAgICAgIENMX05PUk1fU0hBUEU6ICcjQUFBJyxcclxuICAgICAgICAgICAgQ0xfSElHSExJR0hUX1NIQVBFOiAnI0YwMCcsXHJcbiAgICAgICAgICAgIHN0cmluZ3M6IHtcclxuICAgICAgICAgICAgICAgIFwiUE9MWUdPTl9EUkFXXCI6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5QT0xZR09OX0RSQVcsXHJcbiAgICAgICAgICAgICAgICBcIlJFQ1RBTkdMRV9EUkFXXCI6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5SRUNUQU5HTEVfRFJBVyxcclxuICAgICAgICAgICAgICAgIFwiU1FVQVJFX0RSQVdcIjogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlNRVUFSRV9EUkFXLFxyXG4gICAgICAgICAgICAgICAgJ1JFQURZJzogJycsXHJcbiAgICAgICAgICAgICAgICAnUkVDVEFOR0xFX01PVkUnOiAnJyxcclxuICAgICAgICAgICAgICAgICdSRUNUQU5HTEVfUkVTSVpFX1RPUCc6ICcnLFxyXG4gICAgICAgICAgICAgICAgJ1JFQ1RBTkdMRV9SRVNJWkVfUklHSFQnOiAnJyxcclxuICAgICAgICAgICAgICAgICdSRUNUQU5HTEVfUkVTSVpFX0JPVFRPTSc6ICcnLFxyXG4gICAgICAgICAgICAgICAgJ1JFQ1RBTkdMRV9SRVNJWkVfTEVGVCc6ICcnLFxyXG4gICAgICAgICAgICAgICAgJ1NRVUFSRV9NT1ZFJzogJycsXHJcbiAgICAgICAgICAgICAgICAnU1FVQVJFX1JFU0laRV9UT1AnOiAnJyxcclxuICAgICAgICAgICAgICAgICdTUVVBUkVfUkVTSVpFX1JJR0hUJzogJycsXHJcbiAgICAgICAgICAgICAgICAnU1FVQVJFX1JFU0laRV9CT1RUT00nOiAnJyxcclxuICAgICAgICAgICAgICAgICdTUVVBUkVfUkVTSVpFX0xFRlQnOiAnJyxcclxuICAgICAgICAgICAgICAgICdQT0xZR09OX01PVkUnOiAnJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcGFyc2VMaW5rVXJsKHVybDogc3RyaW5nLCBkZWZhdWx0UHJvdG9jb2xOYW1lPzogUHJvdG9jb2xUeXBlTmFtZSkge1xyXG4gICAgICAgIGNvbnN0IHByb3RvY29sID0gdGhpcy5wcm90b2NvbFJlZ2V4LmV4ZWModXJsKTtcclxuICAgICAgICBpZiAocHJvdG9jb2wpIHtcclxuICAgICAgICAgICAgdGhpcy5wcm9jZXNzZWRVcmwgPSB1cmwuc3Vic3RyKHByb3RvY29sWzBdLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIHRoaXMudXJsID0gdGhpcy5wcm9jZXNzZWRVcmw7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQcm90b2NvbCA9IHByb3RvY29sWzBdLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmphdmFzY3JpcHRMaW5rUmVnZXgudGVzdCh1cmwpICYmICF0aGlzLmltYWdlTWFwRGF0YS5saW5rSmF2YVNjcmlwdExpbmtzQWxsb3dlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUHJvdG9jb2wgPSBQcm90b2NvbFR5cGVOYW1lLmh0dHA7XHJcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc2VkVXJsID0gJyc7XHJcbiAgICAgICAgICAgIHRoaXMudXJsID0gdGhpcy5wcm9jZXNzZWRVcmw7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wcm9jZXNzZWRVcmwgPSB1cmw7XHJcbiAgICAgICAgICAgIHRoaXMudXJsID0gdGhpcy5wcm9jZXNzZWRVcmw7XHJcbiAgICAgICAgICAgIGlmICghIXRoaXMuc2VsZWN0ZWRQcm90b2NvbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFByb3RvY29sID0gZGVmYXVsdFByb3RvY29sTmFtZSB8fCBQcm90b2NvbFR5cGVOYW1lLmh0dHA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3RBcmVhKGFyZWEpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRBcmVhSWQgPSBhcmVhLmFpZDtcclxuICAgICAgICB0aGlzLnNob3dJbWFnZU1hcEluZm9ybWF0aW9uID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlID09IEltYWdlTW9kZU5hbWUuUmVtb3ZlKSB7XHJcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5yZW1vdmVBcmVhKHRoaXMuY3VycmVudEFyZWFJZCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGFyZWEuYWhyZWYubWF0Y2goL14jKC4qKSQvKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hbmNob3JUZXh0ID0gYXJlYS5haHJlZi5zbGljZSgxKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaW5rVHlwZSA9IExpbmtUeXBlLmFuY2hvclRleHQ7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlua1R5cGUgPSBMaW5rVHlwZS51cmw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhcnNlTGlua1VybChhcmVhLmFocmVmKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFyZ2V0ID0gYXJlYS5hdGFyZ2V0O1xyXG4gICAgICAgICAgICB0aGlzLmFkdmlzb3J5VGl0bGUgPSBhcmVhLmFhbHQ7XHJcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25SZW1vdmVBcmVhKCkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudEFyZWFJZCA9IC0xO1xyXG4gICAgICAgIHRoaXMuc2hvd0ltYWdlTWFwSW5mb3JtYXRpb24gPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVNYXAoKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50QXJlYUlkID0gLTE7XHJcbiAgICAgICAgdGhpcy5zaG93SW1hZ2VNYXBJbmZvcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubXlJbWFnZU1hcC5yZW1vdmVBbGxBcmVhcygpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU3RhdHVzTWVzc2FnZSh0ZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodGhpcy5teVN0YXR1c1JlZikge1xyXG4gICAgICAgICAgICB0aGlzLm15U3RhdHVzUmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGV4dCB8fCAnJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25VcmxLZXl1cCgpIHtcclxuICAgICAgICB0aGlzLmlzVXJsUHJvY2Vzc2luZyA9IHRydWU7XHJcbiAgICAgICAgaWYgKHRoaXMudXJsICE9IHRoaXMucHJvY2Vzc2VkVXJsKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFyc2VMaW5rVXJsKHRoaXMudXJsKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVBcmVhVmFsdWVzKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmlzVXJsUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVXJsQ2hhbmdlKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5pc1VybFByb2Nlc3NpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5vblVybEtleXVwKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQW5jaG9yVGV4dENoYW5nZSgpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZUFyZWFWYWx1ZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBvblByb3RvY29sQ2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlQXJlYVZhbHVlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVGFyZ2V0Q2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlQXJlYVZhbHVlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQWRkQXJlYShpZDogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50QXJlYUlkID0gaWQ7XHJcbiAgICAgICAgdGhpcy5zaG93SW1hZ2VNYXBJbmZvcm1hdGlvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5pbml0RGVmYXVsdFZhbHVlcygpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQXJlYVZhbHVlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUFyZWFWYWx1ZXMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEFyZWFJZCA+IC0xKSB7XHJcbiAgICAgICAgICAgIHZhciBhaHJlZiA9IHRoaXMuYnVpbGRVcmxXaXRoUHJvdG9jb2woKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMaW5rVHlwZSA9PSBMaW5rVHlwZS5hbmNob3JUZXh0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuYXJlYXNbdGhpcy5jdXJyZW50QXJlYUlkXS5hdGFyZ2V0ID0gVGFyZ2V0VHlwZU5hbWUuc2FtZTtcclxuICAgICAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5hcmVhc1t0aGlzLmN1cnJlbnRBcmVhSWRdLmFhbHQgPSB0aGlzLmFuY2hvclRleHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuYXJlYXNbdGhpcy5jdXJyZW50QXJlYUlkXS5hdGFyZ2V0ID0gdGhpcy5zZWxlY3RlZFRhcmdldCB8fCBUYXJnZXRUeXBlTmFtZS5uZXc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuYXJlYXNbdGhpcy5jdXJyZW50QXJlYUlkXS5hYWx0ID0gdGhpcy5hZHZpc29yeVRpdGxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5hcmVhc1t0aGlzLmN1cnJlbnRBcmVhSWRdLmFocmVmID0gYWhyZWY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJ1aWxkVXJsV2l0aFByb3RvY29sKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGlua1R5cGUgPT0gTGlua1R5cGUuYW5jaG9yVGV4dCkge1xyXG4gICAgICAgICAgICByZXR1cm4gJyMnICsgKHRoaXMuYW5jaG9yVGV4dCB8fCAnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghIXRoaXMucHJvY2Vzc2VkVXJsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkUHJvdG9jb2wgKyB0aGlzLnByb2Nlc3NlZFVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbG9zZURpYWxvZygpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTW9kZUNoYW5nZShlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZSA9IGUudmFsdWU7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlID09IEltYWdlTW9kZU5hbWUuUG9pbnRlciB8fCB0aGlzLnNlbGVjdGVkTW9kZSA9PSBJbWFnZU1vZGVOYW1lLlJlbW92ZSkge1xyXG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuaXNfZHJhd2luZyA9IDA7XHJcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5uZXh0U2hhcGUgPSAnJztcclxuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuY3Vyc29yID0gJ2RlZmF1bHQnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLm5leHRTaGFwZSA9IHRoaXMuc2VsZWN0ZWRNb2RlO1xyXG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5jdXJzb3IgPSAnY3Jvc3NoYWlyJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25ab29tQ2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMuc2V0SW1hZ2VTaXplKCk7XHJcbiAgICAgICAgaWYgKHRoaXMubXlJbWFnZU1hcCkge1xyXG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuc2NhbGVBbGxBcmVhcyh0aGlzLnNlbGVjdGVkWm9vbSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uTGlua1R5cGVDaGFuZ2UoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMaW5rVHlwZSA9PT0gTGlua1R5cGUuYW5jaG9yVGV4dCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldEVkaXRvckFuY2hvcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZUFyZWFWYWx1ZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRFZGl0b3JBbmNob3IoKSB7XHJcbiAgICAgICAgdGhpcy5hbmNob3JEb2N1bWVudHMgPSBbXTtcclxuICAgICAgICBpZiAodGhpcy5pbWFnZU1hcERhdGEuZWRpdG9yQ29udGVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmFuY2hvckRvY3VtZW50cy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGlkOiAwLFxyXG4gICAgICAgICAgICAgICAgZW50aXR5SWQ6IDAsXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudElkOiAwLFxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRUeXBlSWQ6IDAsXHJcbiAgICAgICAgICAgICAgICByaWNoVGV4dDogdGhpcy5pbWFnZU1hcERhdGEuZWRpdG9yQ29udGVudFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRBbmNob3JEb2N1bWVudCh0aGlzLmFuY2hvckRvY3VtZW50cyk7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JBbmNob3JzID0gdGhpcy5hbmNob3JzO1xyXG4gICAgfVxyXG5cclxuICAgIHNldEltYWdlU2l6ZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5teUltYWdlUmVmKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5uYXR1cmFsSW1hZ2VXaWR0aCAqIHRoaXMuc2VsZWN0ZWRab29tO1xyXG4gICAgICAgICAgICBjb25zdCBoZWlnaHQgPSB0aGlzLm5hdHVyYWxJbWFnZUhlaWdodCAqIHRoaXMuc2VsZWN0ZWRab29tO1xyXG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ3aWR0aFwiLCBgJHt3aWR0aH1weDtgKTtcclxuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiaGVpZ2h0XCIsIGAke2hlaWdodH1weDtgKTtcclxuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHt3aWR0aH1weGA7XHJcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke2hlaWdodH1weGA7XHJcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmN1cnNvciA9IHRoaXMuc2VsZWN0ZWRNb2RlID09IEltYWdlTW9kZU5hbWUuUG9pbnRlciB8fCB0aGlzLnNlbGVjdGVkTW9kZSA9PSBJbWFnZU1vZGVOYW1lLlJlbW92ZSA/ICdkZWZhdWx0JyA6ICdjcm9zc2hhaXInO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBlSGFuZGJvb2soaXNPbmx5RG9jdW1lbnQ6IGJvb2xlYW4sIGlzQW5jaG9yRG9jdW1lbnQ6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCBkYXRhID0gbmV3IFFNU0NLRWRpdG9yUmVsYXRpb24oKTtcclxuICAgICAgICBkYXRhLmlzT25seURvY3VtZW50ID0gaXNPbmx5RG9jdW1lbnQ7XHJcbiAgICAgICAgZGF0YS5pc0VuYWJsZUZvbGRlciA9ICFpc09ubHlEb2N1bWVudDtcclxuICAgICAgICBjb25zdCBkaWFsb2dUZW1wbGF0ZSA9IHRoaXMuZGlhbG9nLm9wZW4oUU1TQ0tFZGl0b3JSZWxhdGVkQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAnNjUwcHgnLFxyXG4gICAgICAgICAgICBoZWlnaHQ6ICc2NTBweCcsXHJcbiAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGRpYWxvZ1RlbXBsYXRlXHJcbiAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0FuY2hvckRvY3VtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRJZCA9IHJlc3VsdC5pZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy90aGlzLmFuY2hvclRpdGxlID0gYCR7cmVzdWx0LnRpdGxlfSgke3Jlc3VsdC5pZH0pYDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRBbmNob3JEb2N1bWVudChyZXN1bHQuaWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGFyc2VMaW5rVXJsKHJlc3VsdC51cmwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUHJvdG9jb2wgPSBQcm90b2NvbFR5cGVOYW1lLm90aGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuYWR2aXNvcnlUaXRsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZHZpc29yeVRpdGxlID0gcmVzdWx0LnRpdGxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQXJlYVZhbHVlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBbmNob3JEb2N1bWVudChkb2N1bWVudElkOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLmxpbmtTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRBbmNob3JEb2N1bWVudExpc3QoZG9jdW1lbnRJZClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmNob3JEb2N1bWVudHMgPSByZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRBbmNob3JEb2N1bWVudCh0aGlzLmFuY2hvckRvY3VtZW50cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy90aGlzLmRvY3VtZW50QW5jaG9ycyA9IHRoaXMuYW5jaG9ycztcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmNob3JEb2N1bWVudHMgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEFuY2hvckRvY3VtZW50KHRoaXMuYW5jaG9yRG9jdW1lbnRzKTtcclxuICAgICAgICAgICAgICAgICAgICAvL3RoaXMuZG9jdW1lbnRBbmNob3JzID0gdGhpcy5hbmNob3JzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRBbmNob3JEb2N1bWVudChhbmNob3JEb2N1bWVudDogUU1TQ0tFZGl0b3JMaW5rQW5jaG9yRG9jdW1lbnRbXSkge1xyXG4gICAgICAgIHRoaXMuaW5pdEFuY2hvcigpO1xyXG4gICAgICAgIGxldCBpZCA9IDM7XHJcbiAgICAgICAgaWYgKGFuY2hvckRvY3VtZW50KSB7XHJcbiAgICAgICAgICAgIGFuY2hvckRvY3VtZW50LmZvckVhY2goKGUpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgICAgICAgZGl2LmlubmVySFRNTCA9IGUucmljaFRleHQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkb21Db250ZW50ID0gZGl2O1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYVRhZ3MgPSBkb21Db250ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhJyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoYVRhZ3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLWZvci1vZlxyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYVRhZ3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gYVRhZ3NbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YWcubmFtZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmFuY2hvcnMuZmluZEluZGV4KCh4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHguYW5jaG9yVmFsdWUgPT09IHRhZy5uYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmNob3JzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdWYWx1ZTogdGFnLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuY2hvclZhbHVlOiB0YWcubmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB0aGlzLmFuY2hvcnMucHVzaCh7XHJcbiAgICAgICAgLy8gICAgIHZhbHVlOiAxLFxyXG4gICAgICAgIC8vICAgICB2aWV3VmFsdWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5BTkNIT1JfQVRUQUNITUVOVCxcclxuICAgICAgICAvLyAgICAgYW5jaG9yVmFsdWU6IExpbmtBbmNob3IuQXR0YWNobWVudFxyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgICAgIC8vIHRoaXMuYW5jaG9ycy5wdXNoKHtcclxuICAgICAgICAvLyAgICAgdmFsdWU6IDIsXHJcbiAgICAgICAgLy8gICAgIHZpZXdWYWx1ZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLkFOQ0hPUl9SRUxBVEVEX0RPQ1VNRU5ULFxyXG4gICAgICAgIC8vICAgICBhbmNob3JWYWx1ZTogTGlua0FuY2hvci5SZWxhdGVkXHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGF0dGFjaG1lbnQoKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IG5ldyBRTVNDS0VkaXRvclBhcmFtdGVyKCk7XHJcbiAgICAgICAgZGF0YS5tb2R1bGUgPSB0aGlzLmltYWdlTWFwRGF0YS5tb2R1bGU7XHJcbiAgICAgICAgZGF0YS5lbnRpdHlJZCA9IHRoaXMuaW1hZ2VNYXBEYXRhLmVudGl0eUlkO1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1RlbXBsYXRlID0gdGhpcy5kaWFsb2cub3BlbihMaW5rQXR0YWNobWVudENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICB3aWR0aDogJzY1MHB4JyxcclxuICAgICAgICAgICAgaGVpZ2h0OiAnNjUwcHgnLFxyXG4gICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgICAgICBkaWFsb2dUZW1wbGF0ZVxyXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcnNlTGlua1VybChyZXN1bHQudXJsKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUHJvdG9jb2wgPSBQcm90b2NvbFR5cGVOYW1lLm90aGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5hZHZpc29yeVRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWR2aXNvcnlUaXRsZSA9IHJlc3VsdC50aXRsZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVBcmVhVmFsdWVzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmUoKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMubXlJbWFnZU1hcC5nZXRNYXBKc29uKCk7XHJcbiAgICAgICAgZGF0YS5pbWFnZUhlaWdodCA9IHRoaXMubmF0dXJhbEltYWdlSGVpZ2h0O1xyXG4gICAgICAgIGRhdGEuaW1hZ2VXaWR0aCA9IHRoaXMubmF0dXJhbEltYWdlV2lkdGg7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsKCkge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|