@ekyc_qoobiss/qbs-ect-cmp 3.6.75 → 3.6.76

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.
@@ -4,7 +4,6 @@ import id_white_svg from '../../assets/canvas-masks/id_white.svg';
4
4
  // @ts-ignore
5
5
  import id_green_svg from '../../assets/canvas-masks/id_green.svg';
6
6
  import { delay } from '../../utils/utils';
7
- import { VerificationMode } from '../../models/IVerificationMode';
8
7
  import store from '../../helpers/store';
9
8
  export class IDML5Detector {
10
9
  static getInstance(stream, isMobile) {
@@ -26,13 +25,9 @@ export class IDML5Detector {
26
25
  this.canvasElement = canvasElement;
27
26
  // this.component = component;
28
27
  }
29
- initDetector(mode) {
28
+ initDetector() {
30
29
  this.initTime = Date.now();
31
30
  this.continue = true;
32
- if (mode == VerificationMode.Full)
33
- this.targetedLabel = 'full';
34
- else
35
- this.targetedLabel = 'tilted';
36
31
  // this.width = this.videoElement.videoWidth;
37
32
  // this.height = this.videoElement.videoHeight;
38
33
  this.drawFrame('white');
@@ -60,14 +55,14 @@ export class IDML5Detector {
60
55
  this.stream.timeElapsed();
61
56
  return;
62
57
  }
63
- if (results[0].label == this.targetedLabel && results[0].confidence > 0.9 && !this.checked) {
58
+ if (results[0].label == 'full' && results[0].confidence > 0.9 && !this.checked) {
64
59
  this.checked = true;
65
60
  if (store.debug)
66
61
  console.log('idml5detector | gotResults | autoCapturing');
67
62
  this.stream.autoCapturing();
68
63
  await this.drawFrame('green');
69
64
  }
70
- if (results[0].label == this.targetedLabel && results[0].confidence > 0.8 && !this.checked) {
65
+ if (results[0].label == 'tilted' && results[0].confidence > 0.8 && !this.checked) {
71
66
  this.checked = true;
72
67
  await this.drawFrame('green');
73
68
  }
@@ -1524,12 +1524,6 @@ const getLogMessage = (param_req_id = '', param_redirect_id = '', param_token =
1524
1524
  };
1525
1525
  };
1526
1526
 
1527
- var VerificationMode;
1528
- (function (VerificationMode) {
1529
- VerificationMode[VerificationMode["Full"] = 0] = "Full";
1530
- VerificationMode[VerificationMode["Tilt"] = 1] = "Tilt";
1531
- })(VerificationMode || (VerificationMode = {}));
1532
-
1533
1527
  class IDML5Detector {
1534
1528
  static getInstance(stream, isMobile) {
1535
1529
  if (!IDML5Detector.instance) {
@@ -1550,13 +1544,9 @@ class IDML5Detector {
1550
1544
  this.canvasElement = canvasElement;
1551
1545
  // this.component = component;
1552
1546
  }
1553
- initDetector(mode) {
1547
+ initDetector() {
1554
1548
  this.initTime = Date.now();
1555
1549
  this.continue = true;
1556
- if (mode == VerificationMode.Full)
1557
- this.targetedLabel = 'full';
1558
- else
1559
- this.targetedLabel = 'tilted';
1560
1550
  // this.width = this.videoElement.videoWidth;
1561
1551
  // this.height = this.videoElement.videoHeight;
1562
1552
  this.drawFrame('white');
@@ -1584,14 +1574,14 @@ class IDML5Detector {
1584
1574
  this.stream.timeElapsed();
1585
1575
  return;
1586
1576
  }
1587
- if (results[0].label == this.targetedLabel && results[0].confidence > 0.9 && !this.checked) {
1577
+ if (results[0].label == 'full' && results[0].confidence > 0.9 && !this.checked) {
1588
1578
  this.checked = true;
1589
1579
  if (state.debug)
1590
1580
  console.log('idml5detector | gotResults | autoCapturing');
1591
1581
  this.stream.autoCapturing();
1592
1582
  await this.drawFrame('green');
1593
1583
  }
1594
- if (results[0].label == this.targetedLabel && results[0].confidence > 0.8 && !this.checked) {
1584
+ if (results[0].label == 'tilted' && results[0].confidence > 0.8 && !this.checked) {
1595
1585
  this.checked = true;
1596
1586
  await this.drawFrame('green');
1597
1587
  }
@@ -1715,6 +1705,12 @@ const faceWhiteSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9
1715
1705
 
1716
1706
  const faceGreenSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjIyNC45OTk5OTk5OTk5OTk5NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQogPGc+DQogIDx0aXRsZT5MYXllciAxPC90aXRsZT4NCiAgPGcgc3Ryb2tlPSJudWxsIiBpZD0iTGF5ZXIgMSI+DQogICA8cGF0aCBzdHJva2U9IiM0Y2E1ODUiIGlkPSJzdmdfMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0ibTc0LjI3NzY1LDYuOTI3NjFjLTExLjM3NTk3LC0wLjAxNzEzIC0zMy41NjU1MSw1LjEwNDMzIC00Ni44MTMxNiwxOS40OTQ4MWMtNi43NDE0Myw3LjMyMjkyIC0xOC4xMjI2OSwyMy4wNjk2NyAtMTkuMjY3NTgsNTkuNjEzNjljLTAuNTE5MDYsMTYuNTY5MjEgNS4wNDUyNCw2MC42MjUzMyAxMC4yNDAwNiw3Ni40Njc3NWMzLjYzMTMsMTEuMDc0NjggMjcuNDgyMTUsNDMuOTMzNDkgNDQuNDkwNiw1My42ODI1MWM0LjgwNzkxLDIuNzU1NDYgMTEuMjk2NjgsMi42ODI1MSAxMi40MjI1NSwyLjY4MjUxYzEuMTg4NzYsLTAuMDg0NTcgNy4zMzAyNiwwLjA3Mjk0IDEyLjEzNzY1LC0yLjY4MjUxYzE3LjAwODQ2LC05Ljc0OTAyIDQwLjQwMjA4LC00Mi43Njg1MSA0NC40OTA2LC01My42ODI1MWM0LjQwMDM4LC0xMS43NDQ5MSAxMC43NTk2NSwtNTkuODk4NTQgMTAuMjQwMDYsLTc2LjQ2Nzc1Yy0xLjE0NDg5LC0zNi41NDQwMiAtMTIuNTI2MTUsLTUyLjI5MDc3IC0xOS4yNjc1OCwtNTkuNjEzNjljLTEzLjI0NzY1LC0xNC4zOTA0OCAtMzUuMzA2NjMsLTE5LjUyOTMzIC00Ni43NzgyNywtMTkuNDk0ODFjLTAuNzQ2ODgsMC4wMDIyMiAtMS44OTQ5NCwwIC0xLjg5NDk0LDB6IiBzdHJva2Utd2lkdGg9IjciLz4NCiAgPC9nPg0KIDwvZz4NCjwvc3ZnPg0K';
1717
1707
 
1708
+ var VerificationMode;
1709
+ (function (VerificationMode) {
1710
+ VerificationMode[VerificationMode["Full"] = 0] = "Full";
1711
+ VerificationMode[VerificationMode["Tilt"] = 1] = "Tilt";
1712
+ })(VerificationMode || (VerificationMode = {}));
1713
+
1718
1714
  class FaceML5Detector {
1719
1715
  static getInstance(stream, isMobile) {
1720
1716
  if (!FaceML5Detector.instance) {
@@ -4384,71 +4380,6 @@ var Browser;
4384
4380
  Browser["Unknown"] = "unknown";
4385
4381
  })(Browser || (Browser = {}));
4386
4382
 
4387
- // Unique ID creation requires a high quality random # generator. In the browser we therefore
4388
- // require the crypto API and do not support built-in fallback to lower quality random number
4389
- // generators (like Math.random()).
4390
- let getRandomValues;
4391
- const rnds8 = new Uint8Array(16);
4392
- function rng() {
4393
- // lazy load so that environments that need to polyfill have a chance to do so
4394
- if (!getRandomValues) {
4395
- // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
4396
- getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
4397
-
4398
- if (!getRandomValues) {
4399
- throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
4400
- }
4401
- }
4402
-
4403
- return getRandomValues(rnds8);
4404
- }
4405
-
4406
- /**
4407
- * Convert array of 16 byte values to UUID string format of the form:
4408
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
4409
- */
4410
-
4411
- const byteToHex = [];
4412
-
4413
- for (let i = 0; i < 256; ++i) {
4414
- byteToHex.push((i + 0x100).toString(16).slice(1));
4415
- }
4416
-
4417
- function unsafeStringify(arr, offset = 0) {
4418
- // Note: Be careful editing this code! It's been tuned for performance
4419
- // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
4420
- 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();
4421
- }
4422
-
4423
- const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
4424
- const native = {
4425
- randomUUID
4426
- };
4427
-
4428
- function v4(options, buf, offset) {
4429
- if (native.randomUUID && !buf && !options) {
4430
- return native.randomUUID();
4431
- }
4432
-
4433
- options = options || {};
4434
- const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
4435
-
4436
- rnds[6] = rnds[6] & 0x0f | 0x40;
4437
- rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
4438
-
4439
- if (buf) {
4440
- offset = offset || 0;
4441
-
4442
- for (let i = 0; i < 16; ++i) {
4443
- buf[offset + i] = rnds[i];
4444
- }
4445
-
4446
- return buf;
4447
- }
4448
-
4449
- return unsafeStringify(rnds);
4450
- }
4451
-
4452
4383
  var ImageFormat;
4453
4384
  (function (ImageFormat) {
4454
4385
  ImageFormat["JPEG"] = "image/jpeg";
@@ -4480,11 +4411,10 @@ class Stream {
4480
4411
  }
4481
4412
  constructor(mode) {
4482
4413
  this.streamPaused = false;
4483
- this.guid = v4();
4484
4414
  this.recordedChunks = [];
4485
4415
  this.videoSize = { width: 0, height: 0 };
4486
4416
  if (state.debug)
4487
- console.log(`stream ${this.guid} | constructor`);
4417
+ console.log(`stream | constructor`);
4488
4418
  this.initFacePose();
4489
4419
  this.idML5Detector = IDML5Detector.getInstance(this, state.device.isMobile);
4490
4420
  this.faceML5Detector = FaceML5Detector.getInstance(this, state.device.isMobile);
@@ -4496,23 +4426,23 @@ class Stream {
4496
4426
  if (!Stream.instance) {
4497
4427
  Stream.instance = new Stream(mode);
4498
4428
  if (state.debug)
4499
- console.log(`stream ${Stream.instance.guid} | getNewInstance | new instance`);
4429
+ console.log(`stream | getNewInstance | new instance`);
4500
4430
  }
4501
4431
  return Stream.instance;
4502
4432
  }
4503
4433
  autoCapturing() {
4504
4434
  if (state.debug)
4505
- console.log(`stream ${this.guid} | autoCapturing`);
4435
+ console.log(`stream | autoCapturing`);
4506
4436
  this.callbackAutoCapturing();
4507
4437
  }
4508
4438
  timeElapsed() {
4509
4439
  if (state.debug)
4510
- console.log(`stream ${this.guid} | timeElapsed`);
4440
+ console.log(`stream | timeElapsed`);
4511
4441
  this.callbackTimeElapsed();
4512
4442
  }
4513
4443
  verificationReady() {
4514
4444
  if (state.debug)
4515
- console.log(`stream ${this.guid} | verificationReady`);
4445
+ console.log(`stream | verificationReady`);
4516
4446
  this.verificationFinished();
4517
4447
  }
4518
4448
  updateHtmlElements(videoElement, canvasElement, component) {
@@ -4523,7 +4453,7 @@ class Stream {
4523
4453
  }
4524
4454
  startStream(stream) {
4525
4455
  if (state.debug)
4526
- console.log(`stream ${this.guid} | startStream`);
4456
+ console.log(`stream | startStream`);
4527
4457
  if (this.stream)
4528
4458
  this.stream.getTracks().forEach((track) => track.stop());
4529
4459
  this.stream = stream;
@@ -4556,7 +4486,7 @@ class Stream {
4556
4486
  }
4557
4487
  recordStream() {
4558
4488
  if (state.debug)
4559
- console.log(`stream ${this.guid} | recordStream`);
4489
+ console.log(`stream | recordStream`);
4560
4490
  if (this.mediaRecorder && this.mediaRecorder.state == 'recording')
4561
4491
  return;
4562
4492
  var options = { mimeType: Stream.webmMimeType.mime, videoBitsPerSecond: 1500000 };
@@ -4568,12 +4498,12 @@ class Stream {
4568
4498
  this.mediaRecorder = new MediaRecorder(this.stream, options);
4569
4499
  this.mediaRecorder.ondataavailable = event => {
4570
4500
  if (state.debug)
4571
- console.log(`stream ${this.guid} | recordStream | ondataavailable`);
4501
+ console.log(`stream | recordStream | ondataavailable`);
4572
4502
  this.recordedChunks.push(event.data);
4573
4503
  };
4574
4504
  this.mediaRecorder.onstop = _e => {
4575
4505
  if (state.debug)
4576
- console.log(`stream ${this.guid} | recordStream | onstop`);
4506
+ console.log(`stream | recordStream | onstop`);
4577
4507
  var rec = new Blob(this.recordedChunks, {
4578
4508
  type: options.mimeType.split(';')[0],
4579
4509
  });
@@ -4605,7 +4535,7 @@ class Stream {
4605
4535
  }
4606
4536
  async takePhoto() {
4607
4537
  if (state.debug)
4608
- console.log(`stream ${this.guid} | takePhoto`);
4538
+ console.log(`stream | takePhoto`);
4609
4539
  const canvas = document.createElement('canvas');
4610
4540
  canvas.style.visibility = 'hidden';
4611
4541
  canvas.width = this.videoElement.videoWidth;
@@ -4614,7 +4544,7 @@ class Stream {
4614
4544
  }
4615
4545
  getFrame(canvas) {
4616
4546
  if (state.debug)
4617
- console.log(`stream ${this.guid} | getFrame`);
4547
+ console.log(`stream | getFrame`);
4618
4548
  return new Promise(resolve => {
4619
4549
  const context = canvas.getContext('2d');
4620
4550
  context.drawImage(this.videoElement, 0, 0, canvas.width, canvas.height);
@@ -4622,7 +4552,7 @@ class Stream {
4622
4552
  if (frame.type === ImageFormat.JPEG && !state.device.isAppleDevice) {
4623
4553
  try {
4624
4554
  if (state.debug)
4625
- console.log(`stream ${this.guid} | getFrame | addExifInImg`);
4555
+ console.log(`stream | getFrame | addExifInImg`);
4626
4556
  addExifInImg(frame, this.stream.getTracks()[0], this.videoSize).then(updatedFrame => resolve(updatedFrame));
4627
4557
  }
4628
4558
  catch (e) {
@@ -4632,7 +4562,7 @@ class Stream {
4632
4562
  }
4633
4563
  else {
4634
4564
  if (state.debug)
4635
- console.log(`stream ${this.guid} | getFrame | resolve`);
4565
+ console.log(`stream | getFrame | resolve`);
4636
4566
  resolve(frame);
4637
4567
  }
4638
4568
  }, ImageFormat.PNG, 1);
@@ -4641,7 +4571,7 @@ class Stream {
4641
4571
  async startIdDetection() {
4642
4572
  if (this.streamPaused)
4643
4573
  return;
4644
- this.idML5Detector.initDetector(this.verificationMode);
4574
+ this.idML5Detector.initDetector();
4645
4575
  }
4646
4576
  async startFaceDetection() {
4647
4577
  if (this.streamPaused)
@@ -5105,7 +5035,6 @@ const IdCapture = class {
5105
5035
  this.eventPhotoCapture = createEvent(this, "photoIdCapture", 7);
5106
5036
  this.apiErrorEvent = createEvent(this, "apiError", 7);
5107
5037
  this.eventTimeElapsed = createEvent(this, "timeElapsed", 7);
5108
- this.guid = v4();
5109
5038
  this.videoStarted = undefined;
5110
5039
  this.cameraSize = undefined;
5111
5040
  this.captureTaken = undefined;
@@ -5123,7 +5052,7 @@ const IdCapture = class {
5123
5052
  }
5124
5053
  async componentWillLoad() {
5125
5054
  if (state.debug)
5126
- console.log(`id-capture ${this.guid} | componentWillLoad`);
5055
+ console.log(`id-capture | componentWillLoad`);
5127
5056
  this.translations = await Translations.getValues();
5128
5057
  if (!navigator.mediaDevices) {
5129
5058
  this.apiErrorEvent.emit({ message: 'This browser does not support webRTC' });
@@ -5131,29 +5060,26 @@ const IdCapture = class {
5131
5060
  }
5132
5061
  initVariables() {
5133
5062
  if (state.debug)
5134
- console.log(`id-capture ${this.guid} | initVariables`);
5063
+ console.log(`id-capture | initVariables`);
5135
5064
  if (state.flowStatus == FlowStatus.IDFRONT) {
5136
5065
  this.pose = IDPose.Straight;
5137
5066
  this.flowStep = FlowSteps.CiFrontCapture;
5138
5067
  this.titleMesage = this.translations.IdCaptureValues.Title;
5139
- this.verificationMode = VerificationMode.Full;
5140
5068
  }
5141
5069
  else if (state.flowStatus == FlowStatus.IDBACK) {
5142
5070
  this.pose = IDPose.BackStraight;
5143
5071
  this.flowStep = FlowSteps.CiBackCapture;
5144
5072
  this.titleMesage = this.translations.IdCaptureValues.TtileRotate;
5145
- this.verificationMode = VerificationMode.Full;
5146
5073
  }
5147
5074
  else if (state.flowStatus == FlowStatus.IDTILT) {
5148
5075
  this.titleMesage = this.translations.IdCaptureValues.IDPoseMapping;
5149
5076
  this.pose = IDPose.Tilted;
5150
5077
  this.flowStep = FlowSteps.CiTilt;
5151
- this.verificationMode = VerificationMode.Tilt;
5152
5078
  }
5153
5079
  }
5154
5080
  async componentDidLoad() {
5155
5081
  if (state.debug)
5156
- console.log(`id-capture ${this.guid} | componentDidLoad`);
5082
+ console.log(`id-capture | componentDidLoad`);
5157
5083
  this.initVariables();
5158
5084
  await BaseComponent.logStep(this.flowStep, FlowMoments.Initialized);
5159
5085
  this.demoVideo.src = IdCaptureValues.IDPoseDemoMapping[this.pose];
@@ -5164,7 +5090,7 @@ const IdCapture = class {
5164
5090
  }
5165
5091
  async openCamera() {
5166
5092
  if (state.debug)
5167
- console.log(`id-capture ${this.guid} | openCamera`);
5093
+ console.log(`id-capture | openCamera`);
5168
5094
  if (!state.cameraId) {
5169
5095
  await Cameras.InitCameras(state.device);
5170
5096
  }
@@ -5174,8 +5100,8 @@ const IdCapture = class {
5174
5100
  .getUserMedia(constraints)
5175
5101
  .then(stream => {
5176
5102
  if (state.debug)
5177
- console.log(`id-capture ${this.guid} | openCamera | streamObtained`);
5178
- const superStream = Stream.getNewInstance(this.verificationMode);
5103
+ console.log(`id-capture | openCamera | streamObtained`);
5104
+ const superStream = Stream.getNewInstance(null);
5179
5105
  superStream.initStream(stream);
5180
5106
  })
5181
5107
  .catch(e => {
@@ -5186,7 +5112,7 @@ const IdCapture = class {
5186
5112
  }
5187
5113
  closeCamera() {
5188
5114
  if (state.debug)
5189
- console.log(`id-capture ${this.guid} | closeCamera`);
5115
+ console.log(`id-capture | closeCamera`);
5190
5116
  if (Stream.instance) {
5191
5117
  Stream.instance.dropStream();
5192
5118
  }
@@ -5197,23 +5123,23 @@ const IdCapture = class {
5197
5123
  IDML5Detector.instance = null;
5198
5124
  FaceML5Detector.instance = null;
5199
5125
  if (state.debug)
5200
- console.log(`id-capture ${this.guid} | disconnectedCallback`);
5126
+ console.log(`id-capture | disconnectedCallback`);
5201
5127
  }
5202
5128
  async takePhoto() {
5203
5129
  if (state.debug)
5204
- console.log(`id-capture ${this.guid} | takePhoto`);
5130
+ console.log(`id-capture | takePhoto`);
5205
5131
  if (this.captureTaken)
5206
5132
  return;
5207
5133
  this.captureTaken = true;
5208
5134
  if (state.debug)
5209
- console.log(`id-capture ${this.guid} | takePhoto | sendingPhoto`);
5135
+ console.log(`id-capture | takePhoto | sendingPhoto`);
5210
5136
  let res = await Stream.instance.takePhoto();
5211
5137
  this.eventPhotoCapture.emit(res);
5212
5138
  await BaseComponent.logStep(this.flowStep, FlowMoments.Finalized);
5213
5139
  }
5214
5140
  async verificationFinished() {
5215
5141
  if (state.debug)
5216
- console.log(`id-capture ${this.guid} | verificationFinished`);
5142
+ console.log(`id-capture | verificationFinished`);
5217
5143
  if (this.verified)
5218
5144
  return;
5219
5145
  this.verified = true;
@@ -5244,8 +5170,73 @@ const IdCapture = class {
5244
5170
  };
5245
5171
  IdCapture.style = idCaptureCss;
5246
5172
 
5173
+ // Unique ID creation requires a high quality random # generator. In the browser we therefore
5174
+ // require the crypto API and do not support built-in fallback to lower quality random number
5175
+ // generators (like Math.random()).
5176
+ let getRandomValues;
5177
+ const rnds8 = new Uint8Array(16);
5178
+ function rng() {
5179
+ // lazy load so that environments that need to polyfill have a chance to do so
5180
+ if (!getRandomValues) {
5181
+ // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
5182
+ getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
5183
+
5184
+ if (!getRandomValues) {
5185
+ throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
5186
+ }
5187
+ }
5188
+
5189
+ return getRandomValues(rnds8);
5190
+ }
5191
+
5192
+ /**
5193
+ * Convert array of 16 byte values to UUID string format of the form:
5194
+ * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
5195
+ */
5196
+
5197
+ const byteToHex = [];
5198
+
5199
+ for (let i = 0; i < 256; ++i) {
5200
+ byteToHex.push((i + 0x100).toString(16).slice(1));
5201
+ }
5202
+
5203
+ function unsafeStringify(arr, offset = 0) {
5204
+ // Note: Be careful editing this code! It's been tuned for performance
5205
+ // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
5206
+ 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();
5207
+ }
5208
+
5209
+ const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
5210
+ const native = {
5211
+ randomUUID
5212
+ };
5213
+
5214
+ function v4(options, buf, offset) {
5215
+ if (native.randomUUID && !buf && !options) {
5216
+ return native.randomUUID();
5217
+ }
5218
+
5219
+ options = options || {};
5220
+ const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
5221
+
5222
+ rnds[6] = rnds[6] & 0x0f | 0x40;
5223
+ rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
5224
+
5225
+ if (buf) {
5226
+ offset = offset || 0;
5227
+
5228
+ for (let i = 0; i < 16; ++i) {
5229
+ buf[offset + i] = rnds[i];
5230
+ }
5231
+
5232
+ return buf;
5233
+ }
5234
+
5235
+ return unsafeStringify(rnds);
5236
+ }
5237
+
5247
5238
  const name = "@ekyc_qoobiss/qbs-ect-cmp";
5248
- const version$1 = "3.6.75";
5239
+ const version$1 = "3.6.76";
5249
5240
  const description = "Person Identification Component";
5250
5241
  const main = "./dist/index.cjs.js";
5251
5242
  const module = "./dist/index.js";