isite 2023.1.7 → 2023.1.10

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.
@@ -1,161 +1,159 @@
1
- ;
2
1
  ((w, d) => {
3
-
4
- const YXChart = {
5
-
6
- "data": [{
7
- "country": "USA",
8
- "visits": 3025
9
- }],
10
-
11
- "colors": {
12
- "saturation": 0.4,
13
- "list" : [
14
- "#ff5722"
15
- ]
2
+ const YXChart = {
3
+ data: [
4
+ {
5
+ country: 'USA',
6
+ visits: 3025,
7
+ },
8
+ ],
9
+
10
+ colors: {
11
+ saturation: 0.4,
12
+ list: ['#ff5722'],
13
+ },
14
+
15
+ yAxes: [
16
+ {
17
+ type: 'CategoryAxis',
18
+ renderer: {
19
+ minGridDistance: 20,
20
+ grid: {
21
+ location: 0,
22
+ },
16
23
  },
17
-
18
- "yAxes": [{
19
- "type": "CategoryAxis",
20
- "renderer": {
21
- "minGridDistance": 20,
22
- "grid": {
23
- "location": 0
24
- }
25
- },
26
- "dataFields": {
27
- "category": "country"
28
- }
29
- }],
30
-
31
-
32
- "xAxes": [{
33
- "type": "ValueAxis",
34
- "renderer": {
35
- "maxLabelPosition": 0.98
36
- }
37
- }],
38
-
39
-
40
- "series": [{
41
- "name": "test name",
42
- "type": "ColumnSeries",
43
-
44
-
45
- "dataFields": {
46
- "categoryY": "country",
47
- "valueX": "visits"
48
- },
49
-
50
-
51
- "defaultState": {
52
- "ransitionDuration": 1000
53
- },
54
-
55
-
56
- "sequencedInterpolation": !0,
57
- "sequencedInterpolationDelay": 100,
58
-
59
-
60
- "columns": {
61
- "template": {
62
- "tooltipText": "",
63
- "fill": "#0000ff"
64
- },
65
- "strokeOpacity": 0
66
- }
67
- }],
68
-
69
-
70
- "cursor": {
71
- "type": "XYCursor",
72
- "behavior": "zoomY"
73
- }
74
- };
75
-
76
- const XYChart = {
77
- "colors": {
78
- "saturation": 0.4,
79
- "list" : [
80
- "#ff5722"
81
- ]
24
+ dataFields: {
25
+ category: 'country',
82
26
  },
83
- "data": [{
84
- "country": "USA",
85
- "visits": 3025
86
- }],
87
- "yAxes": [{
88
- "type": "ValueAxis",
89
- "renderer": {
90
- "maxLabelPosition": 0.98
91
- }
92
- }],
93
- "xAxes": [{
94
- "type": "CategoryAxis",
95
- "renderer": {
96
- "minGridDistance": 20,
97
- "grid": {
98
- "location": 0
99
- }
100
- },
101
- "dataFields": {
102
- "category": "country"
103
- }
104
- }],
105
- "series": [{
106
- "name": "test name",
107
- "type": "ColumnSeries",
108
- "dataFields": {
109
- "categoryX": "country",
110
- "valueY": "visits"
111
- },
112
- "columns": {
113
- "template": {
114
- "tooltipText": "",
115
- "fill": "#0000ff"
116
- },
117
- "strokeOpacity": 0
118
- },
119
- "defaultState": {
120
- "ransitionDuration": 1000
121
- },
122
- "sequencedInterpolation": !0,
123
- "sequencedInterpolationDelay": 100
124
- }],
125
-
27
+ },
28
+ ],
29
+
30
+ xAxes: [
31
+ {
32
+ type: 'ValueAxis',
33
+ renderer: {
34
+ maxLabelPosition: 0.98,
35
+ },
36
+ },
37
+ ],
126
38
 
127
- "cursor": {
128
- "type": "XYCursor",
129
- "behavior": "zoomX"
130
- }
131
- };
39
+ series: [
40
+ {
41
+ name: 'test name',
42
+ type: 'ColumnSeries',
132
43
 
133
- w.site = w.site || {};
134
- w.site.create_chart = function (options) {
135
- am4core.useTheme(am4themes_animated);
44
+ dataFields: {
45
+ categoryY: 'country',
46
+ valueX: 'visits',
47
+ },
136
48
 
137
- if (options.type == 'xy') {
138
- XYChart.xAxes[0].dataFields.category = options.x;
139
- XYChart.series[0].dataFields.categoryX = options.x;
140
- XYChart.series[0].dataFields.valueY = options.y;
141
- if(options.color){
142
- XYChart.colors.list[0] = options.color;
143
- }
144
-
145
- XYChart.data = options.data;
146
- am4core.createFromConfig(XYChart, document.querySelector(options.selector), am4charts.XYChart);
147
- } else if (options.type == 'yx') {
148
- YXChart.yAxes[0].dataFields.category = options.y;
149
- YXChart.series[0].dataFields.categoryY = options.y;
150
- YXChart.series[0].dataFields.valueX = options.x;
151
- if(options.color){
152
- YXChart.colors.list[0] = options.color;
153
- }
154
- YXChart.data = options.data;
155
- am4core.createFromConfig(YXChart, document.querySelector(options.selector), am4charts.XYChart);
156
- }
49
+ defaultState: {
50
+ ransitionDuration: 1000,
51
+ },
157
52
 
158
-
159
- };
53
+ sequencedInterpolation: !0,
54
+ sequencedInterpolationDelay: 100,
160
55
 
161
- })(window, document);
56
+ columns: {
57
+ template: {
58
+ tooltipText: '',
59
+ fill: '#0000ff',
60
+ },
61
+ strokeOpacity: 0,
62
+ },
63
+ },
64
+ ],
65
+
66
+ cursor: {
67
+ type: 'XYCursor',
68
+ behavior: 'zoomY',
69
+ },
70
+ };
71
+
72
+ const XYChart = {
73
+ colors: {
74
+ saturation: 0.4,
75
+ list: ['#ff5722'],
76
+ },
77
+ data: [
78
+ {
79
+ country: 'USA',
80
+ visits: 3025,
81
+ },
82
+ ],
83
+ yAxes: [
84
+ {
85
+ type: 'ValueAxis',
86
+ renderer: {
87
+ maxLabelPosition: 0.98,
88
+ },
89
+ },
90
+ ],
91
+ xAxes: [
92
+ {
93
+ type: 'CategoryAxis',
94
+ renderer: {
95
+ minGridDistance: 20,
96
+ grid: {
97
+ location: 0,
98
+ },
99
+ },
100
+ dataFields: {
101
+ category: 'country',
102
+ },
103
+ },
104
+ ],
105
+ series: [
106
+ {
107
+ name: 'test name',
108
+ type: 'ColumnSeries',
109
+ dataFields: {
110
+ categoryX: 'country',
111
+ valueY: 'visits',
112
+ },
113
+ columns: {
114
+ template: {
115
+ tooltipText: '',
116
+ fill: '#0000ff',
117
+ },
118
+ strokeOpacity: 0,
119
+ },
120
+ defaultState: {
121
+ ransitionDuration: 1000,
122
+ },
123
+ sequencedInterpolation: !0,
124
+ sequencedInterpolationDelay: 100,
125
+ },
126
+ ],
127
+
128
+ cursor: {
129
+ type: 'XYCursor',
130
+ behavior: 'zoomX',
131
+ },
132
+ };
133
+
134
+ w.site = w.site || {};
135
+ w.site.create_chart = function (options) {
136
+ am4core.useTheme(am4themes_animated);
137
+
138
+ if (options.type == 'xy') {
139
+ XYChart.xAxes[0].dataFields.category = options.x;
140
+ XYChart.series[0].dataFields.categoryX = options.x;
141
+ XYChart.series[0].dataFields.valueY = options.y;
142
+ if (options.color) {
143
+ XYChart.colors.list[0] = options.color;
144
+ }
145
+
146
+ XYChart.data = options.data;
147
+ am4core.createFromConfig(XYChart, document.querySelector(options.selector), am4charts.XYChart);
148
+ } else if (options.type == 'yx') {
149
+ YXChart.yAxes[0].dataFields.category = options.y;
150
+ YXChart.series[0].dataFields.categoryY = options.y;
151
+ YXChart.series[0].dataFields.valueX = options.x;
152
+ if (options.color) {
153
+ YXChart.colors.list[0] = options.color;
154
+ }
155
+ YXChart.data = options.data;
156
+ am4core.createFromConfig(YXChart, document.querySelector(options.selector), am4charts.XYChart);
157
+ }
158
+ };
159
+ })(window, document);
@@ -179,7 +179,6 @@ module.exports = function (site) {
179
179
  __dirname + '/site_files/css/fonts.css',
180
180
  __dirname + '/site_files/css/font-droid.css',
181
181
  __dirname + '/site_files/css/effect.css',
182
- __dirname + '/site_files/css/scrollbar.css',
183
182
  __dirname + '/site_files/css/table.css',
184
183
  __dirname + '/site_files/css/treeview.css',
185
184
  __dirname + '/site_files/css/tabs.css',
@@ -42,6 +42,7 @@ body {
42
42
  }
43
43
  label {
44
44
  float: left;
45
+ color: var(--label-color);
45
46
  }
46
47
  .ar label {
47
48
  float: right;
@@ -66,7 +67,7 @@ fieldset legend {
66
67
  width: auto;
67
68
  padding: 5px;
68
69
  }
69
- .ar fieldset legend{
70
+ .ar fieldset legend {
70
71
  float: right;
71
72
  }
72
73
  legend::after {
@@ -124,19 +125,30 @@ i-file button {
124
125
  i-upload {
125
126
  display: inline-block;
126
127
  }
127
- i-date .fa {
128
+ i-date .left-10,
129
+ i-datetime .left-10 {
130
+ margin-left: 10px;
131
+ }
132
+ i-date .fas,
133
+ i-datetime .fas {
128
134
  font-size: 24px;
129
135
  vertical-align: middle;
130
136
  margin-top: 5px;
137
+ cursor: pointer;
138
+ }
139
+ i-date .fas:hover,
140
+ i-datetime .fas:hover {
141
+ font-size: 26px;
131
142
  }
132
143
  i-date p,
133
144
  i-datetime p {
134
- margin-top: 10px !important;
145
+ margin: 0 !important;
135
146
  }
136
- i-datetime.is-invalid .row {
137
- border: 1px solid #dc3545 !important;
138
- border-radius: 10px !important;
147
+ i-date input,
148
+ i-datetime input {
149
+ margin: 0 !important;
139
150
  }
151
+
140
152
  .modal-content {
141
153
  width: 75vw;
142
154
  height: 100vh;
@@ -85,6 +85,3 @@
85
85
  .ar .dropdown-item small{
86
86
  text-align: right;
87
87
  }
88
- .dropdown-content::-webkit-scrollbar {
89
- width: 5px;
90
- }
@@ -1,4 +1,9 @@
1
1
  @media all {
2
+ .loaded,
3
+ .hide {
4
+ visibility: collapse;
5
+ }
6
+
2
7
  .flex,
3
8
  .display-flex {
4
9
  display: flex !important;
@@ -49,18 +49,14 @@ h2 {
49
49
  h3 {
50
50
  font-size: clamp(14px, 1vw, 2vw);
51
51
  }
52
- .loaded {
53
- visibility: collapse;
54
- }
52
+
55
53
 
56
54
  .hidden,
57
55
  .hidden:is([class^='col']) {
58
56
  display: none !important;
59
57
  }
60
58
 
61
- .hide {
62
- visibility: collapse;
63
- }
59
+
64
60
 
65
61
  .mobile {
66
62
  display: none !important;
@@ -54,6 +54,7 @@ body.a4 {
54
54
  body.print-mode {
55
55
  padding: 0px !important;
56
56
  margin: 2mm !important;
57
+ display: contents;
57
58
  }
58
59
  body.print-mode .hide {
59
60
  visibility: visible;
@@ -0,0 +1,24 @@
1
+ <div class="mb-3">
2
+ <label> {{label}} </label>
3
+ <div class="row" ng-hide="editOnly">
4
+ <p ng-click="editOnly = true" class="blue border padding pointer">
5
+ <span>{{model.selectedDay.name || '__'}} </span> / <span>{{model.selectedMonth.name || '______'}}</span> / <span>{{model.selectedYear.name || '____'}}</span>
6
+ </p>
7
+ </div>
8
+ <div class="row dashed padding margin" ng-show="editOnly">
9
+ <div class="col3">
10
+ <i-list label="{{dayTitle}}" v="{{v}}" items="days" ng-search="$selectedDay" ng-model="model.selectedDay"></i-list>
11
+ </div>
12
+ <div class="col4">
13
+ <i-list label="{{monthTitle}}" v="{{v}}" items="monthes" ng-search="$selectedMonth" ng-model="model.selectedMonth"></i-list>
14
+ </div>
15
+ <div class="col3">
16
+ <i-list label="{{yearTitle}}" v="{{v}}" items="years" ng-search="$selectedYear" ng-model="model.selectedYear" active-value="model.activeYear"></i-list>
17
+ </div>
18
+
19
+ <div class="col2">
20
+ <br />
21
+ <i-button type="save default" ng-click="updateDate()"></i-button>
22
+ </div>
23
+ </div>
24
+ </div>
@@ -1,24 +1,28 @@
1
1
  <div class="mb-3">
2
- <label> {{label}} </label>
2
+ <label for="{{id2}}" class="form-label"> <span class="red bold"> {{requird}} </span> {{label}}</label>
3
3
  <div class="row" ng-hide="editOnly">
4
- <p ng-click="editOnly = true" class="blue border padding pointer">
5
- <span>{{model.selectedDay.name || '__'}} </span> / <span>{{model.selectedMonth.name || '______'}}</span> / <span>{{model.selectedYear.name || '____'}}</span>
4
+ <p ng-click="editOnly = true" class="blue bold border padding pointer">
5
+ <span class="bold">{{model.selectedDay || '__'}} </span> <span class="orange"> / </span> <span class="bold">{{model.selectedMonth.name || '______'}}</span> <span class="orange"> / </span> <span class="bold">{{model.selectedYear || '____'}}</span>
6
6
  </p>
7
7
  </div>
8
- <div class="row dashed padding margin" ng-show="editOnly">
9
- <div class="col3">
10
- <i-list label="{{dayTitle}}" v="{{v}}" items="days" ng-search="$selectedDay" ng-model="model.selectedDay"></i-list>
8
+ <div class="row" ng-show="editOnly">
9
+ <div class="col10">
10
+ <input
11
+ id="{{id2}}"
12
+ ng-disabled="disabled"
13
+ autofocus
14
+ type="date"
15
+ ng-model="ngModel1"
16
+ ng-change="ngChange()"
17
+ ngKeydown="ngKeydown()"
18
+ class="form-control"
19
+ placeholder="{{placeholder}}"
20
+ aria-label="{{label}}"
21
+ />
11
22
  </div>
12
- <div class="col4">
13
- <i-list label="{{monthTitle}}" v="{{v}}" items="monthes" ng-search="$selectedMonth" ng-model="model.selectedMonth"></i-list>
14
- </div>
15
- <div class="col3">
16
- <i-list label="{{yearTitle}}" v="{{v}}" items="years" ng-search="$selectedYear" ng-model="model.selectedYear" active-value="model.activeYear"></i-list>
17
- </div>
18
-
19
23
  <div class="col2">
20
- <br />
21
- <i-button type="save default" ng-click="updateDate()"></i-button>
24
+ <i class="fas fa-save" ng-click="updateDate()"></i>
22
25
  </div>
26
+ <div class="invalid-feedback"></div>
23
27
  </div>
24
28
  </div>
@@ -1,32 +1,21 @@
1
1
  <div class="mb-3">
2
- <label> {{label}} </label>
2
+ <label for="{{id2}}" class="form-label"> <span class="red bold"> {{requird}} </span> {{label}}</label>
3
3
  <div class="row" ng-hide="editOnly">
4
- <p ng-click="editOnly = true" class="blue border padding pointer">
5
- <span>{{model.selectedDay.name || '__'}} </span> / <span>{{model.selectedMonth.name || '______'}}</span> / <span>{{model.selectedYear.name || '____'}}</span> <span class="bold green">{{model.selectedHour.name || '--'}} </span> :
6
- <span class="bold green">{{model.selectedMinute.name || '--'}}</span>
4
+ <p ng-click="editOnly = true" class="blue border padding pointer">
5
+ <span class="bold">{{model.selectedDay || '__'}} </span> <span class="orange"> / </span> <span class="bold">{{model.selectedMonth.name || '______'}}</span> <span class="orange"> / </span> <span class="bold">{{model.selectedYear || '____'}}</span>
6
+ <span class="black left-10"> ( </span> <span class="bold green">{{model.selectedHour || '__'}}</span> <span class="orange"> : </span> <span class="green bold">{{model.selectedMinute || '__'}} </span> <span class="black"> ) </span>
7
7
  </p>
8
8
  </div>
9
- <div class="row dashed padding margin" ng-show="editOnly">
10
- <div class="col2">
11
- <i-list label="{{dayTitle}}" items="days" ng-search="$selectedDay" ng-model="model.selectedDay"></i-list>
12
- </div>
13
- <div class="col3">
14
- <i-list label="{{monthTitle}}" items="monthes" ng-search="$selectedMonth" ng-model="model.selectedMonth"></i-list>
9
+ <div class="row" ng-show="editOnly">
10
+ <div class="col6">
11
+ <input id="date_{{id2}}" ng-disabled="disabled" autofocus type="date" ng-model="ngModel1" class="form-control" aria-label="{{label}}" />
15
12
  </div>
16
- <div class="col3">
17
- <i-list label="{{yearTitle}}" items="years" ng-search="$selectedYear" ng-model="model.selectedYear"></i-list>
13
+ <div class="col4">
14
+ <input id="time_{{id2}}" ng-disabled="disabled" autofocus min="00:00" max="23:59" type="time" ng-model="ngModel2" class="form-control" aria-label="{{label}}" />
18
15
  </div>
19
-
20
16
  <div class="col2">
21
- <i-list label="{{hourTitle}}" items="hours" ng-search="$selectedHour" ng-model="model.selectedHour"></i-list>
22
- </div>
23
- <div class="col2">
24
- <i-list label="{{minuteTitle}}" items="minutes" ng-search="$selectedMinute" ng-model="model.selectedMinute"></i-list>
25
- </div>
26
- <div class="row">
27
- <br />
28
- <i-button type="save default" ng-click="updateDate()"></i-button>
17
+ <i class="fas fa-save" ng-click="updateDate()"></i>
29
18
  </div>
19
+ <div class="invalid-feedback"></div>
30
20
  </div>
31
- <div class="invalid-feedback"></div>
32
21
  </div>
@@ -349,4 +349,3 @@ var m=je(l,c,b);d.$observe("pattern",function(a){var d=m;m=je(a,c,b);(d&&d.toStr
349
349
  b?0:a.length-b-1}a.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:"January February March April May June July August September October November December".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONEMONTH:"January February March April May June July August September October November December".split(" "),
350
350
  WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-\u00a4",negSuf:"",posPre:"\u00a4",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(a,
351
351
  c){var e=a|0,f=c;void 0===f&&(f=Math.min(b(a),3));Math.pow(10,f);return 1==e&&0==f?"one":"other"}})}]),x(function(){Ee(z.document,Wc)}))})(window);!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend(window.angular.element("<style>").text('@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}'));
352
- //# sourceMappingURL=angular.min.js.map
@@ -0,0 +1 @@
1
+ (function(t,n){var r,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(r=t.Base64,e=n(),e.noConflict=function(){return t.Base64=r,e},t.Meteor&&(Base64=e),t.Base64=e)})("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:this,function(){"use strict";var t,n,r="3.7.2",e=r,o="function"==typeof atob,u="function"==typeof btoa,i="function"==typeof Buffer,f="function"==typeof TextDecoder?new TextDecoder:void 0,c="function"==typeof TextEncoder?new TextEncoder:void 0,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=Array.prototype.slice.call(a),s=(t=d,n={},t.forEach(function(t,r){return n[t]=r}),n),l=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,h=String.fromCharCode.bind(String),p="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):function(t,n){return void 0===n&&(n=function(t){return t}),new Uint8Array(Array.prototype.slice.call(t,0).map(n))},y=function(t){return t.replace(/=/g,"").replace(/[+\/]/g,function(t){return"+"==t?"-":"_"})},A=function(t){return t.replace(/[^A-Za-z0-9\+\/]/g,"")},b=function(t){for(var n,r,e,o,u="",i=t.length%3,f=0;f<t.length;){if((r=t.charCodeAt(f++))>255||(e=t.charCodeAt(f++))>255||(o=t.charCodeAt(f++))>255)throw new TypeError("invalid character found");n=r<<16|e<<8|o,u+=d[n>>18&63]+d[n>>12&63]+d[n>>6&63]+d[63&n]}return i?u.slice(0,i-3)+"===".substring(i):u},g=u?function(t){return btoa(t)}:i?function(t){return Buffer.from(t,"binary").toString("base64")}:b,B=i?function(t){return Buffer.from(t).toString("base64")}:function(t){for(var n=4096,r=[],e=0,o=t.length;e<o;e+=n)r.push(h.apply(null,t.subarray(e,e+n)));return g(r.join(""))},x=function(t,n){return void 0===n&&(n=!1),n?y(B(t)):B(t)},C=function(t){if(t.length<2){var n=t.charCodeAt(0);return n<128?t:n<2048?h(192|n>>>6)+h(128|63&n):h(224|n>>>12&15)+h(128|n>>>6&63)+h(128|63&n)}n=65536+1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320);return h(240|n>>>18&7)+h(128|n>>>12&63)+h(128|n>>>6&63)+h(128|63&n)},m=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,v=function(t){return t.replace(m,C)},U=i?function(t){return Buffer.from(t,"utf8").toString("base64")}:c?function(t){return B(c.encode(t))}:function(t){return g(v(t))},F=function(t,n){return void 0===n&&(n=!1),n?y(U(t)):U(t)},w=function(t){return F(t,!0)},S=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,E=function(t){switch(t.length){case 4:var n=(7&t.charCodeAt(0))<<18|(63&t.charCodeAt(1))<<12|(63&t.charCodeAt(2))<<6|63&t.charCodeAt(3),r=n-65536;return h(55296+(r>>>10))+h(56320+(1023&r));case 3:return h((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return h((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},D=function(t){return t.replace(S,E)},R=function(t){if(t=t.replace(/\s+/g,""),!l.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(3&t.length));for(var n,r,e,o="",u=0;u<t.length;)n=s[t.charAt(u++)]<<18|s[t.charAt(u++)]<<12|(r=s[t.charAt(u++)])<<6|(e=s[t.charAt(u++)]),o+=64===r?h(n>>16&255):64===e?h(n>>16&255,n>>8&255):h(n>>16&255,n>>8&255,255&n);return o},z=o?function(t){return atob(A(t))}:i?function(t){return Buffer.from(t,"base64").toString("binary")}:R,T=i?function(t){return p(Buffer.from(t,"base64"))}:function(t){return p(z(t),function(t){return t.charCodeAt(0)})},Z=function(t){return T(I(t))},j=i?function(t){return Buffer.from(t,"base64").toString("utf8")}:f?function(t){return f.decode(T(t))}:function(t){return D(z(t))},I=function(t){return A(t.replace(/[-_]/g,function(t){return"-"==t?"+":"/"}))},O=function(t){return j(I(t))},P=function(t){if("string"!=typeof t)return!1;var n=t.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(n)||!/[^\s0-9a-zA-Z\-_]/.test(n)},L=function(t){return{value:t,enumerable:!1,writable:!0,configurable:!0}},V=function(){var t=function(t,n){return Object.defineProperty(String.prototype,t,L(n))};t("fromBase64",function(){return O(this)}),t("toBase64",function(t){return F(this,t)}),t("toBase64URI",function(){return F(this,!0)}),t("toBase64URL",function(){return F(this,!0)}),t("toUint8Array",function(){return Z(this)})},_=function(){var t=function(t,n){return Object.defineProperty(Uint8Array.prototype,t,L(n))};t("toBase64",function(t){return x(this,t)}),t("toBase64URI",function(){return x(this,!0)}),t("toBase64URL",function(){return x(this,!0)})},k=function(){V(),_()},M={version:r,VERSION:e,atob:z,atobPolyfill:R,btoa:g,btoaPolyfill:b,fromBase64:O,toBase64:F,encode:F,encodeURI:w,encodeURL:w,utob:v,btou:D,decode:O,isValid:P,fromUint8Array:x,toUint8Array:Z,extendString:V,extendUint8Array:_,extendBuiltins:k,Base64:{}};return Object.keys(M).forEach(function(t){return M.Base64[t]=M[t]}),M});