@nsshunt/stsutils 1.16.68 → 1.16.69

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 +1 @@
1
- {"version":3,"file":"stsutils.mjs","sources":["../node_modules/color-name/index.js","../node_modules/color-convert/conversions.js","../node_modules/color-convert/route.js","../node_modules/color-convert/index.js","../node_modules/ansi-styles/index.js","../node_modules/supports-color/browser.js","../node_modules/chalk/source/util.js","../node_modules/chalk/source/templates.js","../node_modules/chalk/source/index.js","../src/errorhandling.ts","../src/validate.ts","../src/stsoptionsbase.ts","../src/sleep.ts","../src/oauth2terms.ts","../src/index.ts"],"sourcesContent":["'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","'use strict';\n\nconst wrapAnsi16 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => (...args) => {\n\tconst rgb = fn(...args);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n};\n\nconst ansi2ansi = n => n;\nconst rgb2rgb = (r, g, b) => [r, g, b];\n\nconst setLazyProperty = (object, property, get) => {\n\tObject.defineProperty(object, property, {\n\t\tget: () => {\n\t\t\tconst value = get();\n\n\t\t\tObject.defineProperty(object, property, {\n\t\t\t\tvalue,\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\n\t\t\treturn value;\n\t\t},\n\t\tenumerable: true,\n\t\tconfigurable: true\n\t});\n};\n\n/** @type {typeof import('color-convert')} */\nlet colorConvert;\nconst makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {\n\tif (colorConvert === undefined) {\n\t\tcolorConvert = require('color-convert');\n\t}\n\n\tconst offset = isBackground ? 10 : 0;\n\tconst styles = {};\n\n\tfor (const [sourceSpace, suite] of Object.entries(colorConvert)) {\n\t\tconst name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace;\n\t\tif (sourceSpace === targetSpace) {\n\t\t\tstyles[name] = wrap(identity, offset);\n\t\t} else if (typeof suite === 'object') {\n\t\t\tstyles[name] = wrap(suite[targetSpace], offset);\n\t\t}\n\t}\n\n\treturn styles;\n};\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\n\t\t\t// Bright color\n\t\t\tblackBright: [90, 39],\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Alias bright black as gray (and grey)\n\tstyles.color.gray = styles.color.blackBright;\n\tstyles.bgColor.bgGray = styles.bgColor.bgBlackBright;\n\tstyles.color.grey = styles.color.blackBright;\n\tstyles.bgColor.bgGrey = styles.bgColor.bgBlackBright;\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tsetLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false));\n\tsetLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true));\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n","'use strict';\nmodule.exports = {\n\tstdout: false,\n\tstderr: false\n};\n","'use strict';\n\nconst stringReplaceAll = (string, substring, replacer) => {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.substr(endIndex, index - endIndex) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nconst stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nmodule.exports = {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n};\n","'use strict';\nconst TEMPLATE_REGEX = /(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u(?:[a-f\\d]{4}|{[a-f\\d]{1,6}})|x[a-f\\d]{2}|.)|([^\\\\])/gi;\n\nconst ESCAPES = new Map([\n\t['n', '\\n'],\n\t['r', '\\r'],\n\t['t', '\\t'],\n\t['b', '\\b'],\n\t['f', '\\f'],\n\t['v', '\\v'],\n\t['0', '\\0'],\n\t['\\\\', '\\\\'],\n\t['e', '\\u001B'],\n\t['a', '\\u0007']\n]);\n\nfunction unescape(c) {\n\tconst u = c[0] === 'u';\n\tconst bracket = c[1] === '{';\n\n\tif ((u && !bracket && c.length === 5) || (c[0] === 'x' && c.length === 3)) {\n\t\treturn String.fromCharCode(parseInt(c.slice(1), 16));\n\t}\n\n\tif (u && bracket) {\n\t\treturn String.fromCodePoint(parseInt(c.slice(2, -1), 16));\n\t}\n\n\treturn ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, arguments_) {\n\tconst results = [];\n\tconst chunks = arguments_.trim().split(/\\s*,\\s*/g);\n\tlet matches;\n\n\tfor (const chunk of chunks) {\n\t\tconst number = Number(chunk);\n\t\tif (!Number.isNaN(number)) {\n\t\t\tresults.push(number);\n\t\t} else if ((matches = chunk.match(STRING_REGEX))) {\n\t\t\tresults.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character));\n\t\t} else {\n\t\t\tthrow new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction parseStyle(style) {\n\tSTYLE_REGEX.lastIndex = 0;\n\n\tconst results = [];\n\tlet matches;\n\n\twhile ((matches = STYLE_REGEX.exec(style)) !== null) {\n\t\tconst name = matches[1];\n\n\t\tif (matches[2]) {\n\t\t\tconst args = parseArguments(name, matches[2]);\n\t\t\tresults.push([name].concat(args));\n\t\t} else {\n\t\t\tresults.push([name]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction buildStyle(chalk, styles) {\n\tconst enabled = {};\n\n\tfor (const layer of styles) {\n\t\tfor (const style of layer.styles) {\n\t\t\tenabled[style[0]] = layer.inverse ? null : style.slice(1);\n\t\t}\n\t}\n\n\tlet current = chalk;\n\tfor (const [styleName, styles] of Object.entries(enabled)) {\n\t\tif (!Array.isArray(styles)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!(styleName in current)) {\n\t\t\tthrow new Error(`Unknown Chalk style: ${styleName}`);\n\t\t}\n\n\t\tcurrent = styles.length > 0 ? current[styleName](...styles) : current[styleName];\n\t}\n\n\treturn current;\n}\n\nmodule.exports = (chalk, temporary) => {\n\tconst styles = [];\n\tconst chunks = [];\n\tlet chunk = [];\n\n\t// eslint-disable-next-line max-params\n\ttemporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {\n\t\tif (escapeCharacter) {\n\t\t\tchunk.push(unescape(escapeCharacter));\n\t\t} else if (style) {\n\t\t\tconst string = chunk.join('');\n\t\t\tchunk = [];\n\t\t\tchunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string));\n\t\t\tstyles.push({inverse, styles: parseStyle(style)});\n\t\t} else if (close) {\n\t\t\tif (styles.length === 0) {\n\t\t\t\tthrow new Error('Found extraneous } in Chalk template literal');\n\t\t\t}\n\n\t\t\tchunks.push(buildStyle(chalk, styles)(chunk.join('')));\n\t\t\tchunk = [];\n\t\t\tstyles.pop();\n\t\t} else {\n\t\t\tchunk.push(character);\n\t\t}\n\t});\n\n\tchunks.push(chunk.join(''));\n\n\tif (styles.length > 0) {\n\t\tconst errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n\t\tthrow new Error(errMessage);\n\t}\n\n\treturn chunks.join('');\n};\n","'use strict';\nconst ansiStyles = require('ansi-styles');\nconst {stdout: stdoutColor, stderr: stderrColor} = require('supports-color');\nconst {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n} = require('./util');\n\nconst {isArray} = Array;\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m'\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nclass ChalkClass {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = {};\n\tapplyOptions(chalk, options);\n\n\tchalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_);\n\n\tObject.setPrototypeOf(chalk, Chalk.prototype);\n\tObject.setPrototypeOf(chalk.template, chalk);\n\n\tchalk.template.constructor = () => {\n\t\tthrow new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.');\n\t};\n\n\tchalk.template.Instance = ChalkClass;\n\n\treturn chalk.template;\n};\n\nfunction Chalk(options) {\n\treturn chalkFactory(options);\n}\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t}\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this._styler, true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t}\n};\n\nconst usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nfor (const model of usedModels) {\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this._generator.level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis._generator.level = level;\n\t\t}\n\t}\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\tconst builder = (...arguments_) => {\n\t\tif (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {\n\t\t\t// Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}`\n\t\t\treturn applyStyle(builder, chalkTag(builder, ...arguments_));\n\t\t}\n\n\t\t// Single argument is hot path, implicit coercion is faster than anything\n\t\t// eslint-disable-next-line no-implicit-coercion\n\t\treturn applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\t};\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder._generator = self;\n\tbuilder._styler = _styler;\n\tbuilder._isEmpty = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self._isEmpty ? '' : string;\n\t}\n\n\tlet styler = self._styler;\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.indexOf('\\u001B') !== -1) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nlet template;\nconst chalkTag = (chalk, ...strings) => {\n\tconst [firstString] = strings;\n\n\tif (!isArray(firstString) || !isArray(firstString.raw)) {\n\t\t// If chalk() was called by itself or with a string,\n\t\t// return the string itself as a string.\n\t\treturn strings.join(' ');\n\t}\n\n\tconst arguments_ = strings.slice(1);\n\tconst parts = [firstString.raw[0]];\n\n\tfor (let i = 1; i < firstString.length; i++) {\n\t\tparts.push(\n\t\t\tString(arguments_[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'),\n\t\t\tString(firstString.raw[i])\n\t\t);\n\t}\n\n\tif (template === undefined) {\n\t\ttemplate = require('./templates');\n\t}\n\n\treturn template(chalk, parts.join(''));\n};\n\nObject.defineProperties(Chalk.prototype, styles);\n\nconst chalk = Chalk(); // eslint-disable-line new-cap\nchalk.supportsColor = stdoutColor;\nchalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap\nchalk.stderr.supportsColor = stderrColor;\n\nmodule.exports = chalk;\n","export type errorCode = {\n\tcode: string\n\tdescription: string\n}\n\nexport type errorPayload = {\n\terror: string,\n\terror_description: string,\n\ttimestamp: number,\n\t//trace_id: \"255d1aef-8c98-452f-ac51-23d051240864\", //@@\n\t//correlation_id: \"fb3d2015-bc17-4bb9-bb85-30c5cf1aaaa7\", //@@\n\tdetails?: unknown\n}\n\nexport function GetErrorPayload(errorCode: errorCode, details: unknown = null): errorPayload {\n return {\n error: errorCode.code,\n error_description: errorCode.description,\n timestamp: Date.now(),\n //trace_id: \"255d1aef-8c98-452f-ac51-23d051240864\", //@@\n //correlation_id: \"fb3d2015-bc17-4bb9-bb85-30c5cf1aaaa7\", //@@\n details: details\n }\n}\n","import Ajv, { Schema } from 'ajv/dist/jtd.js'\nimport { AnyValidateFunction } from 'ajv/dist/core.js';\n\nimport { JSONObject } from './index'\n\nconst ajv = new Ajv();\n\nconst _Validate = (validator: AnyValidateFunction<unknown>, payload: JSONObject): unknown | null => {\n const valid: boolean = validator(payload) as boolean;\n if (!valid) {\n return validator.errors;\n } else {\n return null;\n }\n /*\n\t\tconsole.error(validator.errors);\n\t\tconsole.trace('Invalid Schema');\n\t\tconsole.log('Payload:-');\n\t\tconsole.log(JSON.stringify(payload));\n\t\tprocess.exit(1);\n\t\t*/\n};\n\nexport function AddSchema(name: string, schema: Schema): void {\n ajv.addSchema(schema, name);\n /*\n\treturn (payload) => {\n\t\tconst validator = ajv.getSchema(name)\n\t\t_Validate(validator, payload)\n\t}*/\n\n}\n\nexport function Validate(name: string, payload: JSONObject): unknown {\n const validator: AnyValidateFunction<unknown> | undefined = ajv.getSchema(name)\n if (validator) {\n return _Validate(validator, payload);\n }\n}\n","import { Validate } from './validate.js'\n\nimport { JSONObject } from './index'\n\nexport class STSOptionsBase\n{\n #options: JSONObject | null;\n\n constructor(options: JSONObject | null = null)\n {\n this.#options = options;\n\n if (options !== null) {\n if (typeof options.validator === 'undefined') {\n //console.log(JSON.stringify(options));\n //console.trace(\"Options Here ------------------------------------------------------------------------------------------\")\n } else {\n Validate(options.validator as string, options);\n }\n }\n }\n\n get options()\n {\n return this.#options;\n }\n}\n","export async function Sleep(milliseconds = 1000): Promise<void> { \n return new Promise(resolve => setTimeout(resolve, milliseconds))\n}\n \n// poolsleep is required to avoid JEST reporting unclosed handles during shutdown of all tests\nexport async function JestSleep(): Promise<void> {\n return Sleep(100);\n}\n","import { errorCode, errorPayload } from './errorhandling'\n\n// Ref: https://datatracker.ietf.org/doc/html/rfc6749#appendix-A\nexport enum OAuth2ParameterType {\n\tAUDIENCE = 'AUDIENCE', // STS Extension\n\tCLIENT_ID = 'client_id',\n\tCLIENT_SECRET = 'client_secret',\n\tRESPONSE_TYPE = 'response_type',\n\tSCOPE = 'scope',\n\tSTATE = 'state',\n\tREDIRECT_URI = 'redirect_uri',\n\tERROR = 'error',\n\tERROR_DESCRIPTION = 'error_description',\n\tERROR_CODES = 'error_codes', // STS Extension\n\tERROR_URI = 'error_uri',\n\tGRANT_TYPE = 'grant_type',\n\tCODE = 'code',\n\tACCESS_TOKEN = 'access_token',\n\tTOKEN_TYPE = 'token_type',\n\tEXPIRES_IN = 'expires_in',\n\tUSERNAME = 'username',\n\tPASSWORD = 'password',\n\tREFRESH_TOKEN = 'refresh_token',\n\tRESPONSE_MODE = 'response_mode', // STS Extension\n\tTIMESTAMP = 'timestamp', // STS Extension\n\tTRACE_ID = 'trace_id', // STS Extension\n\tCORRELATION_ID = 'correlation_id' // STS Extension\n}\n\n// Auth0 claim usage;\n// aud - api identifier\n// scope - list (space separated) of api permissions\n\n// Claims (Auth0)\n// https://auth0.com/docs/secure/tokens/json-web-tokens/json-web-token-claims\n\n// Reserved claims (IANA)\n// https://www.iana.org/assignments/jwt/jwt.xhtml#claims\n\n// Example scopes and claims (Auth0)\n// https://auth0.com/docs/get-started/apis/scopes/sample-use-cases-scopes-and-claims\n\n// OIDC Claims and Scopes\n// https://openid.net/specs/openid-connect-core-1_0.html#Claims\n// https://developer.okta.com/blog/2017/07/25/oidc-primer-part-1#:~:text=Simply%20put%2C%20claims%20are%20name,information%20asserted%20about%20an%20Entity.%E2%80%9D\n\n// OIDC Standard Claims\n// https://openid.net/specs/openid-connect-core-1_0.html#Claims\n// https://developer.okta.com/blog/2017/07/25/oidc-primer-part-1#:~:text=Simply%20put%2C%20claims%20are%20name,information%20asserted%20about%20an%20Entity.%E2%80%9D\nexport enum OIDCStandardClaim {\n\tSUB = 'sub',\n\tNAME = 'name',\n\tGIVEN_NAME = 'given_name',\n\tFAMILY_NAME = 'family_name',\n\tMIDDLE_NAME = 'middle_name',\n\tNICKNAME = 'nickname',\n\tPREFERRED_USERNAME = 'preferred_username',\n\tPROFILE = 'profile',\n\tPICTURE = 'picture',\n\tWEBSITE = 'website',\n\tEMAIL = 'email',\n\tEMAIL_VERIFIED = 'email_verified',\n\tGENDER = 'gender',\n\tBIRTHDATE = 'birthdate',\n\tZONEINFO = 'zoneinfo',\n\tLOCALE = 'locale',\n\tPHONE_NUMBER = 'phone_number',\n\tPHONE_NUMBER_VERIFIED = 'phone_number_verified',\n\tADDRESS = 'address',\n\tCLIENT_SECRET = 'client_secret',\n\tNONCE = 'nonce' // STS Extension\n}\n\nexport enum OIDCAddressClaim {\n\tFORMATTED = 'formatted',\n\tSTREET_ADDRESS = 'street_address',\n\tLOCALITY = 'locality',\n\tREGION = 'region',\n\tCOUNTRY = 'country'\n}\n\nexport class OAuth2ParameterErrorType {\n static readonly NOT_EQUAL: errorCode = {\n code: 'STS_OAUTH2_ERR_0001',\n description: 'Parameter values not equal.'\n }\n static readonly NOT_PRESENT: errorCode = {\n code: 'STS_OAUTH2_ERR_0002',\n description: 'Parameter not provided.'\n }\n static readonly INVALID_FORMAT: errorCode = {\n code: 'STS_OAUTH2_ERR_0003',\n description: 'Parameter value format invalid.'\n }\n static readonly EXPIRED: errorCode = {\n code: 'STS_OAUTH2_ERR_0004',\n description: 'Parameter value expired.'\n }\n}\n\nexport function compareParameterTypes(source1: string[], source2: string[], authParameterTypes: OAuth2ParameterType[]): errorPayload[] {\n const errors: errorPayload[] = [ ];\n for (let i=0 ; i < authParameterTypes.length; i++) {\n const authParameterType = authParameterTypes[i];\n if (source1[i].localeCompare(source2[i]) !== 0) {\n const error: errorPayload = {\n error: OAuth2ParameterErrorType.NOT_EQUAL.code,\n error_description: OAuth2ParameterErrorType.NOT_EQUAL.description,\n timestamp: Date.now(),\n details: `${OAuth2ParameterErrorType.NOT_EQUAL.description}: Parameter: [${authParameterType}]`\n }\n errors.push(error);\n }\n }\n return errors;\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\n\n/*\nexport interface JSONObject {\n [x: string]: string | number | boolean | string[] | number[] | boolean[] | Array<JSONObject> | JSONObject | ((p: any) => any) | undefined\n}\n// This also works :-\n//interface JSONObject2 extends Record<string, string | number | string[] | Array<JSONObject2> | JSONObject2> {};\n*/\nimport chalk from 'chalk'\n\nexport interface JSONObject {\n \n [x: string]: any | JSONObject | undefined\n}\n\nexport * from './errorhandling'\nexport * from './stsoptionsbase'\nexport * from './sleep'\nexport * from './validate'\nexport * from './oauth2terms'\n\nexport enum ModelDelimeter {\n\tROOT = '_',\n\tSEPERATOR = '|',\n\tCOMPONENT_SEPERATOR = '@',\n\tNID_SEPERATOR = '^' // This seperator splits the static and dynamic part of a context string (nid). Used for creating payload header for size optimisation.\n}\n\nexport const CheckValidChar = (checkParams: string[][]): void => {\n const invalidChars = [ \n ModelDelimeter.ROOT, \n ModelDelimeter.SEPERATOR, \n ModelDelimeter.COMPONENT_SEPERATOR, \n ModelDelimeter.NID_SEPERATOR\n ];\n\n checkParams.forEach(param => {\n invalidChars.forEach(char => {\n if (param[1].includes(char)) {\n throw new Error(`Invalid character inside [${param[0]}:${param[1]}], no [${char}] allowed`);\n }\n });\n });\n}\n\n// npm logging levels are prioritized from 0 to 6 (highest to lowest). This from Winston logger.\nexport interface ISTSLogger {\n error(message: any): void;\n warn(message: any): void;\n info(message: any): void;\n http(message: any): void;\n verbose(message: any): void;\n debug(message: any): void;\n silly(message: any): void;\n}\n\nexport const defaultLogger: ISTSLogger = {\n debug(message) {\n console.log(chalk.grey(`debug: ${message}`));\n },\n error(message) {\n console.log(chalk.red(`error: ${message}`));\n },\n http(message) {\n console.log(chalk.cyan(`http: ${message}`));\n },\n info(message) {\n console.log(chalk.white(`info: ${message}`));\n },\n silly(message) {\n console.log(chalk.yellow(`silly: ${message}`));\n },\n verbose(message) {\n console.log(chalk.green(`verbose: ${message}`));\n },\n warn(message) {\n console.log(chalk.magenta(`warn: ${message}`));\n },\n}\n\n/* Below is legacy code used as a global record container. No longer required.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const $stsgd: Record<string, any> = { };\n\nexport function $stsgdf<T>(): Record<string, T> {\n return $stsgd as Record<string, T>;\n}\n*/\n"],"names":["require$$0","conversions","route","require$$1","colorConvert","styles","stringReplaceAll","stringEncaseCRLFWithFirstIndex","chalk","require$$2","require$$3","OAuth2ParameterType","OIDCStandardClaim","OIDCAddressClaim","ModelDelimeter"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}
1
+ {"version":3,"file":"stsutils.mjs","sources":["../node_modules/color-name/index.js","../node_modules/color-convert/conversions.js","../node_modules/color-convert/route.js","../node_modules/color-convert/index.js","../node_modules/ansi-styles/index.js","../node_modules/supports-color/browser.js","../node_modules/chalk/source/util.js","../node_modules/chalk/source/templates.js","../node_modules/chalk/source/index.js","../src/commonTypes.ts","../src/errorhandling.ts","../src/validate.ts","../src/stsoptionsbase.ts","../src/sleep.ts","../src/oauth2terms.ts","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/genericMessageManager.ts","../node_modules/tiny-emitter/index.js","../src/webWorkerMessageHandler.ts"],"sourcesContent":["'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","'use strict';\n\nconst wrapAnsi16 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => (...args) => {\n\tconst rgb = fn(...args);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n};\n\nconst ansi2ansi = n => n;\nconst rgb2rgb = (r, g, b) => [r, g, b];\n\nconst setLazyProperty = (object, property, get) => {\n\tObject.defineProperty(object, property, {\n\t\tget: () => {\n\t\t\tconst value = get();\n\n\t\t\tObject.defineProperty(object, property, {\n\t\t\t\tvalue,\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\n\t\t\treturn value;\n\t\t},\n\t\tenumerable: true,\n\t\tconfigurable: true\n\t});\n};\n\n/** @type {typeof import('color-convert')} */\nlet colorConvert;\nconst makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {\n\tif (colorConvert === undefined) {\n\t\tcolorConvert = require('color-convert');\n\t}\n\n\tconst offset = isBackground ? 10 : 0;\n\tconst styles = {};\n\n\tfor (const [sourceSpace, suite] of Object.entries(colorConvert)) {\n\t\tconst name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace;\n\t\tif (sourceSpace === targetSpace) {\n\t\t\tstyles[name] = wrap(identity, offset);\n\t\t} else if (typeof suite === 'object') {\n\t\t\tstyles[name] = wrap(suite[targetSpace], offset);\n\t\t}\n\t}\n\n\treturn styles;\n};\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\n\t\t\t// Bright color\n\t\t\tblackBright: [90, 39],\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Alias bright black as gray (and grey)\n\tstyles.color.gray = styles.color.blackBright;\n\tstyles.bgColor.bgGray = styles.bgColor.bgBlackBright;\n\tstyles.color.grey = styles.color.blackBright;\n\tstyles.bgColor.bgGrey = styles.bgColor.bgBlackBright;\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tsetLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false));\n\tsetLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true));\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n","'use strict';\nmodule.exports = {\n\tstdout: false,\n\tstderr: false\n};\n","'use strict';\n\nconst stringReplaceAll = (string, substring, replacer) => {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.substr(endIndex, index - endIndex) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nconst stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nmodule.exports = {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n};\n","'use strict';\nconst TEMPLATE_REGEX = /(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u(?:[a-f\\d]{4}|{[a-f\\d]{1,6}})|x[a-f\\d]{2}|.)|([^\\\\])/gi;\n\nconst ESCAPES = new Map([\n\t['n', '\\n'],\n\t['r', '\\r'],\n\t['t', '\\t'],\n\t['b', '\\b'],\n\t['f', '\\f'],\n\t['v', '\\v'],\n\t['0', '\\0'],\n\t['\\\\', '\\\\'],\n\t['e', '\\u001B'],\n\t['a', '\\u0007']\n]);\n\nfunction unescape(c) {\n\tconst u = c[0] === 'u';\n\tconst bracket = c[1] === '{';\n\n\tif ((u && !bracket && c.length === 5) || (c[0] === 'x' && c.length === 3)) {\n\t\treturn String.fromCharCode(parseInt(c.slice(1), 16));\n\t}\n\n\tif (u && bracket) {\n\t\treturn String.fromCodePoint(parseInt(c.slice(2, -1), 16));\n\t}\n\n\treturn ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, arguments_) {\n\tconst results = [];\n\tconst chunks = arguments_.trim().split(/\\s*,\\s*/g);\n\tlet matches;\n\n\tfor (const chunk of chunks) {\n\t\tconst number = Number(chunk);\n\t\tif (!Number.isNaN(number)) {\n\t\t\tresults.push(number);\n\t\t} else if ((matches = chunk.match(STRING_REGEX))) {\n\t\t\tresults.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character));\n\t\t} else {\n\t\t\tthrow new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction parseStyle(style) {\n\tSTYLE_REGEX.lastIndex = 0;\n\n\tconst results = [];\n\tlet matches;\n\n\twhile ((matches = STYLE_REGEX.exec(style)) !== null) {\n\t\tconst name = matches[1];\n\n\t\tif (matches[2]) {\n\t\t\tconst args = parseArguments(name, matches[2]);\n\t\t\tresults.push([name].concat(args));\n\t\t} else {\n\t\t\tresults.push([name]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction buildStyle(chalk, styles) {\n\tconst enabled = {};\n\n\tfor (const layer of styles) {\n\t\tfor (const style of layer.styles) {\n\t\t\tenabled[style[0]] = layer.inverse ? null : style.slice(1);\n\t\t}\n\t}\n\n\tlet current = chalk;\n\tfor (const [styleName, styles] of Object.entries(enabled)) {\n\t\tif (!Array.isArray(styles)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!(styleName in current)) {\n\t\t\tthrow new Error(`Unknown Chalk style: ${styleName}`);\n\t\t}\n\n\t\tcurrent = styles.length > 0 ? current[styleName](...styles) : current[styleName];\n\t}\n\n\treturn current;\n}\n\nmodule.exports = (chalk, temporary) => {\n\tconst styles = [];\n\tconst chunks = [];\n\tlet chunk = [];\n\n\t// eslint-disable-next-line max-params\n\ttemporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {\n\t\tif (escapeCharacter) {\n\t\t\tchunk.push(unescape(escapeCharacter));\n\t\t} else if (style) {\n\t\t\tconst string = chunk.join('');\n\t\t\tchunk = [];\n\t\t\tchunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string));\n\t\t\tstyles.push({inverse, styles: parseStyle(style)});\n\t\t} else if (close) {\n\t\t\tif (styles.length === 0) {\n\t\t\t\tthrow new Error('Found extraneous } in Chalk template literal');\n\t\t\t}\n\n\t\t\tchunks.push(buildStyle(chalk, styles)(chunk.join('')));\n\t\t\tchunk = [];\n\t\t\tstyles.pop();\n\t\t} else {\n\t\t\tchunk.push(character);\n\t\t}\n\t});\n\n\tchunks.push(chunk.join(''));\n\n\tif (styles.length > 0) {\n\t\tconst errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n\t\tthrow new Error(errMessage);\n\t}\n\n\treturn chunks.join('');\n};\n","'use strict';\nconst ansiStyles = require('ansi-styles');\nconst {stdout: stdoutColor, stderr: stderrColor} = require('supports-color');\nconst {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n} = require('./util');\n\nconst {isArray} = Array;\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m'\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nclass ChalkClass {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = {};\n\tapplyOptions(chalk, options);\n\n\tchalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_);\n\n\tObject.setPrototypeOf(chalk, Chalk.prototype);\n\tObject.setPrototypeOf(chalk.template, chalk);\n\n\tchalk.template.constructor = () => {\n\t\tthrow new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.');\n\t};\n\n\tchalk.template.Instance = ChalkClass;\n\n\treturn chalk.template;\n};\n\nfunction Chalk(options) {\n\treturn chalkFactory(options);\n}\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t}\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this._styler, true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t}\n};\n\nconst usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nfor (const model of usedModels) {\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this._generator.level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis._generator.level = level;\n\t\t}\n\t}\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\tconst builder = (...arguments_) => {\n\t\tif (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {\n\t\t\t// Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}`\n\t\t\treturn applyStyle(builder, chalkTag(builder, ...arguments_));\n\t\t}\n\n\t\t// Single argument is hot path, implicit coercion is faster than anything\n\t\t// eslint-disable-next-line no-implicit-coercion\n\t\treturn applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\t};\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder._generator = self;\n\tbuilder._styler = _styler;\n\tbuilder._isEmpty = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self._isEmpty ? '' : string;\n\t}\n\n\tlet styler = self._styler;\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.indexOf('\\u001B') !== -1) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nlet template;\nconst chalkTag = (chalk, ...strings) => {\n\tconst [firstString] = strings;\n\n\tif (!isArray(firstString) || !isArray(firstString.raw)) {\n\t\t// If chalk() was called by itself or with a string,\n\t\t// return the string itself as a string.\n\t\treturn strings.join(' ');\n\t}\n\n\tconst arguments_ = strings.slice(1);\n\tconst parts = [firstString.raw[0]];\n\n\tfor (let i = 1; i < firstString.length; i++) {\n\t\tparts.push(\n\t\t\tString(arguments_[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'),\n\t\t\tString(firstString.raw[i])\n\t\t);\n\t}\n\n\tif (template === undefined) {\n\t\ttemplate = require('./templates');\n\t}\n\n\treturn template(chalk, parts.join(''));\n};\n\nObject.defineProperties(Chalk.prototype, styles);\n\nconst chalk = Chalk(); // eslint-disable-line new-cap\nchalk.supportsColor = stdoutColor;\nchalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap\nchalk.stderr.supportsColor = stderrColor;\n\nmodule.exports = chalk;\n","/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport chalk from 'chalk'\n\nexport interface JSONObject {\n [x: string]: any | JSONObject | undefined\n}\n\nexport enum ModelDelimeter {\n\tROOT = '_',\n\tSEPERATOR = '|',\n\tCOMPONENT_SEPERATOR = '@',\n\tNID_SEPERATOR = '^' // This seperator splits the static and dynamic part of a context string (nid). Used for creating payload header for size optimisation.\n}\n\nexport const CheckValidChar = (checkParams: string[][]): void => {\n const invalidChars = [ \n ModelDelimeter.ROOT, \n ModelDelimeter.SEPERATOR, \n ModelDelimeter.COMPONENT_SEPERATOR, \n ModelDelimeter.NID_SEPERATOR\n ];\n\n checkParams.forEach(param => {\n invalidChars.forEach(char => {\n if (param[1].includes(char)) {\n throw new Error(`Invalid character inside [${param[0]}:${param[1]}], no [${char}] allowed`);\n }\n });\n });\n}\n\n// npm logging levels are prioritized from 0 to 6 (highest to lowest). This from Winston logger.\nexport interface ISTSLogger {\n error(message: any): void;\n warn(message: any): void;\n info(message: any): void;\n http(message: any): void;\n verbose(message: any): void;\n debug(message: any): void;\n silly(message: any): void;\n}\n\nexport const defaultLogger: ISTSLogger = {\n debug(message) {\n console.log(chalk.grey(`debug: ${message}`));\n },\n error(message) {\n console.log(chalk.red(`error: ${message}`));\n },\n http(message) {\n console.log(chalk.cyan(`http: ${message}`));\n },\n info(message) {\n console.log(chalk.white(`info: ${message}`));\n },\n silly(message) {\n console.log(chalk.yellow(`silly: ${message}`));\n },\n verbose(message) {\n console.log(chalk.green(`verbose: ${message}`));\n },\n warn(message) {\n console.log(chalk.magenta(`warn: ${message}`));\n },\n}\n\nexport interface IGenericMessageProcessorPayload {\n header: string\n messageId: string\n senderId: string\n senderRole: string\n requestPayload: JSONObject\n responsePayload: JSONObject\n pid: string\n messageType: 'REQUEST' | 'RESPONSE'\n}\n\nexport interface IGenericMessageProcessorWorkerRecord {\n messageId: string\n senderId: string\n requestPayload: IGenericMessageProcessorPayload\n responses: Record<string, IGenericMessageProcessorPayload> // The key here will be the pid\n startTime: number\n endTime: number\n timeout: NodeJS.Timeout | null\n callBack: (payload: IGenericMessageProcessorPayload, options: any) => void\n errorCallBack: (payload: IGenericMessageProcessorPayload, option: any) => void\n}\n\nexport interface GenericMessageManagerOptions {\n logger: ISTSLogger\n requestResponseMessageTimeout: number\n namespace: string\n role: 'SERVER' | 'CLIENT'\n groups: string[]\n messageSender: (payload: IGenericMessageProcessorPayload, options: any) => void\n ProcessRequestMessage: (payload: IGenericMessageProcessorPayload, options: any) => Promise<JSONObject>\n ProcessResponseMessage?: (reesponses: Record<string, IGenericMessageProcessorPayload>, options: any) => Promise<boolean>\n messageReceiverStart: (options: any) => void\n messageReceiverStop: (options: any) => void\n}\n\nexport interface IWebWorderMessageHandlerOptions {\n logger: ISTSLogger\n role: 'SERVER' | 'CLIENT'\n namespace: string\n groups: string[]\n ignoreEvents?: string[]\n messagePort: any // MessagePort;\n context?: JSONObject\n}\n","export type errorCode = {\n\tcode: string\n\tdescription: string\n}\n\nexport type errorPayload = {\n\terror: string,\n\terror_description: string,\n\ttimestamp: number,\n\t//trace_id: \"255d1aef-8c98-452f-ac51-23d051240864\", //@@\n\t//correlation_id: \"fb3d2015-bc17-4bb9-bb85-30c5cf1aaaa7\", //@@\n\tdetails?: unknown\n}\n\nexport function GetErrorPayload(errorCode: errorCode, details: unknown = null): errorPayload {\n return {\n error: errorCode.code,\n error_description: errorCode.description,\n timestamp: Date.now(),\n //trace_id: \"255d1aef-8c98-452f-ac51-23d051240864\", //@@\n //correlation_id: \"fb3d2015-bc17-4bb9-bb85-30c5cf1aaaa7\", //@@\n details: details\n }\n}\n","import Ajv, { Schema } from 'ajv/dist/jtd.js'\nimport { AnyValidateFunction } from 'ajv/dist/core.js';\n\nimport { JSONObject } from './index'\n\nconst ajv = new Ajv();\n\nconst _Validate = (validator: AnyValidateFunction<unknown>, payload: JSONObject): unknown | null => {\n const valid: boolean = validator(payload) as boolean;\n if (!valid) {\n return validator.errors;\n } else {\n return null;\n }\n /*\n\t\tconsole.error(validator.errors);\n\t\tconsole.trace('Invalid Schema');\n\t\tconsole.log('Payload:-');\n\t\tconsole.log(JSON.stringify(payload));\n\t\tprocess.exit(1);\n\t\t*/\n};\n\nexport function AddSchema(name: string, schema: Schema): void {\n ajv.addSchema(schema, name);\n /*\n\treturn (payload) => {\n\t\tconst validator = ajv.getSchema(name)\n\t\t_Validate(validator, payload)\n\t}*/\n\n}\n\nexport function Validate(name: string, payload: JSONObject): unknown {\n const validator: AnyValidateFunction<unknown> | undefined = ajv.getSchema(name)\n if (validator) {\n return _Validate(validator, payload);\n }\n}\n","import { Validate } from './validate.js'\n\nimport { JSONObject } from './index'\n\nexport class STSOptionsBase\n{\n #options: JSONObject | null;\n\n constructor(options: JSONObject | null = null)\n {\n this.#options = options;\n\n if (options !== null) {\n if (typeof options.validator === 'undefined') {\n //console.log(JSON.stringify(options));\n //console.trace(\"Options Here ------------------------------------------------------------------------------------------\")\n } else {\n Validate(options.validator as string, options);\n }\n }\n }\n\n get options()\n {\n return this.#options;\n }\n}\n","export async function Sleep(milliseconds = 1000): Promise<void> { \n return new Promise(resolve => setTimeout(resolve, milliseconds))\n}\n \n// poolsleep is required to avoid JEST reporting unclosed handles during shutdown of all tests\nexport async function JestSleep(): Promise<void> {\n return Sleep(100);\n}\n","import { errorCode, errorPayload } from './errorhandling'\n\n// Ref: https://datatracker.ietf.org/doc/html/rfc6749#appendix-A\nexport enum OAuth2ParameterType {\n\tAUDIENCE = 'AUDIENCE', // STS Extension\n\tCLIENT_ID = 'client_id',\n\tCLIENT_SECRET = 'client_secret',\n\tRESPONSE_TYPE = 'response_type',\n\tSCOPE = 'scope',\n\tSTATE = 'state',\n\tREDIRECT_URI = 'redirect_uri',\n\tERROR = 'error',\n\tERROR_DESCRIPTION = 'error_description',\n\tERROR_CODES = 'error_codes', // STS Extension\n\tERROR_URI = 'error_uri',\n\tGRANT_TYPE = 'grant_type',\n\tCODE = 'code',\n\tACCESS_TOKEN = 'access_token',\n\tTOKEN_TYPE = 'token_type',\n\tEXPIRES_IN = 'expires_in',\n\tUSERNAME = 'username',\n\tPASSWORD = 'password',\n\tREFRESH_TOKEN = 'refresh_token',\n\tRESPONSE_MODE = 'response_mode', // STS Extension\n\tTIMESTAMP = 'timestamp', // STS Extension\n\tTRACE_ID = 'trace_id', // STS Extension\n\tCORRELATION_ID = 'correlation_id' // STS Extension\n}\n\n// Auth0 claim usage;\n// aud - api identifier\n// scope - list (space separated) of api permissions\n\n// Claims (Auth0)\n// https://auth0.com/docs/secure/tokens/json-web-tokens/json-web-token-claims\n\n// Reserved claims (IANA)\n// https://www.iana.org/assignments/jwt/jwt.xhtml#claims\n\n// Example scopes and claims (Auth0)\n// https://auth0.com/docs/get-started/apis/scopes/sample-use-cases-scopes-and-claims\n\n// OIDC Claims and Scopes\n// https://openid.net/specs/openid-connect-core-1_0.html#Claims\n// https://developer.okta.com/blog/2017/07/25/oidc-primer-part-1#:~:text=Simply%20put%2C%20claims%20are%20name,information%20asserted%20about%20an%20Entity.%E2%80%9D\n\n// OIDC Standard Claims\n// https://openid.net/specs/openid-connect-core-1_0.html#Claims\n// https://developer.okta.com/blog/2017/07/25/oidc-primer-part-1#:~:text=Simply%20put%2C%20claims%20are%20name,information%20asserted%20about%20an%20Entity.%E2%80%9D\nexport enum OIDCStandardClaim {\n\tSUB = 'sub',\n\tNAME = 'name',\n\tGIVEN_NAME = 'given_name',\n\tFAMILY_NAME = 'family_name',\n\tMIDDLE_NAME = 'middle_name',\n\tNICKNAME = 'nickname',\n\tPREFERRED_USERNAME = 'preferred_username',\n\tPROFILE = 'profile',\n\tPICTURE = 'picture',\n\tWEBSITE = 'website',\n\tEMAIL = 'email',\n\tEMAIL_VERIFIED = 'email_verified',\n\tGENDER = 'gender',\n\tBIRTHDATE = 'birthdate',\n\tZONEINFO = 'zoneinfo',\n\tLOCALE = 'locale',\n\tPHONE_NUMBER = 'phone_number',\n\tPHONE_NUMBER_VERIFIED = 'phone_number_verified',\n\tADDRESS = 'address',\n\tCLIENT_SECRET = 'client_secret',\n\tNONCE = 'nonce' // STS Extension\n}\n\nexport enum OIDCAddressClaim {\n\tFORMATTED = 'formatted',\n\tSTREET_ADDRESS = 'street_address',\n\tLOCALITY = 'locality',\n\tREGION = 'region',\n\tCOUNTRY = 'country'\n}\n\nexport class OAuth2ParameterErrorType {\n static readonly NOT_EQUAL: errorCode = {\n code: 'STS_OAUTH2_ERR_0001',\n description: 'Parameter values not equal.'\n }\n static readonly NOT_PRESENT: errorCode = {\n code: 'STS_OAUTH2_ERR_0002',\n description: 'Parameter not provided.'\n }\n static readonly INVALID_FORMAT: errorCode = {\n code: 'STS_OAUTH2_ERR_0003',\n description: 'Parameter value format invalid.'\n }\n static readonly EXPIRED: errorCode = {\n code: 'STS_OAUTH2_ERR_0004',\n description: 'Parameter value expired.'\n }\n}\n\nexport function compareParameterTypes(source1: string[], source2: string[], authParameterTypes: OAuth2ParameterType[]): errorPayload[] {\n const errors: errorPayload[] = [ ];\n for (let i=0 ; i < authParameterTypes.length; i++) {\n const authParameterType = authParameterTypes[i];\n if (source1[i].localeCompare(source2[i]) !== 0) {\n const error: errorPayload = {\n error: OAuth2ParameterErrorType.NOT_EQUAL.code,\n error_description: OAuth2ParameterErrorType.NOT_EQUAL.description,\n timestamp: Date.now(),\n details: `${OAuth2ParameterErrorType.NOT_EQUAL.description}: Parameter: [${authParameterType}]`\n }\n errors.push(error);\n }\n }\n return errors;\n}\n","import validate from './validate.js';\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n //\n // Note to future-self: No, you can't remove the `toLowerCase()` call.\n // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n var uuid = unsafeStringify(arr, offset);\n // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}","var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;","/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport { JSONObject, IGenericMessageProcessorPayload, IGenericMessageProcessorWorkerRecord, GenericMessageManagerOptions } from './commonTypes'\n\nimport { v4 as uuidv4 } from 'uuid';\n\nexport class GenericMessageManager {\n #id: string;\n #options: GenericMessageManagerOptions;\n #inflightMessages: Record<string, IGenericMessageProcessorWorkerRecord> = { };\n #messageHeader: string;\n\n constructor(options: GenericMessageManagerOptions) {\n this.#id = uuidv4();\n this.#options = options;\n this.#messageHeader = `__STS__${this.#options.namespace}__${uuidv4()}`;\n }\n\n get id() {\n return this.#id;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ReceivedMessageFromMaster(msg: any) {\n // Override in subclass if required\n }\n\n SendMessage = (payload: JSONObject, options?: any): Promise<JSONObject> => {\n return new Promise((resolve, reject) => {\n this.#SendMessage(payload, options,\n (payload: IGenericMessageProcessorPayload) => {\n resolve(payload.responsePayload);\n },\n (payload: IGenericMessageProcessorPayload) => {\n reject(payload.requestPayload);\n })\n })\n }\n\n #SendMessage = (payload: JSONObject, options: any,\n callBack: (payload: IGenericMessageProcessorPayload) => void, \n errorCallBack: (payload: IGenericMessageProcessorPayload) => void\n ): void => {\n const messageId: string = uuidv4();\n const requestPayload: IGenericMessageProcessorPayload = {\n header: this.#messageHeader,\n messageId,\n senderId: this.#id,\n senderRole: this.#options.role,\n requestPayload: payload,\n responsePayload: { },\n pid: process.pid.toString(),\n messageType: 'REQUEST'\n }\n const messageRecord = {\n messageId,\n senderId: this.#id,\n senderRole: this.#options.role,\n requestPayload,\n responses: { }, // record\n startTime: performance.now(),\n endTime: 0,\n timeout: setTimeout(() => {\n //this.#LogDebugMessage(chalk.red(`Timeout has occurred after: [${this.#options.requestResponseMessageTimeout}]ms with message id: [${messageRecord.messageId}]. Details: [${JSON.stringify(this.#inflightMessages[messageRecord.messageId].requestPayload)}]`));\n setTimeout(() => {\n delete this.#inflightMessages[messageRecord.messageId];\n }, 0).unref();\n errorCallBack(requestPayload);\n }, this.#options.requestResponseMessageTimeout).unref(),// max message timeout allowed\n callBack,\n errorCallBack\n }\n this.#inflightMessages[messageRecord.messageId] = messageRecord;\n //this.#LogDebugMessage(chalk.cyan(`sending: [${JSON.stringify(requestPayload)}]`));\n this.#options.messageSender(requestPayload, options);\n }\n\n #ProcessMessage = async (msg: any, options: any): Promise<void> => {\n if (msg.header && msg.header.localeCompare(this.#messageHeader) === 0) {\n const message = (msg as IGenericMessageProcessorPayload);\n if (this.#inflightMessages[message.messageId]) {\n const inFlightMessageRecord: IGenericMessageProcessorWorkerRecord = this.#inflightMessages[message.messageId];\n inFlightMessageRecord.responses[message.senderId ] = { ...message };\n let completed = true; // Defaults to true\n if (this.#options.ProcessResponseMessage) {\n completed = await this.#options.ProcessResponseMessage(inFlightMessageRecord.responses, options);\n if (completed) {\n inFlightMessageRecord.endTime = performance.now();\n clearTimeout(inFlightMessageRecord.timeout as any);\n inFlightMessageRecord.callBack({\n responsePayload: Object.values(inFlightMessageRecord.responses).map(r => r.responsePayload)\n } as any, options) // \n delete this.#inflightMessages[message.messageId];\n }\n } else if (completed) {\n inFlightMessageRecord.endTime = performance.now();\n clearTimeout(inFlightMessageRecord.timeout as any);\n inFlightMessageRecord.callBack(message, options) // inFlightMessageRecord.responses\n //@@inFlightMessageRecord.callBack(Object.values(inFlightMessageRecord.responses), options) // \n delete this.#inflightMessages[message.messageId];\n } else {\n //console.log(chalk.grey(`#ProcessMessage:5`));\n }\n } else {\n //throw new Error(`Could not find Request/Response message with id: [${message.messageId}]`); //@@\n }\n }\n }\n\n Start = (options?: any) => {\n this.#messageHeader = `__STS__${this.#options.namespace}__${uuidv4()}`;\n this.#options.messageReceiverStart(options);\n }\n\n Stop = (options?: any) => {\n // Kill in-flight messages\n this.#options.messageReceiverStop(options);\n\n for (const [, iPCMessageProcessorWorkerRecord] of Object.entries(this.#inflightMessages)) {\n if (iPCMessageProcessorWorkerRecord.timeout) {\n clearTimeout(iPCMessageProcessorWorkerRecord.timeout);\n }\n }\n this.#inflightMessages = { };\n }\n\n // Process a message recieved from a worker\n ProcessMessage = async (msg: any, options: any) => {\n if (msg.header) {\n const checkName = `__STS__${this.#options.namespace}__`; //@@ this is a broadcast becuase the unique uuid is not part of the header test\n if ((msg.header as string).includes(checkName)) {\n const message = (msg as IGenericMessageProcessorPayload);\n if (msg.messageType.localeCompare('REQUEST') === 0) {\n let processMessage = true;\n if (message.requestPayload.args && message.requestPayload.args.length > 0 && message.requestPayload.args[0].group) {\n const group = message.requestPayload.args[0].group;\n processMessage = (this.#options.groups.indexOf(group) === -1) ? false : true;\n }\n if (processMessage) {\n message.responsePayload = await this.#options.ProcessRequestMessage(message, options);\n message.senderId = this.#id;\n message.messageType = 'RESPONSE';\n this.#options.messageSender(message, options);\n }\n } else {\n // Received a response (to my request)\n this.#ProcessMessage(msg, options);\n }\n }\n }\n }\n}\n","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n","/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF */ // --> OFF\nimport { TinyEmitter } from \"tiny-emitter\";\n\nimport { JSONObject, IGenericMessageProcessorPayload, GenericMessageManagerOptions, IWebWorderMessageHandlerOptions } from './commonTypes'\n\nimport { GenericMessageManager } from './genericMessageManager'\n\nimport chalk from 'chalk';\n\nexport interface IClientRecord {\n id: string\n clientConnected: Date\n pingCount: number\n timeout: NodeJS.Timeout\n groups: string[]\n context?: JSONObject\n}\n\nexport interface IEventPayload {\n __eventName: string\n args: any[]\n}\n\nexport interface IEventRecord {\n event: string\n callback: any,\n ctx?: any\n}\n\nexport interface IPingData {\n id: string\n groups: string[]\n context?: JSONObject\n}\n\nexport class WebWorkerMessageHandler extends TinyEmitter {\n #ipcMessageManager: GenericMessageManager | null = null;\n #options: IWebWorderMessageHandlerOptions;\n #events: Record<string, IEventRecord> = { };\n #clients: Record<string, IClientRecord> = { };\n #pingTimeout: NodeJS.Timeout | null = null;\n #messagePort: any; // MessagePort;\n\n constructor(options: IWebWorderMessageHandlerOptions) {\n super();\n this.#options = options;\n this.#messagePort = options.messagePort;\n\n this.SetupPrimary();\n\n if (this.#options.role.localeCompare('CLIENT') === 0) {\n const ping = () => {\n this.#pingTimeout = setTimeout(() => {\n const pingData: IPingData = {\n id: (this.#ipcMessageManager as GenericMessageManager).id,\n groups: this.#options.groups,\n }\n if (this.#options.context) {\n pingData.context = this.#options.context;\n }\n this.emit('ping', pingData, (response: any) => { });\n ping();\n }, 1000).unref();\n }\n ping();\n } else {\n this.on('ping', (pingData: IPingData, callback: any) => {\n const { id, groups, context } = pingData;\n if (this.#clients[id]) {\n clearTimeout(this.#clients[id].timeout);\n this.#clients[id].pingCount++;\n this.#clients[id].timeout = setTimeout(() => {\n delete this.#clients[id];\n }, 2000);\n this.#clients[id].groups = groups;\n this.#clients[id].context = context;\n } else {\n this.#clients[id] = {\n id,\n clientConnected: new Date(),\n pingCount: 0,\n timeout: setTimeout(() => {\n delete this.#clients[id];\n }, 2000),\n groups,\n context\n }\n }\n callback('ok');\n });\n }\n }\n\n #processRawMessage = (rawmessage: string) => {\n const message = JSON.parse(rawmessage);\n this.#ipcMessageManager?.ProcessMessage(message, { });\n }\n\n get clients(): Record<string, IClientRecord> {\n return this.#clients;\n }\n\n get groups(): string[] {\n return this.#options.groups;\n }\n \n AddGroup = (group: string) => {\n const index = this.#options.groups.indexOf(group);\n if (index === -1) {\n this.#options.groups.push(group);\n }\n }\n\n RemoveGroup = (group: string) => {\n const removeIndex = this.#options.groups.indexOf(group);\n if (removeIndex !== -1) {\n this.#options.groups.splice(removeIndex, 1);\n }\n }\n\n SetupPrimary = () => {\n const ipcMessageManagerOptions: GenericMessageManagerOptions = {\n logger: this.#options.logger,\n requestResponseMessageTimeout: 5000,\n namespace: this.#options.namespace,\n role: this.#options.role,\n messageSender: this.#messageSender,\n groups: this.#options.groups,\n // This method is used to calculate if all responses have been received from multiple clients (broadcast)\n // returns true/false.\n ProcessResponseMessage: this.#ProcessResponseMessage,\n // This gets called when an event is received from a message receiver (when ProcessMessage is invoked from the receiver event handler)\n ProcessRequestMessage: this.#processPayload,\n \n messageReceiverStart: (options: any) => {\n this.#messagePort.on('message', this.#processRawMessage);\n //this.#redisSubscriber.on(\"message\", this.#processRawMessage);\n },\n \n messageReceiverStop: (options: any) => {\n this.#messagePort.off(\"message\", this.#processRawMessage);\n //this.#redisSubscriber.off(\"message\", this.#processRawMessage);\n }\n }\n this.#ipcMessageManager = new GenericMessageManager(ipcMessageManagerOptions);\n }\n\n \n #messageSender = (payload: IGenericMessageProcessorPayload, options: any) => {\n if (payload.messageType.localeCompare('REQUEST') === 0) {\n //this.#redisPublisher.publish(this.#requestChannel, JSON.stringify(payload));\n this.#messagePort.postMessage(JSON.stringify(payload));\n } else if (payload.messageType.localeCompare('RESPONSE') === 0) {\n this.#messagePort.postMessage(JSON.stringify(payload));\n //this.#redisPublisher.publish(this.#responseChannel, JSON.stringify(payload));\n }\n }\n\n \n #ProcessResponseMessage = async (responses: Record<string, IGenericMessageProcessorPayload>, options: any): Promise<boolean> => {\n // Now check if we have all responses ...\n let allFound = false;\n\n for (const [responseId, response] of Object.entries(responses)) {\n if (response.senderRole.localeCompare('CLIENT') === 0) {\n allFound = true;\n break;\n }\n }\n if (allFound) {\n return allFound;\n }\n\n let found = true;\n\n // Sender role here is SERVER\n let requestGroup = null;\n for (const [responseId, response] of Object.entries(responses)) {\n if (response.requestPayload.args.length > 0 && response.requestPayload.args[0].group) {\n requestGroup = response.requestPayload.args[0].group;\n break;\n }\n }\n\n if (requestGroup) {\n const clientsInGroup = Object.values(this.#clients).filter(c => {\n if (c.groups.indexOf(requestGroup) === -1) {\n return false;\n }\n return true;\n });\n\n // Now make sure that all clients are in the responses\n found = true;\n clientsInGroup.forEach(c => {\n if (!responses[c.id]) {\n found = false;\n }\n })\n } else {\n const clientsInGroup = Object.values(this.#clients)\n\n // Now make sure that all clients are in the responses\n found = true;\n clientsInGroup.forEach(c => {\n if (!responses[c.id]) {\n found = false;\n }\n })\n }\n\n return found;\n }\n\n #processPayload = (payload: IGenericMessageProcessorPayload, options: any): Promise<JSONObject> => {\n // check the event name from the collection and invoke that function\n return new Promise<JSONObject>((resolve, reject) => {\n if (payload.messageType.localeCompare('REQUEST') === 0) {\n if (payload.requestPayload['__eventName']) {\n const eventName = payload.requestPayload['__eventName'];\n // Only process events that I have registered interest in (using .on)\n if (this.#events[eventName]) {\n try {\n //const retVal = this.#events[eventName].callback(payload.requestPayload.args, payload, options, this.#events[eventName].ctx);\n this.#events[eventName].callback(...payload.requestPayload.args, (responseMessage: any) => {\n resolve(responseMessage);\n });\n } catch (error) {\n reject(error);\n }\n }\n }\n }\n });\n }\n\n // p.on('fromworker', (arg1: number, arg2: string, callback: any) => {\n override on(event: string, callback: any, ctx?: any): this {\n if (this.#events[event]) {\n // Update the event with the same name\n delete this.#events[event];\n }\n const eventObject: IEventRecord = {\n event,\n callback,\n ctx\n }\n this.#events[eventObject.event] = eventObject;\n return this;\n }\n\n override off(event: string, callback?: any): this {\n if (this.#events[event]) {\n delete this.#events[event];\n }\n return this;\n }\n\n Start = () => {\n this.#ipcMessageManager?.Start();\n }\n\n Stop = () => {\n if (this.#pingTimeout) {\n clearTimeout(this.#pingTimeout);\n this.#pingTimeout = null;\n }\n\n this.#ipcMessageManager?.Stop();\n }\n\n override emit(event: string, ...args: any[]): this {\n (async () => {\n try {\n const retVal = await this.#ipcMessageManager?.SendMessage({\n __eventName: event,\n args: args.slice(0, args.length-1)\n } as IEventPayload); \n // Invoke the response callback\n args[args.length-1](retVal);\n } catch (error) {\n if (this.#options.ignoreEvents) {\n if (this.#options.ignoreEvents.indexOf((error as any).__eventName) !== -1) {\n return;\n }\n }\n this.#options.logger.error(chalk.red(`RedisMessageHandler:emit(): Error: [${JSON.stringify(error)}]`));\n }\n })();\n return this;\n }\n\n emitWithError(event: string, args: JSONObject, responseCb: (response: JSONObject | undefined) => void, errorCb: (error: any) => void): this {\n (async () => {\n try {\n const retVal = await this.#ipcMessageManager?.SendMessage({\n __eventName: event,\n args: [ args ]\n } as IEventPayload); \n // Invoke the response callback\n responseCb(retVal);\n } catch (error) {\n if (this.#options.ignoreEvents) {\n if (this.#options.ignoreEvents.indexOf((error as any).__eventName) !== -1) {\n return;\n }\n }\n errorCb(error);\n }\n })();\n return this;\n }\n\n emitex = async(event: string, ...args: any[]): Promise<JSONObject> => {\n return (this.#ipcMessageManager as GenericMessageManager).SendMessage({\n __eventName: event,\n args\n } as IEventPayload); \n }\n}"],"names":["require$$0","conversions","route","require$$1","colorConvert","styles","stringReplaceAll","stringEncaseCRLFWithFirstIndex","chalk","require$$2","require$$3","ModelDelimeter","OAuth2ParameterType","OIDCStandardClaim","OIDCAddressClaim","_options","payload","uuidv4","tinyEmitterModule"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,15,16,17,18,20]}