@libs-ui/utils 0.2.345-0 → 0.2.346-1

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/date.d.ts CHANGED
@@ -3,6 +3,7 @@ import dayjs from 'dayjs';
3
3
  import 'dayjs/locale/en';
4
4
  import 'dayjs/locale/vi';
5
5
  export declare const setDefaultTimeZone: (localeZone?: string) => void;
6
+ export declare const setPatternCheckTimeUTC: (pattern: RegExp) => void;
6
7
  export type TYPE_FUNCTION_FORMAT_DATE = (time: dayjs.ConfigType, formatOutput: string, lang?: string) => string;
7
8
  export declare const updateFunctionFormatDate: (functionCustom: TYPE_FUNCTION_FORMAT_DATE) => void;
8
9
  /**
package/esm2022/date.mjs CHANGED
@@ -14,10 +14,14 @@ dayjs.extend(utc);
14
14
  dayjs.extend(timezone);
15
15
  dayjs.extend(customParseFormat);
16
16
  let timeZoneSetup = 'Asia/Ho_Chi_Minh';
17
+ let patternCheckTimeUTC = undefined;
17
18
  export const setDefaultTimeZone = (localeZone = timeZoneSetup) => {
18
19
  timeZoneSetup = localeZone;
19
20
  dayjs.tz.setDefault(localeZone);
20
21
  };
22
+ export const setPatternCheckTimeUTC = (pattern) => {
23
+ patternCheckTimeUTC = pattern;
24
+ };
21
25
  let functionFormatDate = undefined;
22
26
  export const updateFunctionFormatDate = (functionCustom) => {
23
27
  functionFormatDate = functionCustom;
@@ -53,8 +57,8 @@ export const getDayjs = (config) => {
53
57
  while (isSignal(formatOfDate)) {
54
58
  formatOfDate = formatOfDate();
55
59
  }
56
- if (typeof date === 'string' && /(\d{4}-)(\d{2}-)(\d{2})(\s)(\d{2}:)(\d{2}:)(\d{2}\.)(\d{3})(\d{3})/gi.test(date)) {
57
- date = dayjs(date.replace(/(\d{4}-)(\d{2}-)(\d{2})(\s)(\d{2}:)(\d{2}:)(\d{2}\.)(\d{3})(\d{3})/gi, '$1$2$3T$5$6$7$8Z')).utc();
60
+ if (typeof date === 'string' && patternCheckTimeUTC && new RegExp(patternCheckTimeUTC, 'gi').test(date)) {
61
+ date = dayjs(date.replace(new RegExp(patternCheckTimeUTC, 'gi'), '$1$2$3T$5$6$7$8Z')).utc();
58
62
  }
59
63
  if (utc) {
60
64
  if (formatOfDate) {
@@ -133,7 +137,7 @@ export const formatDate = (date, formatOutput = 'YYYY/MM/DD HH:mm', lang, format
133
137
  return date.format(getFormatData(getTypeByFormat(formatOutput), lang)) || '';
134
138
  };
135
139
  const getTypeByFormat = (format) => {
136
- if (format === 'dm' || format === 'dmy' || format === 'dmy hm' || format === 'my') {
140
+ if (format === 'dm' || format === 'dmy' || format === 'dmy hm' || format === 'my' || format === 'dmy hms' || format === 'hh:mm' || format === 'HH:mm' || format === 'hh:mm A' || format === 'HH:mm A' || format === 'dmy hmsS') {
137
141
  return format;
138
142
  }
139
143
  if (format === 'DD/MM/YYYY' || format === 'YYYY-MM-DD' || format === 'dd/MM/yyyy' || format === 'dd-MM-yyyy' || format === 'dd/mm/yyyy') {
@@ -148,6 +152,9 @@ const getTypeByFormat = (format) => {
148
152
  if (format === 'YYYY/MM/DD hh:mm:ss' || format === 'dmy hms' || format === 'dd/mm/yyyy hh:mm:ss') {
149
153
  return 'dmy hms';
150
154
  }
155
+ if (format.toLowerCase() === 'dd/mm/yyyy hh:mm:ss:ss' || format.toLowerCase() === 'yyyy/mm/dd hh:mm:ss:ss' || format.toLowerCase() === 'yyyy-mm-dd hh:mm:ss:ss' || format.toLowerCase() === 'dd-mm-yyyy hh:mm:ss:ss') {
156
+ return 'dmy hmsS';
157
+ }
151
158
  if (format === 'hh:mm' || format === 'HH:mm') {
152
159
  return 'hh:mm';
153
160
  }
@@ -189,6 +196,11 @@ const getFormatData = (type, lang) => {
189
196
  case 'hh:mm A':
190
197
  case 'HH:mm A':
191
198
  return 'HH:mm A';
199
+ case 'dmy hmsS':
200
+ if (lang === 'vi') {
201
+ return 'D MMM, YYYY HH:mm:ss:SSS';
202
+ }
203
+ return 'MMM D, YYYY HH:mm:ss:SSS';
192
204
  }
193
205
  };
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMtdWkvdXRpbHMvc3JjL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8saUJBQWlCLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxVQUFVLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxZQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3pCLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDM0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZCLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNoQyxJQUFJLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFVBQVUsR0FBRyxhQUFhLEVBQUUsRUFBRTtJQUMvRCxhQUFhLEdBQUcsVUFBVSxDQUFDO0lBQzNCLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUdGLElBQUksa0JBQWtCLEdBQTBDLFNBQVMsQ0FBQztBQUUxRSxNQUFNLENBQUMsTUFBTSx3QkFB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ZW50IjpbImltcG9ydCB7IGlzU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXREYXlqc0NvbmZpZywgR2V0RGF5anNSZXR1cm4sIE5vbk51bGxhYmxlRGF0ZSwgVFlQRV9PQkpFQ1QgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgJ2RheWpzL2xvY2FsZS9lbic7XG5pbXBvcnQgJ2RheWpzL2xvY2FsZS92aSc7XG5pbXBvcnQgY3VzdG9tUGFyc2VGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2N1c3RvbVBhcnNlRm9ybWF0JztcbmltcG9ydCBsb2NhbGVEYXRhIGZyb20gJ2RheWpzL3BsdWdpbi9sb2NhbGVEYXRhJztcbmltcG9ydCB0aW1lem9uZSBmcm9tICdkYXlqcy9wbHVnaW4vdGltZXpvbmUnO1xuaW1wb3J0IHVwZGF0ZUxvY2FsZSBmcm9tICdkYXlqcy9wbHVnaW4vdXBkYXRlTG9jYWxlJztcbmltcG9ydCB1dGMgZnJvbSAnZGF5anMvcGx1Z2luL3V0Yyc7XG5pbXBvcnQgeyBVdGlsc0NhY2hlIH0gZnJvbSAnLi9jYWNoZSc7XG5kYXlqcy5leHRlbmQobG9jYWxlRGF0YSk7XG5kYXlqcy5leHRlbmQodXBkYXRlTG9jYWxlKTtcbmRheWpzLmV4dGVuZCh1dGMpO1xuZGF5anMuZXh0ZW5kKHRpbWV6b25lKTtcbmRheWpzLmV4dGVuZChjdXN0b21QYXJzZUZvcm1hdCk7XG5sZXQgdGltZVpvbmVTZXR1cCA9ICdBc2lhL0hvX0NoaV9NaW5oJztcblxuZXhwb3J0IGNvbnN0IHNldERlZmF1bHRUaW1lWm9uZSA9IChsb2NhbGVab25lID0gdGltZVpvbmVTZXR1cCkgPT4ge1xuICB0aW1lWm9uZVNldHVwID0gbG9jYWxlWm9uZTtcbiAgZGF5anMudHouc2V0RGVmYXVsdChsb2NhbGVab25lKTtcbn07XG5cbmV4cG9ydCB0eXBlIFRZUEVfRlVOQ1RJT05fRk9STUFUX0RBVEUgPSAodGltZTogZGF5anMuQ29uZmlnVHlwZSwgZm9ybWF0T3V0cHV0OiBzdHJpbmcsIGxhbmc/OiBzdHJpbmcpID0+IHN0cmluZztcbmxldCBmdW5jdGlvbkZvcm1hdERhdGU6IFRZUEVfRlVOQ1RJT05fRk9STUFUX0RBVEUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVGdW5jdGlvbkZvcm1hdERhdGUgPSAoZnVuY3Rpb25DdXN0b206IFRZUEVfRlVOQ1RJT05fRk9STUFUX0RBVEUpID0+IHtcbiAgZnVuY3Rpb25Gb3JtYXREYXRlID0gZnVuY3Rpb25DdXN0b207XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBM4bqleSDEkeG7kWkgdMaw4bujbmcgZGF5anMgdGhlbyBjb25maWdcbiAqIEBwYXJhbSBjb25maWcgbuG6v3Uga2jDtG5nIGPDsyBjb25maWcgc+G6vSB0cuG6oyB24buBIMSR4buRaSB0xrDhu6NuZyBkYXlqcyBsw6AgdGjhu51pIGdpYW4gaGnhu4duIHThuqFpXG4gKiBAcGFyYW0gY29uZmlnLmRhdGUgdGjhu51pIGdpYW4gY+G6p24gbOG6pXlcbiAqIEBwYXJhbSBjb25maWcucmV0dXJuRGF5anNJZkNvbmZpZ0RhdGVOb3RFeGlzdCB0cnVlIG7hur91IG114buRbiB0cuG6oyB24buBIMSR4buRaSB0xrDhu6NuZyBkYXlqcyBu4bq/dSBjb25maWcuZGF0ZSBraMO0bmcgY8OzXG4gKiBAcGFyYW0gY29uZmlnLnV0YyB0cnVlIG7hur91IG114buRbiBs4bqleSB0aOG7nWkgZ2lhbiBVVENcbiAqIEBwYXJhbSBjb25maWcuZm9ybWF0T2ZEYXRlIMSR4buLbmggZOG6oW5nIHRo4budaSBnaWFuIMSRYW5nIMSRxrDhu6NjIHRydXnhu4FuIHbDoG9cbiAqL1xuZXhwb3J0IGNvbnN0IGdldERheWpzID0gPEMgZXh0ZW5kcyBHZXREYXlqc0NvbmZpZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4oY29uZmlnPzogQyk6IEdldERheWpzUmV0dXJuPEM+ID0+IHtcbiAgLy8gaGVscGVyIGNhc3QgxJHhu4MgdHLDoW5oIGzhurdwIGzhuqFpIGtp4buDdSDEkWnhu4F1IGtp4buHbiDhu58gY8OhYyByZXR1cm5cbiAgY29uc3Qgb3V0ID0gKHY6IHVua25vd24pID0+IHYgYXMgR2V0RGF5anNSZXR1cm48Qz47XG4gIGlmICghY29uZmlnKSB7XG4gICAgcmV0dXJuIG91dChkYXlqcygpLnR6KCkpO1xuICB9XG4gIGNvbmZpZy5kYXRlID0gIWNvbmZpZy5kYXRlICYmIGNvbmZpZy5yZXR1cm5EYXlqc0lmQ29uZmlnRGF0ZU5vdEV4aXN0ID8gZGF5anMoKS50eigpIDogY29uZmlnLmRhdGU7XG4gIGlmICh0eXBlb2YgY29uZmlnLmRhdGUgPT09ICdudW1iZXInKSB7XG4gICAgY29uZmlnLmRhdGUgPSBkYXlqcy51bml4KGNvbmZpZy5kYXRlKTtcbiAgfVxuICBpZiAoIWNvbmZpZy5kYXRlKSB7XG4gICAgcmV0dXJuIG91dCh1bmRlZmluZWQpO1xuICB9XG4gIGxldCB7IGRhdGUsIHV0YywgZm9ybWF0T2ZEYXRlIH0gPSBjb25maWcgYXMgVFlQRV9PQkpFQ1Q7XG5cbiAgd2hpbGUgKGlzU2lnbmFsKGRhdGUpKSB7XG4gICAgZGF0ZSA9IGRhdGUoKTtcbiAgfVxuICB3aGlsZSAoaXNTaWduYWwodXRjKSkge1xuICAgIHV0YyA9IHV0YygpO1xuICB9XG4gIHdoaWxlIChpc1NpZ25hbChmb3JtYXRPZkRhdGUpKSB7XG4gICAgZm9ybWF0T2ZEYXRlID0gZm9ybWF0T2ZEYXRlKCk7XG4gIH1cblxuICBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnICYmIC8oXFxkezR9LSkoXFxkezJ9LSkoXFxkezJ9KShcXHMpKFxcZHsyfTopKFxcZHsyfTopKFxcZHsyfVxcLikoXFxkezN9KShcXGR7M30pL2dpLnRlc3QoZGF0ZSkpIHtcbiAgICBkYXRlID0gZGF5anMoZGF0ZS5yZXBsYWNlKC8oXFxkezR9LSkoXFxkezJ9LSkoXFxkezJ9KShcXHMpKFxcZHsyfTopKFxcZHsyfTopKFxcZHsyfVxcLikoXFxkezN9KShcXGR7M30pL2dpLCAnJDEkMiQzVCQ1JDYkNyQ4WicpKS51dGMoKTtcbiAgfVxuXG4gIGlmICh1dGMpIHtcbiAgICBpZiAoZm9ybWF0T2ZEYXRlKSB7XG4gICAgICByZXR1cm4gb3V0KGRheWpzKGRhdGUsIGZvcm1hdE9mRGF0ZSkudXRjKCkpO1xuICAgIH1cbiAgICBjb25zdCBkYXRlSW5wdXRJc1VUQyA9IChkYXlqcy5pc0RheWpzKGRhdGUpICYmIGRhdGUuaXNVVEMoKSkgfHwgKHR5cGVvZiBkYXRlID09PSAnc3RyaW5nJyAmJiAoZGF0ZSBhcyBzdHJpbmcpLmluY2x1ZGVzKCdaJykpO1xuXG4gICAgaWYgKGRhdGVJbnB1dElzVVRDKSB7XG4gICAgICByZXR1cm4gb3V0KGRheWpzKGRhdGUpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0KGRheWpzKGRhdGUpLnV0YygpKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ3N0cmluZycgJiYgIShkYXRlIGFzIHN0cmluZykuaW5jbHVkZXMoJ1onKSAmJiAhKGRhdGUgYXMgc3RyaW5nKS5pbmNsdWRlcygnKycpKSB7XG4gICAgcmV0dXJuIG91dChmb3JtYXRPZkRhdGUgPyBkYXlqcy50eihkYXRlLCBmb3JtYXRPZkRhdGUsIGNvbmZpZy5sb2NhbGVab25lIHx8IHRpbWVab25lU2V0dXApIDogZGF5anMudHooZGF0ZSwgY29uZmlnLmxvY2FsZVpvbmUgfHwgdGltZVpvbmVTZXR1cCkpO1xuICB9XG5cbiAgcmV0dXJuIG91dCgoZm9ybWF0T2ZEYXRlID8gZGF5anMoZGF0ZSwgZm9ybWF0T2ZEYXRlKSA6IGRheWpzKGRhdGUpKS50eigpKTtcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEtp4buDbSB0cmEgeGVtIGhhaSBuZ8OgeSBjw7Mga2jDoWMgbmhhdSBraMO0bmcgKGtow6FjIG5nw6B5IHRyb25nIHR14bqnbilcbiAqIEBwYXJhbSBkYXRlMSBuZ8OgeSB0aOG7qSBuaOG6pXQgY+G6p24gc28gc8OhbmhcbiAqIEBwYXJhbSBkYXRlMiBuZ8OgeSB0aOG7qSBoYWkgY+G6p24gc28gc8OhbmhcbiAqIEByZXR1cm5zIHRydWUgbuG6v3UgaGFpIG5nw6B5IGtow6FjIG5oYXUsIGZhbHNlIG7hur91IGdp4buRbmcgbmhhdSBob+G6t2Mga2jDtG5nIHRo4buDIHNvIHPDoW5oXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RpZmZlcmVuY2VEYXkgPSAoZGF0ZTE6IE5vbk51bGxhYmxlRGF0ZSwgZGF0ZTI6IE5vbk51bGxhYmxlRGF0ZSkgPT4ge1xuICBpZiAoaXNEaWZmZXJlbmNlTW9udGgoZGF0ZTEsIGRhdGUyKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnN0IGRheTEgPSBnZXREYXlqcyh7IGRhdGU6IGRhdGUxIH0pPy5kYXkoKTtcbiAgY29uc3QgZGF5MiA9IGdldERheWpzKHsgZGF0ZTogZGF0ZTIgfSk/LmRheSgpO1xuXG4gIHJldHVybiBkYXkxICE9PSBkYXkyO1xufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gS2nhu4NtIHRyYSB4ZW0gaGFpIG5nw6B5IGPDsyBraMOhYyB0aMOhbmcga2jDtG5nXG4gKiBAcGFyYW0gZGF0ZTEgbmfDoHkgdGjhu6kgbmjhuqV0IGPhuqduIHNvIHPDoW5oXG4gKiBAcGFyYW0gZGF0ZTIgbmfDoHkgdGjhu6kgaGFpIGPhuqduIHNvIHPDoW5oXG4gKiBAcmV0dXJucyB0cnVlIG7hur91IGhhaSBuZ8OgeSBraMOhYyB0aMOhbmcsIGZhbHNlIG7hur91IGPDuW5nIHRow6FuZyBob+G6t2Mga2jDtG5nIHRo4buDIHNvIHPDoW5oXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RpZmZlcmVuY2VNb250aCA9IChkYXRlMTogTm9uTnVsbGFibGVEYXRlLCBkYXRlMjogTm9uTnVsbGFibGVEYXRlKSA9PiB7XG4gIGlmIChpc0RpZmZlcmVuY2VZZWFyKGRhdGUxLCBkYXRlMikpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBjb25zdCBtb250aDEgPSBnZXREYXlqcyh7IGRhdGU6IGRhdGUxIH0pPy5tb250aCgpO1xuICBjb25zdCBtb250aDIgPSBnZXREYXlqcyh7IGRhdGU6IGRhdGUyIH0pPy5tb250aCgpO1xuXG4gIHJldHVybiBtb250aDEgIT09IG1vbnRoMjtcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEtp4buDbSB0cmEgeGVtIGhhaSBuZ8OgeSBjw7Mga2jDoWMgbsSDbSBraMO0bmdcbiAqIEBwYXJhbSBkYXRlMSBuZ8OgeSB0aOG7qSBuaOG6pXQgY+G6p24gc28gc8OhbmhcbiAqIEBwYXJhbSBkYXRlMiBuZ8OgeSB0aOG7qSBoYWkgY+G6p24gc28gc8OhbmhcbiAqIEByZXR1cm5zIHRydWUgbuG6v3UgaGFpIG5nw6B5IGtow6FjIG7Eg20sIGZhbHNlIG7hur91IGPDuW5nIG7Eg20gaG/hurdjIGtow7RuZyB0aOG7gyBzbyBzw6FuaFxuICovXG5leHBvcnQgY29uc3QgaXNEaWZmZXJlbmNlWWVhciA9IChkYXRlMTogTm9uTnVsbGFibGVEYXRlLCBkYXRlMjogTm9uTnVsbGFibGVEYXRlKSA9PiB7XG4gIGNvbnN0IHllYXIxID0gZ2V0RGF5anMoeyBkYXRlOiBkYXRlMSB9KT8ueWVhcigpO1xuICBjb25zdCB5ZWFyMiA9IGdldERheWpzKHsgZGF0ZTogZGF0ZTIgfSk/LnllYXIoKTtcblxuICByZXR1cm4geWVhcjEgIT09IHllYXIyO1xufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTOG6pXkgcmEgY2h14buXaSB0aOG7nWkgZ2lhbiBoaeG7g24gdGjhu4sgdGhlbyDEkeG7i25oIGThuqFuZyB2w6AgbmfDtG4gbmfhu69cbiAqIEBwYXJhbSBkYXRlIHRo4budaSBnaWFuIGPhuqduIMSR4buLbmggZOG6oW5nXG4gKiBAcGFyYW0gZm9ybWF0IMSR4buLbmggZOG6oW5nIHRo4budaSBnaWFuIG114buRbiBs4bqleSByYVxuICogQHBhcmFtIGxhbmcgbOG6pXkgdGhlbyBuZ8O0biBuZ+G7r1xuICovXG5leHBvcnQgY29uc3QgZm9ybWF0RGF0ZSA9IChkYXRlOiBkYXlqcy5Db25maWdUeXBlLCBmb3JtYXRPdXRwdXQgPSAnWVlZWS9NTS9ERCBISDptbScsIGxhbmc/OiBzdHJpbmcsIGZvcm1hdElucHV0Pzogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgaWYgKCFkYXRlKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIGxhbmcgPSBsYW5nIHx8IChVdGlsc0NhY2hlLmdldExhbmcoKSBhcyBzdHJpbmcpO1xuICBpZiAoZnVuY3Rpb25Gb3JtYXREYXRlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uRm9ybWF0RGF0ZShkYXRlLCBmb3JtYXRPdXRwdXQsIGxhbmcpO1xuICB9XG5cbiAgZGF0ZSA9IGdldERheWpzKHsgZGF0ZSwgZm9ybWF0T2ZEYXRlOiBmb3JtYXRJbnB1dCB9KS5sb2NhbGUobGFuZyk7XG4gIGlmIChsYW5nID09PSAndmknKSB7XG4gICAgZGF5anMudXBkYXRlTG9jYWxlKCd2aScsIHtcbiAgICAgIG1vbnRoc1Nob3J0OiAnVGhnIDFfVGhnIDJfVGhnIDNfVGhnIDRfVGhnIDVfVGhnIDZfVGhnIDdfVGhnIDhfVGhnIDlfVGhnIDEwX1RoZyAxMV9UaGcgMTInLnNwbGl0KCdfJyksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZGF0ZS5mb3JtYXQoZ2V0Rm9ybWF0RGF0YShnZXRUeXBlQnlGb3JtYXQoZm9ybWF0T3V0cHV0KSwgbGFuZykpIHx8ICcnO1xufTtcblxuY29uc3QgZ2V0VHlwZUJ5Rm9ybWF0ID0gKGZvcm1hdDogc3RyaW5nKTogJ2RtJyB8ICdkbXknIHwgJ2RteSBobScgfCAnbXknIHwgJ2RteSBobXMnIHwgJ2hoOm1tJyB8ICdISDptbScgfCAnaGg6bW0gQScgfCAnSEg6bW0gQScgPT4ge1xuICBpZiAoZm9ybWF0ID09PSAnZG0nIHx8IGZvcm1hdCA9PT0gJ2RteScgfHwgZm9ybWF0ID09PSAnZG15IGhtJyB8fCBmb3JtYXQgPT09ICdteScpIHtcbiAgICByZXR1cm4gZm9ybWF0O1xuICB9XG5cbiAgaWYgKGZvcm1hdCA9PT0gJ0REL01NL1lZWVknIHx8IGZvcm1hdCA9PT0gJ1lZWVktTU0tREQnIHx8IGZvcm1hdCA9PT0gJ2RkL01NL3l5eXknIHx8IGZvcm1hdCA9PT0gJ2RkLU1NLXl5eXknIHx8IGZvcm1hdCA9PT0gJ2RkL21tL3l5eXknKSB7XG4gICAgcmV0dXJuICdkbXknO1xuICB9XG5cbiAgaWYgKGZvcm1hdCA9PT0gJ01NLUREJyB8fCBmb3JtYXQgPT09ICdkZC9NTScgfHwgZm9ybWF0ID09PSAnZGQvbW0nKSB7XG4gICAgcmV0dXJuICdkbSc7XG4gIH1cblxuICBpZiAoZm9ybWF0ID09PSAnTS9ZWVlZJyB8fCBmb3JtYXQgPT09ICdZWVlZLU1NJyB8fCBmb3JtYXQgPT09ICdNTS95eXl5Jykge1xuICAgIHJldHVybiAnbXknO1xuICB9XG5cbiAgaWYgKGZvcm1hdCA9PT0gJ1lZWVkvTU0vREQgaGg6bW06c3MnIHx8IGZvcm1hdCA9PT0gJ2RteSBobXMnIHx8IGZvcm1hdCA9PT0gJ2RkL21tL3l5eXkgaGg6bW06c3MnKSB7XG4gICAgcmV0dXJuICdkbXkgaG1zJztcbiAgfVxuXG4gIGlmIChmb3JtYXQgPT09ICdoaDptbScgfHwgZm9ybWF0ID09PSAnSEg6bW0nKSB7XG4gICAgcmV0dXJuICdoaDptbSc7XG4gIH1cblxuICBpZiAoZm9ybWF0ID09PSAnaGg6bW0gQScgfHwgZm9ybWF0ID09PSAnSEg6bW0gQScpIHtcbiAgICByZXR1cm4gJ2hoOm1tIEEnO1xuICB9XG5cbiAgcmV0dXJuICdkbXkgaG0nO1xufTtcblxuY29uc3QgZ2V0Rm9ybWF0RGF0YSA9ICh0eXBlOiAnZG0nIHwgJ2RteScgfCAnZG15IGhtJyB8ICdteScgfCAnZG15IGhtcycgfCAnaGg6bW0nIHwgJ2hoOm1tIEEnIHwgJ0hIOm1tJyB8ICdISDptbSBBJywgbGFuZzogc3RyaW5nKSA9PiB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2RtJzpcbiAgICAgIGlmIChsYW5nID09PSAndmknKSB7XG4gICAgICAgIHJldHVybiAnRCBNTU0nO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ01NTSBEJztcblxuICAgIGNhc2UgJ2RteSc6XG4gICAgICBpZiAobGFuZyA9PT0gJ3ZpJykge1xuICAgICAgICByZXR1cm4gJ0QgTU1NLCBZWVlZJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdNTU0gRCwgWVlZWSc7XG5cbiAgICBjYXNlICdkbXkgaG0nOlxuICAgICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgICAgcmV0dXJuICdEIE1NTSwgWVlZWSBISDptbSc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnTU1NIEQsIFlZWVkgSEg6bW0nO1xuXG4gICAgY2FzZSAnbXknOlxuICAgICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgICAgcmV0dXJuICdNTU0sIFlZWVknO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ01NTSBZWVlZICc7XG5cbiAgICBjYXNlICdkbXkgaG1zJzpcbiAgICAgIGlmIChsYW5nID09PSAndmknKSB7XG4gICAgICAgIHJldHVybiAnRCBNTU0sIFlZWVkgSEg6bW06c3MnO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ01NTSBELCBZWVlZIEhIOm1tOnNzJztcblxuICAgIGNhc2UgJ2hoOm1tJzpcbiAgICBjYXNlICdISDptbSc6XG4gICAgICByZXR1cm4gJ0hIOm1tJztcblxuICAgIGNhc2UgJ2hoOm1tIEEnOlxuICAgIGNhc2UgJ0hIOm1tIEEnOlxuICAgICAgcmV0dXJuICdISDptbSBBJztcbiAgfVxufTtcbiJdfQ==
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMtdWkvdXRpbHMvc3JjL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8saUJBQWlCLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxVQUFVLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxZQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3pCLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDM0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZCLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNoQyxJQUFJLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUN2QyxJQUFJLG1CQUFtQixHQUF1QixTQUFTLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsYUFBYSxFQUFFLEVBQUU7SUFDL0QsYUFBYSxHQUFHLFVBQVUsQ0FBQztJQUMzQixLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFB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T0FBTyxhQUFhLENBQUM7WUFDdkIsQ0FBQztZQUVELE9BQU8sYUFBYSxDQUFDO1FBRXZCLEtBQUssUUFBUTtZQUNYLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNsQixPQUFPLG1CQUFtQixDQUFDO1lBQzdCLENBQUM7WUFFRCxPQUFPLG1CQUFtQixDQUFDO1FBRTdCLEtBQUssSUFBSTtZQUNQLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNsQixPQUFPLFdBQVcsQ0FBQztZQUNyQixDQUFDO1lBRUQsT0FBTyxXQUFXLENBQUM7UUFFckIsS0FBSyxTQUFTO1lBQ1osSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sc0JBQXNCLENBQUM7WUFDaEMsQ0FBQztZQUVELE9BQU8sc0JBQXNCLENBQUM7UUFFaEMsS0FBSyxPQUFPLENBQUM7UUFDYixLQUFLLE9BQU87WUFDVixPQUFPLE9BQU8sQ0FBQztRQUVqQixLQUFLLFNBQVMsQ0FBQztRQUNmLEtBQUssU0FBUztZQUNaLE9BQU8sU0FBUyxDQUFDO1FBQ25CLEtBQUssVUFBVTtZQUNiLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNsQixPQUFPLDBCQUEwQixDQUFDO1lBQ3BDLENBQUM7WUFFRCxPQUFPLDBCQUEwQixDQUFDO0lBQ3RDLENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0RGF5anNDb25maWcsIEdldERheWpzUmV0dXJuLCBOb25OdWxsYWJsZURhdGUsIFRZUEVfT0JKRUNUIH0gZnJvbSAnQGxpYnMtdWkvaW50ZXJmYWNlcy10eXBlcyc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZW4nO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvdmknO1xuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCc7XG5pbXBvcnQgbG9jYWxlRGF0YSBmcm9tICdkYXlqcy9wbHVnaW4vbG9jYWxlRGF0YSc7XG5pbXBvcnQgdGltZXpvbmUgZnJvbSAnZGF5anMvcGx1Z2luL3RpbWV6b25lJztcbmltcG9ydCB1cGRhdGVMb2NhbGUgZnJvbSAnZGF5anMvcGx1Z2luL3VwZGF0ZUxvY2FsZSc7XG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xuaW1wb3J0IHsgVXRpbHNDYWNoZSB9IGZyb20gJy4vY2FjaGUnO1xuZGF5anMuZXh0ZW5kKGxvY2FsZURhdGEpO1xuZGF5anMuZXh0ZW5kKHVwZGF0ZUxvY2FsZSk7XG5kYXlqcy5leHRlbmQodXRjKTtcbmRheWpzLmV4dGVuZCh0aW1lem9uZSk7XG5kYXlqcy5leHRlbmQoY3VzdG9tUGFyc2VGb3JtYXQpO1xubGV0IHRpbWVab25lU2V0dXAgPSAnQXNpYS9Ib19DaGlfTWluaCc7XG5sZXQgcGF0dGVybkNoZWNrVGltZVVUQzogUmVnRXhwIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG5leHBvcnQgY29uc3Qgc2V0RGVmYXVsdFRpbWVab25lID0gKGxvY2FsZVpvbmUgPSB0aW1lWm9uZVNldHVwKSA9PiB7XG4gIHRpbWVab25lU2V0dXAgPSBsb2NhbGVab25lO1xuICBkYXlqcy50ei5zZXREZWZhdWx0KGxvY2FsZVpvbmUpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFBhdHRlcm5DaGVja1RpbWVVVEMgPSAocGF0dGVybjogUmVnRXhwKSA9PiB7XG4gIHBhdHRlcm5DaGVja1RpbWVVVEMgPSBwYXR0ZXJuO1xufTtcblxuZXhwb3J0IHR5cGUgVFlQRV9GVU5DVElPTl9GT1JNQVRfREFURSA9ICh0aW1lOiBkYXlqcy5Db25maWdUeXBlLCBmb3JtYXRPdXRwdXQ6IHN0cmluZywgbGFuZz86IHN0cmluZykgPT4gc3RyaW5nO1xubGV0IGZ1bmN0aW9uRm9ybWF0RGF0ZTogVFlQRV9GVU5DVElPTl9GT1JNQVRfREFURSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUZ1bmN0aW9uRm9ybWF0RGF0ZSA9IChmdW5jdGlvbkN1c3RvbTogVFlQRV9GVU5DVElPTl9GT1JNQVRfREFURSkgPT4ge1xuICBmdW5jdGlvbkZvcm1hdERhdGUgPSBmdW5jdGlvbkN1c3RvbTtcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEzhuqV5IMSR4buRaSB0xrDhu6NuZyBkYXlqcyB0aGVvIGNvbmZpZ1xuICogQHBhcmFtIGNvbmZpZyBu4bq/dSBraMO0bmcgY8OzIGNvbmZpZyBz4bq9IHRy4bqjIHbhu4EgxJHhu5FpIHTGsOG7o25nIGRheWpzIGzDoCB0aOG7nWkgZ2lhbiBoaeG7h24gdOG6oWlcbiAqIEBwYXJhbSBjb25maWcuZGF0ZSB0aOG7nWkgZ2lhbiBj4bqnbiBs4bqleVxuICogQHBhcmFtIGNvbmZpZy5yZXR1cm5EYXlqc0lmQ29uZmlnRGF0ZU5vdEV4aXN0IHRydWUgbuG6v3UgbXXhu5FuIHRy4bqjIHbhu4EgxJHhu5FpIHTGsOG7o25nIGRheWpzIG7hur91IGNvbmZpZy5kYXRlIGtow7RuZyBjw7NcbiAqIEBwYXJhbSBjb25maWcudXRjIHRydWUgbuG6v3UgbXXhu5FuIGzhuqV5IHRo4budaSBnaWFuIFVUQ1xuICogQHBhcmFtIGNvbmZpZy5mb3JtYXRPZkRhdGUgxJHhu4tuaCBk4bqhbmcgdGjhu51pIGdpYW4gxJFhbmcgxJHGsOG7o2MgdHJ1eeG7gW4gdsOgb1xuICovXG5leHBvcnQgY29uc3QgZ2V0RGF5anMgPSA8QyBleHRlbmRzIEdldERheWpzQ29uZmlnIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkPihjb25maWc/OiBDKTogR2V0RGF5anNSZXR1cm48Qz4gPT4ge1xuICAvLyBoZWxwZXIgY2FzdCDEkeG7gyB0csOhbmggbOG6t3AgbOG6oWkga2nhu4N1IMSRaeG7gXUga2nhu4duIOG7nyBjw6FjIHJldHVyblxuICBjb25zdCBvdXQgPSAodjogdW5rbm93bikgPT4gdiBhcyBHZXREYXlqc1JldHVybjxDPjtcbiAgaWYgKCFjb25maWcpIHtcbiAgICByZXR1cm4gb3V0KGRheWpzKCkudHooKSk7XG4gIH1cbiAgY29uZmlnLmRhdGUgPSAhY29uZmlnLmRhdGUgJiYgY29uZmlnLnJldHVybkRheWpzSWZDb25maWdEYXRlTm90RXhpc3QgPyBkYXlqcygpLnR6KCkgOiBjb25maWcuZGF0ZTtcbiAgaWYgKHR5cGVvZiBjb25maWcuZGF0ZSA9PT0gJ251bWJlcicpIHtcbiAgICBjb25maWcuZGF0ZSA9IGRheWpzLnVuaXgoY29uZmlnLmRhdGUpO1xuICB9XG4gIGlmICghY29uZmlnLmRhdGUpIHtcbiAgICByZXR1cm4gb3V0KHVuZGVmaW5lZCk7XG4gIH1cbiAgbGV0IHsgZGF0ZSwgdXRjLCBmb3JtYXRPZkRhdGUgfSA9IGNvbmZpZyBhcyBUWVBFX09CSkVDVDtcblxuICB3aGlsZSAoaXNTaWduYWwoZGF0ZSkpIHtcbiAgICBkYXRlID0gZGF0ZSgpO1xuICB9XG4gIHdoaWxlIChpc1NpZ25hbCh1dGMpKSB7XG4gICAgdXRjID0gdXRjKCk7XG4gIH1cbiAgd2hpbGUgKGlzU2lnbmFsKGZvcm1hdE9mRGF0ZSkpIHtcbiAgICBmb3JtYXRPZkRhdGUgPSBmb3JtYXRPZkRhdGUoKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ3N0cmluZycgJiYgcGF0dGVybkNoZWNrVGltZVVUQyAmJiBuZXcgUmVnRXhwKHBhdHRlcm5DaGVja1RpbWVVVEMsICdnaScpLnRlc3QoZGF0ZSkpIHtcbiAgICBkYXRlID0gZGF5anMoZGF0ZS5yZXBsYWNlKG5ldyBSZWdFeHAocGF0dGVybkNoZWNrVGltZVVUQywgJ2dpJyksICckMSQyJDNUJDUkNiQ3JDhaJykpLnV0YygpO1xuICB9XG5cbiAgaWYgKHV0Yykge1xuICAgIGlmIChmb3JtYXRPZkRhdGUpIHtcbiAgICAgIHJldHVybiBvdXQoZGF5anMoZGF0ZSwgZm9ybWF0T2ZEYXRlKS51dGMoKSk7XG4gICAgfVxuICAgIGNvbnN0IGRhdGVJbnB1dElzVVRDID0gKGRheWpzLmlzRGF5anMoZGF0ZSkgJiYgZGF0ZS5pc1VUQygpKSB8fCAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnICYmIChkYXRlIGFzIHN0cmluZykuaW5jbHVkZXMoJ1onKSk7XG5cbiAgICBpZiAoZGF0ZUlucHV0SXNVVEMpIHtcbiAgICAgIHJldHVybiBvdXQoZGF5anMoZGF0ZSkpO1xuICAgIH1cblxuICAgIHJldHVybiBvdXQoZGF5anMoZGF0ZSkudXRjKCkpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBkYXRlID09PSAnc3RyaW5nJyAmJiAhKGRhdGUgYXMgc3RyaW5nKS5pbmNsdWRlcygnWicpICYmICEoZGF0ZSBhcyBzdHJpbmcpLmluY2x1ZGVzKCcrJykpIHtcbiAgICByZXR1cm4gb3V0KGZvcm1hdE9mRGF0ZSA/IGRheWpzLnR6KGRhdGUsIGZvcm1hdE9mRGF0ZSwgY29uZmlnLmxvY2FsZVpvbmUgfHwgdGltZVpvbmVTZXR1cCkgOiBkYXlqcy50eihkYXRlLCBjb25maWcubG9jYWxlWm9uZSB8fCB0aW1lWm9uZVNldHVwKSk7XG4gIH1cblxuICByZXR1cm4gb3V0KChmb3JtYXRPZkRhdGUgPyBkYXlqcyhkYXRlLCBmb3JtYXRPZkRhdGUpIDogZGF5anMoZGF0ZSkpLnR6KCkpO1xufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gS2nhu4NtIHRyYSB4ZW0gaGFpIG5nw6B5IGPDsyBraMOhYyBuaGF1IGtow7RuZyAoa2jDoWMgbmfDoHkgdHJvbmcgdHXhuqduKVxuICogQHBhcmFtIGRhdGUxIG5nw6B5IHRo4bupIG5o4bqldCBj4bqnbiBzbyBzw6FuaFxuICogQHBhcmFtIGRhdGUyIG5nw6B5IHRo4bupIGhhaSBj4bqnbiBzbyBzw6FuaFxuICogQHJldHVybnMgdHJ1ZSBu4bq/dSBoYWkgbmfDoHkga2jDoWMgbmhhdSwgZmFsc2UgbuG6v3UgZ2nhu5FuZyBuaGF1IGhv4bq3YyBraMO0bmcgdGjhu4Mgc28gc8OhbmhcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRGlmZmVyZW5jZURheSA9IChkYXRlMTogTm9uTnVsbGFibGVEYXRlLCBkYXRlMjogTm9uTnVsbGFibGVEYXRlKSA9PiB7XG4gIGlmIChpc0RpZmZlcmVuY2VNb250aChkYXRlMSwgZGF0ZTIpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgY29uc3QgZGF5MSA9IGdldERheWpzKHsgZGF0ZTogZGF0ZTEgfSk/LmRheSgpO1xuICBjb25zdCBkYXkyID0gZ2V0RGF5anMoeyBkYXRlOiBkYXRlMiB9KT8uZGF5KCk7XG5cbiAgcmV0dXJuIGRheTEgIT09IGRheTI7XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBLaeG7g20gdHJhIHhlbSBoYWkgbmfDoHkgY8OzIGtow6FjIHRow6FuZyBraMO0bmdcbiAqIEBwYXJhbSBkYXRlMSBuZ8OgeSB0aOG7qSBuaOG6pXQgY+G6p24gc28gc8OhbmhcbiAqIEBwYXJhbSBkYXRlMiBuZ8OgeSB0aOG7qSBoYWkgY+G6p24gc28gc8OhbmhcbiAqIEByZXR1cm5zIHRydWUgbuG6v3UgaGFpIG5nw6B5IGtow6FjIHRow6FuZywgZmFsc2UgbuG6v3UgY8O5bmcgdGjDoW5nIGhv4bq3YyBraMO0bmcgdGjhu4Mgc28gc8OhbmhcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRGlmZmVyZW5jZU1vbnRoID0gKGRhdGUxOiBOb25OdWxsYWJsZURhdGUsIGRhdGUyOiBOb25OdWxsYWJsZURhdGUpID0+IHtcbiAgaWYgKGlzRGlmZmVyZW5jZVllYXIoZGF0ZTEsIGRhdGUyKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnN0IG1vbnRoMSA9IGdldERheWpzKHsgZGF0ZTogZGF0ZTEgfSk/Lm1vbnRoKCk7XG4gIGNvbnN0IG1vbnRoMiA9IGdldERheWpzKHsgZGF0ZTogZGF0ZTIgfSk/Lm1vbnRoKCk7XG5cbiAgcmV0dXJuIG1vbnRoMSAhPT0gbW9udGgyO1xufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gS2nhu4NtIHRyYSB4ZW0gaGFpIG5nw6B5IGPDsyBraMOhYyBuxINtIGtow7RuZ1xuICogQHBhcmFtIGRhdGUxIG5nw6B5IHRo4bupIG5o4bqldCBj4bqnbiBzbyBzw6FuaFxuICogQHBhcmFtIGRhdGUyIG5nw6B5IHRo4bupIGhhaSBj4bqnbiBzbyBzw6FuaFxuICogQHJldHVybnMgdHJ1ZSBu4bq/dSBoYWkgbmfDoHkga2jDoWMgbsSDbSwgZmFsc2UgbuG6v3UgY8O5bmcgbsSDbSBob+G6t2Mga2jDtG5nIHRo4buDIHNvIHPDoW5oXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RpZmZlcmVuY2VZZWFyID0gKGRhdGUxOiBOb25OdWxsYWJsZURhdGUsIGRhdGUyOiBOb25OdWxsYWJsZURhdGUpID0+IHtcbiAgY29uc3QgeWVhcjEgPSBnZXREYXlqcyh7IGRhdGU6IGRhdGUxIH0pPy55ZWFyKCk7XG4gIGNvbnN0IHllYXIyID0gZ2V0RGF5anMoeyBkYXRlOiBkYXRlMiB9KT8ueWVhcigpO1xuXG4gIHJldHVybiB5ZWFyMSAhPT0geWVhcjI7XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBM4bqleSByYSBjaHXhu5dpIHRo4budaSBnaWFuIGhp4buDbiB0aOG7iyB0aGVvIMSR4buLbmggZOG6oW5nIHbDoCBuZ8O0biBuZ+G7r1xuICogQHBhcmFtIGRhdGUgdGjhu51pIGdpYW4gY+G6p24gxJHhu4tuaCBk4bqhbmdcbiAqIEBwYXJhbSBmb3JtYXQgxJHhu4tuaCBk4bqhbmcgdGjhu51pIGdpYW4gbXXhu5FuIGzhuqV5IHJhXG4gKiBAcGFyYW0gbGFuZyBs4bqleSB0aGVvIG5nw7RuIG5n4buvXG4gKi9cbmV4cG9ydCBjb25zdCBmb3JtYXREYXRlID0gKGRhdGU6IGRheWpzLkNvbmZpZ1R5cGUsIGZvcm1hdE91dHB1dCA9ICdZWVlZL01NL0REIEhIOm1tJywgbGFuZz86IHN0cmluZywgZm9ybWF0SW5wdXQ/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZiAoIWRhdGUpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgbGFuZyA9IGxhbmcgfHwgKFV0aWxzQ2FjaGUuZ2V0TGFuZygpIGFzIHN0cmluZyk7XG4gIGlmIChmdW5jdGlvbkZvcm1hdERhdGUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb25Gb3JtYXREYXRlKGRhdGUsIGZvcm1hdE91dHB1dCwgbGFuZyk7XG4gIH1cblxuICBkYXRlID0gZ2V0RGF5anMoeyBkYXRlLCBmb3JtYXRPZkRhdGU6IGZvcm1hdElucHV0IH0pLmxvY2FsZShsYW5nKTtcbiAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICBkYXlqcy51cGRhdGVMb2NhbGUoJ3ZpJywge1xuICAgICAgbW9udGhzU2hvcnQ6ICdUaGcgMV9UaGcgMl9UaGcgM19UaGcgNF9UaGcgNV9UaGcgNl9UaGcgN19UaGcgOF9UaGcgOV9UaGcgMTBfVGhnIDExX1RoZyAxMicuc3BsaXQoJ18nKSxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBkYXRlLmZvcm1hdChnZXRGb3JtYXREYXRhKGdldFR5cGVCeUZvcm1hdChmb3JtYXRPdXRwdXQpLCBsYW5nKSkgfHwgJyc7XG59O1xuXG5jb25zdCBnZXRUeXBlQnlGb3JtYXQgPSAoZm9ybWF0OiBzdHJpbmcpOiAnZG0nIHwgJ2RteScgfCAnZG15IGhtJyB8ICdteScgfCAnZG15IGhtcycgfCAnaGg6bW0nIHwgJ0hIOm1tJyB8ICdoaDptbSBBJyB8ICdISDptbSBBJyB8ICdkbXkgaG1zUycgPT4ge1xuICBpZiAoZm9ybWF0ID09PSAnZG0nIHx8IGZvcm1hdCA9PT0gJ2RteScgfHwgZm9ybWF0ID09PSAnZG15IGhtJyB8fCBmb3JtYXQgPT09ICdteScgfHwgZm9ybWF0ID09PSAnZG15IGhtcycgfHwgZm9ybWF0ID09PSAnaGg6bW0nIHx8IGZvcm1hdCA9PT0gJ0hIOm1tJyB8fCBmb3JtYXQgPT09ICdoaDptbSBBJyB8fCBmb3JtYXQgPT09ICdISDptbSBBJyB8fCBmb3JtYXQgPT09ICdkbXkgaG1zUycpIHtcbiAgICByZXR1cm4gZm9ybWF0O1xuICB9XG5cbiAgaWYgKGZvcm1hdCA9PT0gJ0REL01NL1lZWVknIHx8IGZvcm1hdCA9PT0gJ1lZWVktTU0tREQnIHx8IGZvcm1hdCA9PT0gJ2RkL01NL3l5eXknIHx8IGZvcm1hdCA9PT0gJ2RkLU1NLXl5eXknIHx8IGZvcm1hdCA9PT0gJ2RkL21tL3l5eXknKSB7XG4gICAgcmV0dXJuICdkbXknO1xuICB9XG5cbiAgaWYgKGZvcm1hdCA9PT0gJ01NLUREJyB8fCBmb3JtYXQgPT09ICdkZC9NTScgfHwgZm9ybWF0ID09PSAnZGQvbW0nKSB7XG4gICAgcmV0dXJuICdkbSc7XG4gIH1cblxuICBpZiAoZm9ybWF0ID09PSAnTS9ZWVlZJyB8fCBmb3JtYXQgPT09ICdZWVlZLU1NJyB8fCBmb3JtYXQgPT09ICdNTS95eXl5Jykge1xuICAgIHJldHVybiAnbXknO1xuICB9XG5cbiAgaWYgKGZvcm1hdCA9PT0gJ1lZWVkvTU0vREQgaGg6bW06c3MnIHx8IGZvcm1hdCA9PT0gJ2RteSBobXMnIHx8IGZvcm1hdCA9PT0gJ2RkL21tL3l5eXkgaGg6bW06c3MnKSB7XG4gICAgcmV0dXJuICdkbXkgaG1zJztcbiAgfVxuXG4gIGlmKGZvcm1hdC50b0xvd2VyQ2FzZSgpID09PSAnZGQvbW0veXl5eSBoaDptbTpzczpzcycgfHwgZm9ybWF0LnRvTG93ZXJDYXNlKCkgPT09ICd5eXl5L21tL2RkIGhoOm1tOnNzOnNzJyB8fCBmb3JtYXQudG9Mb3dlckNhc2UoKSA9PT0gJ3l5eXktbW0tZGQgaGg6bW06c3M6c3MnIHx8IGZvcm1hdC50b0xvd2VyQ2FzZSgpID09PSAnZGQtbW0teXl5eSBoaDptbTpzczpzcycpe1xuICAgIHJldHVybiAnZG15IGhtc1MnO1xuICB9XG5cbiAgaWYgKGZvcm1hdCA9PT0gJ2hoOm1tJyB8fCBmb3JtYXQgPT09ICdISDptbScpIHtcbiAgICByZXR1cm4gJ2hoOm1tJztcbiAgfVxuXG4gIGlmIChmb3JtYXQgPT09ICdoaDptbSBBJyB8fCBmb3JtYXQgPT09ICdISDptbSBBJykge1xuICAgIHJldHVybiAnaGg6bW0gQSc7XG4gIH1cblxuICByZXR1cm4gJ2RteSBobSc7XG59O1xuXG5jb25zdCBnZXRGb3JtYXREYXRhID0gKHR5cGU6ICdkbScgfCAnZG15JyB8ICdkbXkgaG0nIHwgJ215JyB8ICdkbXkgaG1zJyB8ICdoaDptbScgfCAnaGg6bW0gQScgfCAnSEg6bW0nIHwgJ0hIOm1tIEEnIHwgJ2RteSBobXNTJywgbGFuZzogc3RyaW5nKSA9PiB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2RtJzpcbiAgICAgIGlmIChsYW5nID09PSAndmknKSB7XG4gICAgICAgIHJldHVybiAnRCBNTU0nO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ01NTSBEJztcblxuICAgIGNhc2UgJ2RteSc6XG4gICAgICBpZiAobGFuZyA9PT0gJ3ZpJykge1xuICAgICAgICByZXR1cm4gJ0QgTU1NLCBZWVlZJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdNTU0gRCwgWVlZWSc7XG5cbiAgICBjYXNlICdkbXkgaG0nOlxuICAgICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgICAgcmV0dXJuICdEIE1NTSwgWVlZWSBISDptbSc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnTU1NIEQsIFlZWVkgSEg6bW0nO1xuXG4gICAgY2FzZSAnbXknOlxuICAgICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgICAgcmV0dXJuICdNTU0sIFlZWVknO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ01NTSBZWVlZICc7XG5cbiAgICBjYXNlICdkbXkgaG1zJzpcbiAgICAgIGlmIChsYW5nID09PSAndmknKSB7XG4gICAgICAgIHJldHVybiAnRCBNTU0sIFlZWVkgSEg6bW06c3MnO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ01NTSBELCBZWVlZIEhIOm1tOnNzJztcblxuICAgIGNhc2UgJ2hoOm1tJzpcbiAgICBjYXNlICdISDptbSc6XG4gICAgICByZXR1cm4gJ0hIOm1tJztcblxuICAgIGNhc2UgJ2hoOm1tIEEnOlxuICAgIGNhc2UgJ0hIOm1tIEEnOlxuICAgICAgcmV0dXJuICdISDptbSBBJztcbiAgICBjYXNlICdkbXkgaG1zUyc6XG4gICAgICBpZiAobGFuZyA9PT0gJ3ZpJykge1xuICAgICAgICByZXR1cm4gJ0QgTU1NLCBZWVlZIEhIOm1tOnNzOlNTUyc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnTU1NIEQsIFlZWVkgSEg6bW06c3M6U1NTJztcbiAgfVxufTtcbiJdfQ==
@@ -1084,10 +1084,14 @@ dayjs.extend(utc);
1084
1084
  dayjs.extend(timezone);
1085
1085
  dayjs.extend(customParseFormat);
1086
1086
  let timeZoneSetup = 'Asia/Ho_Chi_Minh';
1087
+ let patternCheckTimeUTC = undefined;
1087
1088
  const setDefaultTimeZone = (localeZone = timeZoneSetup) => {
1088
1089
  timeZoneSetup = localeZone;
1089
1090
  dayjs.tz.setDefault(localeZone);
1090
1091
  };
1092
+ const setPatternCheckTimeUTC = (pattern) => {
1093
+ patternCheckTimeUTC = pattern;
1094
+ };
1091
1095
  let functionFormatDate = undefined;
1092
1096
  const updateFunctionFormatDate = (functionCustom) => {
1093
1097
  functionFormatDate = functionCustom;
@@ -1123,8 +1127,8 @@ const getDayjs = (config) => {
1123
1127
  while (isSignal(formatOfDate)) {
1124
1128
  formatOfDate = formatOfDate();
1125
1129
  }
1126
- if (typeof date === 'string' && /(\d{4}-)(\d{2}-)(\d{2})(\s)(\d{2}:)(\d{2}:)(\d{2}\.)(\d{3})(\d{3})/gi.test(date)) {
1127
- date = dayjs(date.replace(/(\d{4}-)(\d{2}-)(\d{2})(\s)(\d{2}:)(\d{2}:)(\d{2}\.)(\d{3})(\d{3})/gi, '$1$2$3T$5$6$7$8Z')).utc();
1130
+ if (typeof date === 'string' && patternCheckTimeUTC && new RegExp(patternCheckTimeUTC, 'gi').test(date)) {
1131
+ date = dayjs(date.replace(new RegExp(patternCheckTimeUTC, 'gi'), '$1$2$3T$5$6$7$8Z')).utc();
1128
1132
  }
1129
1133
  if (utc) {
1130
1134
  if (formatOfDate) {
@@ -1203,7 +1207,7 @@ const formatDate = (date, formatOutput = 'YYYY/MM/DD HH:mm', lang, formatInput)
1203
1207
  return date.format(getFormatData(getTypeByFormat(formatOutput), lang)) || '';
1204
1208
  };
1205
1209
  const getTypeByFormat = (format) => {
1206
- if (format === 'dm' || format === 'dmy' || format === 'dmy hm' || format === 'my') {
1210
+ if (format === 'dm' || format === 'dmy' || format === 'dmy hm' || format === 'my' || format === 'dmy hms' || format === 'hh:mm' || format === 'HH:mm' || format === 'hh:mm A' || format === 'HH:mm A' || format === 'dmy hmsS') {
1207
1211
  return format;
1208
1212
  }
1209
1213
  if (format === 'DD/MM/YYYY' || format === 'YYYY-MM-DD' || format === 'dd/MM/yyyy' || format === 'dd-MM-yyyy' || format === 'dd/mm/yyyy') {
@@ -1218,6 +1222,9 @@ const getTypeByFormat = (format) => {
1218
1222
  if (format === 'YYYY/MM/DD hh:mm:ss' || format === 'dmy hms' || format === 'dd/mm/yyyy hh:mm:ss') {
1219
1223
  return 'dmy hms';
1220
1224
  }
1225
+ if (format.toLowerCase() === 'dd/mm/yyyy hh:mm:ss:ss' || format.toLowerCase() === 'yyyy/mm/dd hh:mm:ss:ss' || format.toLowerCase() === 'yyyy-mm-dd hh:mm:ss:ss' || format.toLowerCase() === 'dd-mm-yyyy hh:mm:ss:ss') {
1226
+ return 'dmy hmsS';
1227
+ }
1221
1228
  if (format === 'hh:mm' || format === 'HH:mm') {
1222
1229
  return 'hh:mm';
1223
1230
  }
@@ -1259,6 +1266,11 @@ const getFormatData = (type, lang) => {
1259
1266
  case 'hh:mm A':
1260
1267
  case 'HH:mm A':
1261
1268
  return 'HH:mm A';
1269
+ case 'dmy hmsS':
1270
+ if (lang === 'vi') {
1271
+ return 'D MMM, YYYY HH:mm:ss:SSS';
1272
+ }
1273
+ return 'MMM D, YYYY HH:mm:ss:SSS';
1262
1274
  }
1263
1275
  };
1264
1276
 
@@ -3343,5 +3355,5 @@ const getObjectSize = (obj) => {
3343
3355
  * Generated bundle index. Do not edit.
3344
3356
  */
3345
3357
 
3346
- export { AudioExtList, CHARACTER_DATA_EMPTY, COMMUNICATE_MICRO_KEY_GET_ALL_MESSAGE, COMMUNICATE_MICRO_PREFIX_TYPE, DEFAULT_START_PAGE_0, DocumentExtList, ENCODE_URI_PATTERN, ERROR_MESSAGE_EMPTY_VALID, ERROR_MESSAGE_MAX_LENGTH, ERROR_MESSAGE_MAX_VALID, ERROR_MESSAGE_MIN_LENGTH, ERROR_MESSAGE_MIN_VALID, ERROR_MESSAGE_PATTEN_VALID, ExcelExtList, ImageExtList, LINK_IMAGE_ERROR_TOKEN_INJECT, PROCESS_BAR_STANDARD_CONFIG_DEFAULT_TOKEN_INJECT, PROCESS_BAR_STEPS_CONFIG_DEFAULT_TOKEN_INJECT, UtilsCache, UtilsCommunicateMicro, UtilsCommunicateMicroKeyGlobal, UtilsHttpParamsRequest, UtilsHttpParamsRequestInstance, UtilsKeyCodeConstant, UtilsLanguageConstants, UtilsUrlSearchParams, VideoExtList, addArrayToSet, base64Decode, base64Encode, capitalize, checkMouseOverInContainer, checkViewInScreen, cloneDeep, cloneIBoundingClientRect, colorContrastFromOrigin, colorStepContrastFromOrigin, convertBase64ToBlob, convertBlobToFile, convertFileToBase64, convertFileToBase64_ObjectUrl, convertHtmlToDivBlocks, convertObjectToSignal, convertSetToArray, convertSignalToObject, convertUrlToFile, createUniqueRandomIntGenerator, decodeEscapeHtml, decodeURI, decrypt, decrypt3rd, deleteUnicode, detectAndCleanNearWhiteColors, downloadFileByUrl, downloadFileByUrlUseXmlRequest, downloadImageFromELement, encodeURI, encrypt, encrypt3rd, endCodeUrl, escapeHtml, firstLetterToUpperCase, formatDate, formatNumber, formatTextCompare, fullNameFormat, generateInterface, get, getColorById, getDayjs, getDeltaFromHTML, getDeviceInfo, getDocumentByString, getDragEventByElement, getEventNameHandleClick, getFileExtension, getHTMLFromQuill, getKeyCacheByArrayObject, getLabelBySizeFile, getObjectSize, getPlatFromBrowser, getSmartAxisScale, getViewport, groupBy, hasDangerousConstructorName, highlightByKeyword, insertContentWithRange, isArray, isAsyncObject, isBrowserAPIObject, isBrowserGlobalObject, isBuiltInObject, isDOMObject, isDangerousObject, isDayjsObject, isDifferenceDay, isDifferenceMonth, isDifferenceYear, isEmbedFrame, isEmpty, isEqual, isFalsy, isFile, isFrameworkObject, isIncludeAudioExtList, isIncludeDocumentExtList, isIncludeImageExtList, isIncludeVideoExtList, isMap, isNearWhite, isNil, isRegExp, isReturnAsIsObject, isSafeToProcess, isSet, isSkippableObject, isSpecialObject, isTruthy, isTypeAudio, isTypeFile, isTypeImage, isTypeVideo, keyBy, listColorDefine, md5, omitBy, patterProtocolUrl, patternAccount, patternDomain, patternEmail, patternEmoji, patternEncodeUri, patternGetFieldByRuleFieldReplace, patternHostUrl, patternKey, patternMobilePhone, patternName, patternNameProfile, patternNameSpecial, patternNameUtf8, patternNumber, patternPem, patternPhone, patternRuleFieldReplace, patternTax, patternUrl, processPasteData, protectString, range, removeEmoji, revealString, rgbToHex, set, setCaretPosition, setDefaultTimeZone, setKeyCrypto, setKeyCrypto3rd, setStylesElement, uniqBy, unwrapSignal, updateFunctionCheckEmbedFrame, updateFunctionFormatDate, updateFunctionXssFilter, uppercaseByPosition, uuid, viewDataNumberByLanguage, xssFilter };
3358
+ export { AudioExtList, CHARACTER_DATA_EMPTY, COMMUNICATE_MICRO_KEY_GET_ALL_MESSAGE, COMMUNICATE_MICRO_PREFIX_TYPE, DEFAULT_START_PAGE_0, DocumentExtList, ENCODE_URI_PATTERN, ERROR_MESSAGE_EMPTY_VALID, ERROR_MESSAGE_MAX_LENGTH, ERROR_MESSAGE_MAX_VALID, ERROR_MESSAGE_MIN_LENGTH, ERROR_MESSAGE_MIN_VALID, ERROR_MESSAGE_PATTEN_VALID, ExcelExtList, ImageExtList, LINK_IMAGE_ERROR_TOKEN_INJECT, PROCESS_BAR_STANDARD_CONFIG_DEFAULT_TOKEN_INJECT, PROCESS_BAR_STEPS_CONFIG_DEFAULT_TOKEN_INJECT, UtilsCache, UtilsCommunicateMicro, UtilsCommunicateMicroKeyGlobal, UtilsHttpParamsRequest, UtilsHttpParamsRequestInstance, UtilsKeyCodeConstant, UtilsLanguageConstants, UtilsUrlSearchParams, VideoExtList, addArrayToSet, base64Decode, base64Encode, capitalize, checkMouseOverInContainer, checkViewInScreen, cloneDeep, cloneIBoundingClientRect, colorContrastFromOrigin, colorStepContrastFromOrigin, convertBase64ToBlob, convertBlobToFile, convertFileToBase64, convertFileToBase64_ObjectUrl, convertHtmlToDivBlocks, convertObjectToSignal, convertSetToArray, convertSignalToObject, convertUrlToFile, createUniqueRandomIntGenerator, decodeEscapeHtml, decodeURI, decrypt, decrypt3rd, deleteUnicode, detectAndCleanNearWhiteColors, downloadFileByUrl, downloadFileByUrlUseXmlRequest, downloadImageFromELement, encodeURI, encrypt, encrypt3rd, endCodeUrl, escapeHtml, firstLetterToUpperCase, formatDate, formatNumber, formatTextCompare, fullNameFormat, generateInterface, get, getColorById, getDayjs, getDeltaFromHTML, getDeviceInfo, getDocumentByString, getDragEventByElement, getEventNameHandleClick, getFileExtension, getHTMLFromQuill, getKeyCacheByArrayObject, getLabelBySizeFile, getObjectSize, getPlatFromBrowser, getSmartAxisScale, getViewport, groupBy, hasDangerousConstructorName, highlightByKeyword, insertContentWithRange, isArray, isAsyncObject, isBrowserAPIObject, isBrowserGlobalObject, isBuiltInObject, isDOMObject, isDangerousObject, isDayjsObject, isDifferenceDay, isDifferenceMonth, isDifferenceYear, isEmbedFrame, isEmpty, isEqual, isFalsy, isFile, isFrameworkObject, isIncludeAudioExtList, isIncludeDocumentExtList, isIncludeImageExtList, isIncludeVideoExtList, isMap, isNearWhite, isNil, isRegExp, isReturnAsIsObject, isSafeToProcess, isSet, isSkippableObject, isSpecialObject, isTruthy, isTypeAudio, isTypeFile, isTypeImage, isTypeVideo, keyBy, listColorDefine, md5, omitBy, patterProtocolUrl, patternAccount, patternDomain, patternEmail, patternEmoji, patternEncodeUri, patternGetFieldByRuleFieldReplace, patternHostUrl, patternKey, patternMobilePhone, patternName, patternNameProfile, patternNameSpecial, patternNameUtf8, patternNumber, patternPem, patternPhone, patternRuleFieldReplace, patternTax, patternUrl, processPasteData, protectString, range, removeEmoji, revealString, rgbToHex, set, setCaretPosition, setDefaultTimeZone, setKeyCrypto, setKeyCrypto3rd, setPatternCheckTimeUTC, setStylesElement, uniqBy, unwrapSignal, updateFunctionCheckEmbedFrame, updateFunctionFormatDate, updateFunctionXssFilter, uppercaseByPosition, uuid, viewDataNumberByLanguage, xssFilter };
3347
3359
  //# sourceMappingURL=libs-ui-utils.mjs.map