validation-br 2.0.0-next-4 → 2.0.0-next-5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/_exceptions/ValidationBRError.d.ts +25 -0
- package/dist/src/_exceptions/ValidationBRError.d.ts.map +1 -0
- package/dist/src/_exceptions/ValidationBRError.js +52 -0
- package/dist/src/_exceptions/ValidationBRError.js.map +1 -0
- package/dist/src/_helpers/crc.d.ts +8 -0
- package/dist/src/_helpers/crc.d.ts.map +1 -0
- package/dist/src/_helpers/crc.js +49 -0
- package/dist/src/_helpers/crc.js.map +1 -0
- package/dist/src/_helpers/crockford.d.ts +32 -0
- package/dist/src/_helpers/crockford.d.ts.map +1 -0
- package/dist/src/_helpers/crockford.js +63 -0
- package/dist/src/_helpers/crockford.js.map +1 -0
- package/dist/src/_helpers/mask.d.ts +19 -0
- package/dist/src/_helpers/mask.d.ts.map +1 -0
- package/dist/src/_helpers/mask.js +39 -0
- package/dist/src/_helpers/mask.js.map +1 -0
- package/dist/src/_helpers/random.d.ts +28 -0
- package/dist/src/_helpers/random.d.ts.map +1 -0
- package/dist/src/_helpers/random.js +55 -0
- package/dist/src/_helpers/random.js.map +1 -0
- package/dist/src/_helpers/utils.d.ts +95 -0
- package/dist/src/_helpers/utils.d.ts.map +1 -0
- package/dist/src/_helpers/utils.js +128 -0
- package/dist/src/_helpers/utils.js.map +1 -0
- package/dist/src/base.d.ts +34 -0
- package/dist/src/base.d.ts.map +1 -0
- package/dist/src/base.js +51 -0
- package/dist/src/base.js.map +1 -0
- package/dist/src/carplate.d.ts +32 -0
- package/dist/src/carplate.d.ts.map +1 -0
- package/dist/src/carplate.js +71 -0
- package/dist/src/carplate.js.map +1 -0
- package/dist/src/cbi_sinter.d.ts +79 -0
- package/dist/src/cbi_sinter.d.ts.map +1 -0
- package/dist/src/cbi_sinter.js +124 -0
- package/dist/src/cbi_sinter.js.map +1 -0
- package/dist/src/cep.d.ts +62 -0
- package/dist/src/cep.d.ts.map +1 -0
- package/dist/src/cep.js +223 -0
- package/dist/src/cep.js.map +1 -0
- package/dist/src/certidao.d.ts +84 -0
- package/dist/src/certidao.d.ts.map +1 -0
- package/dist/src/certidao.js +131 -0
- package/dist/src/certidao.js.map +1 -0
- package/dist/src/cnh.d.ts +81 -0
- package/dist/src/cnh.d.ts.map +1 -0
- package/dist/src/cnh.js +129 -0
- package/dist/src/cnh.js.map +1 -0
- package/dist/src/cnpj.d.ts +108 -0
- package/dist/src/cnpj.d.ts.map +1 -0
- package/dist/src/cnpj.js +175 -0
- package/dist/src/cnpj.js.map +1 -0
- package/dist/src/cpf.d.ts +89 -0
- package/dist/src/cpf.d.ts.map +1 -0
- package/dist/src/cpf.js +138 -0
- package/dist/src/cpf.js.map +1 -0
- package/dist/src/email.d.ts +13 -0
- package/dist/src/email.d.ts.map +1 -0
- package/dist/src/email.js +45 -0
- package/dist/src/email.js.map +1 -0
- package/dist/src/judicial-process.d.ts +151 -0
- package/dist/src/judicial-process.d.ts.map +1 -0
- package/dist/src/judicial-process.js +298 -0
- package/dist/src/judicial-process.js.map +1 -0
- package/dist/src/main.d.ts +16 -0
- package/dist/src/main.d.ts.map +1 -0
- package/dist/src/main.js +57 -0
- package/dist/src/main.js.map +1 -0
- package/dist/src/nup17.d.ts +99 -0
- package/dist/src/nup17.d.ts.map +1 -0
- package/dist/src/nup17.js +156 -0
- package/dist/src/nup17.js.map +1 -0
- package/dist/src/phone.d.ts +104 -0
- package/dist/src/phone.d.ts.map +1 -0
- package/dist/src/phone.js +204 -0
- package/dist/src/phone.js.map +1 -0
- package/dist/src/pis-pasep.d.ts +71 -0
- package/dist/src/pis-pasep.d.ts.map +1 -0
- package/dist/src/pis-pasep.js +117 -0
- package/dist/src/pis-pasep.js.map +1 -0
- package/dist/src/pix-copy-paste.d.ts +27 -0
- package/dist/src/pix-copy-paste.d.ts.map +1 -0
- package/dist/src/pix-copy-paste.js +84 -0
- package/dist/src/pix-copy-paste.js.map +1 -0
- package/dist/src/pix-key.d.ts +30 -0
- package/dist/src/pix-key.d.ts.map +1 -0
- package/dist/src/pix-key.js +90 -0
- package/dist/src/pix-key.js.map +1 -0
- package/dist/src/postal-track-code.d.ts +77 -0
- package/dist/src/postal-track-code.d.ts.map +1 -0
- package/dist/src/postal-track-code.js +130 -0
- package/dist/src/postal-track-code.js.map +1 -0
- package/dist/src/renavam.d.ts +32 -0
- package/dist/src/renavam.d.ts.map +1 -0
- package/dist/src/renavam.js +114 -0
- package/dist/src/renavam.js.map +1 -0
- package/dist/src/tituloEleitor.d.ts +83 -0
- package/dist/src/tituloEleitor.d.ts.map +1 -0
- package/dist/src/tituloEleitor.js +168 -0
- package/dist/src/tituloEleitor.js.map +1 -0
- package/dist/src/uf.d.ts +90 -0
- package/dist/src/uf.d.ts.map +1 -0
- package/dist/src/uf.js +264 -0
- package/dist/src/uf.js.map +1 -0
- package/dist/src/uuid.d.ts +10 -0
- package/dist/src/uuid.d.ts.map +1 -0
- package/dist/src/uuid.js +35 -0
- package/dist/src/uuid.js.map +1 -0
- package/package.json +3 -2
- package/.prettierignore +0 -1
- package/.prettierrc +0 -9
- package/dist/jest.config.d.ts +0 -8
- package/dist/jest.config.d.ts.map +0 -1
- package/dist/jest.config.js +0 -154
- package/dist/jest.config.js.map +0 -1
- package/eslint.config.mjs +0 -11
- package/jest.config.ts +0 -210
- package/todo.md +0 -33
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/_helpers/utils.ts"],"names":[],"mappings":";;AAUA,0BAEC;AAYD,sDAEC;AAcD,4DAKC;AAoBD,gCAiCC;AAgBD,4CAEC;AAgBD,gDAMC;AA1ID,wEAAsI;AAEtI;;;;;;;GAOG;AACH,SAAgB,OAAO,CAAC,GAAW;IACjC,OAAO,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CAAC,KAAa;IACjD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,wBAAwB,CAAC,KAAa,EAAE,UAAoB;IAC1E,OAAO,UAAU,CAAC,MAAM,CACtB,CAAC,IAAY,EAAE,IAAS,EAAE,CAAS,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACtE,CAAC,CACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,UAAU,CACxB,KAAsB,EACtB,SAAwB,IAAI,EAC5B,OAA2B;IAE3B,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IAE5D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,KAAK,IAAI,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;QACpF,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,IAAI,uCAAmB,EAAE,CAAA;QACjC,CAAC;QAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,cAAc,KAAK,IAAI,IAAI,MAAM,IAAI,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;QACvG,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,IAAI,oCAAgB,EAAE,CAAA;QAC9B,CAAC;QAED,MAAM,qBAAqB,GAAG,OAAO,CAAC,eAAe,KAAK,IAAI,IAAI,MAAM,IAAI,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;QACzG,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,IAAI,qCAAiB,EAAE,CAAA;QAC/B,CAAC;QAED,MAAM,yBAAyB,GAAG,OAAO,CAAC,mBAAmB,KAAK,IAAI,IAAI,MAAM,CAAA;QAChF,IAAI,yBAAyB,EAAE,CAAC;YAC9B,IAAI,qBAAqB,CAAC,YAAY,CAAC;gBAAE,MAAM,IAAI,6CAAyB,EAAE,CAAA;QAChF,CAAC;QAED,IAAI,MAAM,IAAI,OAAO,CAAC,eAAe;YAAE,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACxF,IAAI,MAAM,IAAI,OAAO,CAAC,WAAW;YAAE,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACrF,CAAC;IAED,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,gBAAgB,CAAC,KAAa,EAAE,WAAmB,EAAE,QAAgB;IACnF,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAA;AACpF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,kBAAkB,CAChC,KAAa,EACb,aAAqB,EACrB,WAAmB;IAEnB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC3E,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare abstract class Base {
|
|
2
|
+
protected _value: string;
|
|
3
|
+
/**
|
|
4
|
+
* Estilo da máscara no formato: 000.000.000-00
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
protected abstract _mask: string | null;
|
|
8
|
+
constructor(_value: string, fakeFn?: Function);
|
|
9
|
+
get value(): string;
|
|
10
|
+
toString(): string;
|
|
11
|
+
/**
|
|
12
|
+
* Deve remover apenas pontos e traços.
|
|
13
|
+
*/
|
|
14
|
+
protected abstract normalize(options?: any): void;
|
|
15
|
+
/**
|
|
16
|
+
* Deve aplicar as regras de validação do dígito verificador do documento
|
|
17
|
+
*/
|
|
18
|
+
protected abstract validate(options?: any): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Deve devolver o número com a máscara
|
|
21
|
+
*/
|
|
22
|
+
mask(): string;
|
|
23
|
+
/**
|
|
24
|
+
* checksum()
|
|
25
|
+
* Calcula o dígito verificador de um número SEM o dígito incluído
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
static checksum(value: string): string | null;
|
|
29
|
+
/**
|
|
30
|
+
* Deve gerar um número fake no padrão
|
|
31
|
+
*/
|
|
32
|
+
static fake(options?: any): any;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/base.ts"],"names":[],"mappings":"AAEA,8BAAsB,IAAI;IAOZ,SAAS,CAAC,MAAM,EAAE,MAAM;IANpC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;gBAElB,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ;IAEvD,IAAI,KAAK,WAER;IAED,QAAQ;IAUR;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAEjD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO;IAQnD;;OAEG;IACH,IAAI,IAAI,MAAM;IAWd;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI7C;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG;CAIhC"}
|
package/dist/src/base.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Base = void 0;
|
|
4
|
+
const mask_1 = require("./_helpers/mask");
|
|
5
|
+
class Base {
|
|
6
|
+
_value;
|
|
7
|
+
constructor(_value, fakeFn) {
|
|
8
|
+
this._value = _value;
|
|
9
|
+
}
|
|
10
|
+
get value() {
|
|
11
|
+
return this._value;
|
|
12
|
+
}
|
|
13
|
+
toString() {
|
|
14
|
+
return this.value;
|
|
15
|
+
}
|
|
16
|
+
//
|
|
17
|
+
//
|
|
18
|
+
//
|
|
19
|
+
//
|
|
20
|
+
//
|
|
21
|
+
/**
|
|
22
|
+
* Deve devolver o número com a máscara
|
|
23
|
+
*/
|
|
24
|
+
mask() {
|
|
25
|
+
if (!this._mask)
|
|
26
|
+
return this._value;
|
|
27
|
+
return new mask_1.Mask(this._value).apply(this._mask);
|
|
28
|
+
}
|
|
29
|
+
//
|
|
30
|
+
//
|
|
31
|
+
// STATIC
|
|
32
|
+
//
|
|
33
|
+
//
|
|
34
|
+
/**
|
|
35
|
+
* checksum()
|
|
36
|
+
* Calcula o dígito verificador de um número SEM o dígito incluído
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
39
|
+
static checksum(value) {
|
|
40
|
+
throw new Error('Should implement on child');
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Deve gerar um número fake no padrão
|
|
44
|
+
*/
|
|
45
|
+
static fake(options) {
|
|
46
|
+
throw new Error('Should implement on child');
|
|
47
|
+
// Base.fakeFn(options)
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.Base = Base;
|
|
51
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/base.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AAEvC,MAAsB,IAAI;IAOF;IAAtB,YAAsB,MAAc,EAAE,MAAiB;QAAjC,WAAM,GAAN,MAAM,CAAQ;IAAsB,CAAC;IAE3D,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAkBD,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IAEF;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QACpC,OAAO,IAAI,WAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,EAAE;IACF,EAAE;IACF,SAAS;IACT,EAAE;IACF,EAAE;IAEF;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAa;QAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,OAAa;QACvB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC7C,uBAAuB;IACzB,CAAC;CACF;AArED,oBAqEC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Placas de carro no formato mercosul e placas mais antigas
|
|
3
|
+
* AAA-0000 e AAA-0A00
|
|
4
|
+
*
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
import { Base } from "./base";
|
|
8
|
+
export declare class CarPlate extends Base {
|
|
9
|
+
protected _value: string;
|
|
10
|
+
protected _mask: string;
|
|
11
|
+
constructor(_value: string);
|
|
12
|
+
validate(): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Padroniza o valor, sem modificar a ponto de permitir que a validação aceite um valor inválido
|
|
15
|
+
* Ex.: AAA0-000 é inválido. Normalize() não pode modificar isso.
|
|
16
|
+
*/
|
|
17
|
+
protected normalize(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Remove a máscara após a normalização e a validação, para evitar que o valor
|
|
20
|
+
* AAAA-000 seja validado. Ele seria validado quando o traço fosse removido, então
|
|
21
|
+
* o _unmask é chamado apenas após a validação.
|
|
22
|
+
*/
|
|
23
|
+
private _unmask;
|
|
24
|
+
/**
|
|
25
|
+
* checksum()
|
|
26
|
+
* Calcula o dígito verificador de um número SEM o dígito incluído
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
static checksum(value?: string): string;
|
|
30
|
+
static fake(): CarPlate;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=carplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carplate.d.ts","sourceRoot":"","sources":["../../src/carplate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAI9B,qBAAa,QAAS,SAAQ,IAAI;IAIpB,SAAS,CAAC,MAAM,EAAE,MAAM;IAFpC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAa;gBAEd,MAAM,EAAE,MAAM;IAapC,QAAQ;IAUR;;;OAGG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAI3B;;;;OAIG;IACH,OAAO,CAAC,OAAO;IAWf;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAIvC,MAAM,CAAC,IAAI,IAAI,QAAQ;CAIxB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Placas de carro no formato mercosul e placas mais antigas
|
|
4
|
+
* AAA-0000 e AAA-0A00
|
|
5
|
+
*
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.CarPlate = void 0;
|
|
10
|
+
const base_1 = require("./base");
|
|
11
|
+
const ValidationBRError_1 = require("./_exceptions/ValidationBRError");
|
|
12
|
+
const random_1 = require("./_helpers/random");
|
|
13
|
+
class CarPlate extends base_1.Base {
|
|
14
|
+
_value;
|
|
15
|
+
_mask = '000-0000';
|
|
16
|
+
constructor(_value) {
|
|
17
|
+
super(_value);
|
|
18
|
+
this._value = _value;
|
|
19
|
+
this.normalize();
|
|
20
|
+
if (!this.validate())
|
|
21
|
+
throw new ValidationBRError_1.InvalidFormatException();
|
|
22
|
+
this._unmask();
|
|
23
|
+
}
|
|
24
|
+
//
|
|
25
|
+
//
|
|
26
|
+
//
|
|
27
|
+
//
|
|
28
|
+
//
|
|
29
|
+
validate() {
|
|
30
|
+
return /^[A-Z]{3}-?[0-9][A-Z0-9][0-9]{2}$/i.test(this._value);
|
|
31
|
+
}
|
|
32
|
+
//
|
|
33
|
+
//
|
|
34
|
+
// PROTECTED
|
|
35
|
+
//
|
|
36
|
+
//
|
|
37
|
+
/**
|
|
38
|
+
* Padroniza o valor, sem modificar a ponto de permitir que a validação aceite um valor inválido
|
|
39
|
+
* Ex.: AAA0-000 é inválido. Normalize() não pode modificar isso.
|
|
40
|
+
*/
|
|
41
|
+
normalize() {
|
|
42
|
+
this._value = this._value.toLocaleUpperCase().trim(); //.replace(/[-]+/g, '')
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Remove a máscara após a normalização e a validação, para evitar que o valor
|
|
46
|
+
* AAAA-000 seja validado. Ele seria validado quando o traço fosse removido, então
|
|
47
|
+
* o _unmask é chamado apenas após a validação.
|
|
48
|
+
*/
|
|
49
|
+
_unmask() {
|
|
50
|
+
this._value = this._value.replace(/[-]+/g, '');
|
|
51
|
+
}
|
|
52
|
+
//
|
|
53
|
+
//
|
|
54
|
+
// STATIC
|
|
55
|
+
//
|
|
56
|
+
//
|
|
57
|
+
/**
|
|
58
|
+
* checksum()
|
|
59
|
+
* Calcula o dígito verificador de um número SEM o dígito incluído
|
|
60
|
+
*
|
|
61
|
+
*/
|
|
62
|
+
static checksum(value) {
|
|
63
|
+
throw new ValidationBRError_1.NoChecksumException();
|
|
64
|
+
}
|
|
65
|
+
static fake() {
|
|
66
|
+
const fake = `${random_1.Random.alpha(3)}${random_1.Random.number(1)}${random_1.Random.alpha()}${random_1.Random.number(2, true)}`;
|
|
67
|
+
return new CarPlate(fake);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.CarPlate = CarPlate;
|
|
71
|
+
//# sourceMappingURL=carplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carplate.js","sourceRoot":"","sources":["../../src/carplate.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,iCAA8B;AAC9B,uEAA8F;AAC9F,8CAA2C;AAE3C,MAAa,QAAS,SAAQ,WAAI;IAIV;IAFZ,KAAK,GAAW,UAAU,CAAA;IAEpC,YAAsB,MAAc;QAClC,KAAK,CAAC,MAAM,CAAC,CAAA;QADO,WAAM,GAAN,MAAM,CAAQ;QAElC,IAAI,CAAC,SAAS,EAAE,CAAA;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAAE,MAAM,IAAI,0CAAsB,EAAE,CAAA;QACxD,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IAEH,QAAQ;QACN,OAAO,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/D,CAAC;IAED,GAAG;IACH,GAAG;IACH,YAAY;IACZ,GAAG;IACH,GAAG;IAEH;;;OAGG;IACO,SAAS;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAA,CAAA,uBAAuB;IAC7E,CAAC;IAED;;;;OAIG;IACK,OAAO;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAGD,GAAG;IACH,GAAG;IACH,SAAS;IACT,GAAG;IACH,GAAG;IAEH;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAc;QAC5B,MAAM,IAAI,uCAAmB,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,IAAI;QACT,MAAM,IAAI,GAAG,GAAG,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,eAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,eAAM,CAAC,KAAK,EAAE,GAAG,eAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QAC/F,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;CACF;AAhED,4BAgEC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CBISinter
|
|
3
|
+
* Valida o Código Imobiliário Brasileiro (CIB) no padrão SINTER.
|
|
4
|
+
*
|
|
5
|
+
* @doc
|
|
6
|
+
* O CIB (Código Imobiliário Brasileiro) é o código único de identificação do imóvel,
|
|
7
|
+
* estabelecido pelo SINTER (Sistema Nacional de Gestão de Informações Territoriais).
|
|
8
|
+
* O código é composto por 7 caracteres alfanuméricos seguidos de um dígito verificador.
|
|
9
|
+
*
|
|
10
|
+
* O algoritmo utiliza a Base 32 de Crockford, que:
|
|
11
|
+
* - É insensível a maiúsculas/minúsculas.
|
|
12
|
+
* - Remove os caracteres I, L, O e U para evitar confusões visuais e palavras obscenas.
|
|
13
|
+
* - Substitui 'I' e 'L' por '1'.
|
|
14
|
+
* - Substitui 'O' por '0'.
|
|
15
|
+
*
|
|
16
|
+
* 1) Partes do código
|
|
17
|
+
* A 3 N 8 Z 4 F - Y
|
|
18
|
+
* |___________| |
|
|
19
|
+
* Base DV
|
|
20
|
+
*
|
|
21
|
+
* 2) Cálculo do Dígito Verificador
|
|
22
|
+
*
|
|
23
|
+
* O cálculo utiliza o algoritmo de Módulo 31 com pesos específicos.
|
|
24
|
+
*
|
|
25
|
+
* Exemplo: A3N8Z4F
|
|
26
|
+
*
|
|
27
|
+
* Pesos: 4, 3, 9, 5, 7, 1, 8
|
|
28
|
+
*
|
|
29
|
+
* Caracteres Base32 (Valor):
|
|
30
|
+
* 0=0, 1=1, ..., 9=9
|
|
31
|
+
* A=10, B=11, C=12, D=13, E=14, F=15, G=16, H=17
|
|
32
|
+
* J=18, K=19, M=20, N=21, P=22, Q=23, R=24, S=25
|
|
33
|
+
* T=26, V=27, W=28, X=29, Y=30, Z=31
|
|
34
|
+
*
|
|
35
|
+
* Cálculo:
|
|
36
|
+
* A (10) * 4 = 40
|
|
37
|
+
* 3 (3) * 3 = 9
|
|
38
|
+
* N (21) * 9 = 189
|
|
39
|
+
* 8 (8) * 5 = 40
|
|
40
|
+
* Z (31) * 7 = 217
|
|
41
|
+
* 4 (4) * 1 = 4
|
|
42
|
+
* F (15) * 8 = 120
|
|
43
|
+
*
|
|
44
|
+
* Soma = 40 + 9 + 189 + 40 + 217 + 4 + 120 = 619
|
|
45
|
+
*
|
|
46
|
+
* Resto = 619 % 31 = 30
|
|
47
|
+
*
|
|
48
|
+
* O valor 30 corresponde ao caractere 'Y' na Base 32 de Crockford.
|
|
49
|
+
* Portanto, o DV é Y.
|
|
50
|
+
*
|
|
51
|
+
* Observação: O DV nunca pode ser "Z", pois o resto máximo da divisão por 31 é 30.
|
|
52
|
+
*/
|
|
53
|
+
import { Base } from "./base";
|
|
54
|
+
export declare class CBISinter extends Base {
|
|
55
|
+
protected _mask: string;
|
|
56
|
+
constructor(value: string);
|
|
57
|
+
/**
|
|
58
|
+
* Normaliza o valor informado no construtor, atualizando o _value interno.
|
|
59
|
+
*/
|
|
60
|
+
protected normalize(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Valida se o DV informado na string original coincide com o DV calculado.
|
|
63
|
+
*/
|
|
64
|
+
validate(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
*
|
|
67
|
+
* checksum()
|
|
68
|
+
* Calcula o dígito verificador de um número SEM o dígito incluído
|
|
69
|
+
*
|
|
70
|
+
*/
|
|
71
|
+
static checksum(value: string): string;
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* Cria uma instância com um número válido aleatório
|
|
75
|
+
*
|
|
76
|
+
*/
|
|
77
|
+
static fake(): CBISinter;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=cbi_sinter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cbi_sinter.d.ts","sourceRoot":"","sources":["../../src/cbi_sinter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAKH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,qBAAa,SAAU,SAAQ,IAAI;IACjC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAe;gBAE1B,KAAK,EAAE,MAAM;IASzB;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAI3B;;KAEC;IACM,QAAQ,IAAI,OAAO;IAU1B;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAqBtC;;;;OAIG;IACH,MAAM,CAAC,IAAI,IAAI,SAAS;CAQzB"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CBISinter
|
|
4
|
+
* Valida o Código Imobiliário Brasileiro (CIB) no padrão SINTER.
|
|
5
|
+
*
|
|
6
|
+
* @doc
|
|
7
|
+
* O CIB (Código Imobiliário Brasileiro) é o código único de identificação do imóvel,
|
|
8
|
+
* estabelecido pelo SINTER (Sistema Nacional de Gestão de Informações Territoriais).
|
|
9
|
+
* O código é composto por 7 caracteres alfanuméricos seguidos de um dígito verificador.
|
|
10
|
+
*
|
|
11
|
+
* O algoritmo utiliza a Base 32 de Crockford, que:
|
|
12
|
+
* - É insensível a maiúsculas/minúsculas.
|
|
13
|
+
* - Remove os caracteres I, L, O e U para evitar confusões visuais e palavras obscenas.
|
|
14
|
+
* - Substitui 'I' e 'L' por '1'.
|
|
15
|
+
* - Substitui 'O' por '0'.
|
|
16
|
+
*
|
|
17
|
+
* 1) Partes do código
|
|
18
|
+
* A 3 N 8 Z 4 F - Y
|
|
19
|
+
* |___________| |
|
|
20
|
+
* Base DV
|
|
21
|
+
*
|
|
22
|
+
* 2) Cálculo do Dígito Verificador
|
|
23
|
+
*
|
|
24
|
+
* O cálculo utiliza o algoritmo de Módulo 31 com pesos específicos.
|
|
25
|
+
*
|
|
26
|
+
* Exemplo: A3N8Z4F
|
|
27
|
+
*
|
|
28
|
+
* Pesos: 4, 3, 9, 5, 7, 1, 8
|
|
29
|
+
*
|
|
30
|
+
* Caracteres Base32 (Valor):
|
|
31
|
+
* 0=0, 1=1, ..., 9=9
|
|
32
|
+
* A=10, B=11, C=12, D=13, E=14, F=15, G=16, H=17
|
|
33
|
+
* J=18, K=19, M=20, N=21, P=22, Q=23, R=24, S=25
|
|
34
|
+
* T=26, V=27, W=28, X=29, Y=30, Z=31
|
|
35
|
+
*
|
|
36
|
+
* Cálculo:
|
|
37
|
+
* A (10) * 4 = 40
|
|
38
|
+
* 3 (3) * 3 = 9
|
|
39
|
+
* N (21) * 9 = 189
|
|
40
|
+
* 8 (8) * 5 = 40
|
|
41
|
+
* Z (31) * 7 = 217
|
|
42
|
+
* 4 (4) * 1 = 4
|
|
43
|
+
* F (15) * 8 = 120
|
|
44
|
+
*
|
|
45
|
+
* Soma = 40 + 9 + 189 + 40 + 217 + 4 + 120 = 619
|
|
46
|
+
*
|
|
47
|
+
* Resto = 619 % 31 = 30
|
|
48
|
+
*
|
|
49
|
+
* O valor 30 corresponde ao caractere 'Y' na Base 32 de Crockford.
|
|
50
|
+
* Portanto, o DV é Y.
|
|
51
|
+
*
|
|
52
|
+
* Observação: O DV nunca pode ser "Z", pois o resto máximo da divisão por 31 é 30.
|
|
53
|
+
*/
|
|
54
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
|
+
exports.CBISinter = void 0;
|
|
56
|
+
const ValidationBRError_1 = require("./_exceptions/ValidationBRError");
|
|
57
|
+
const crockford_1 = require("./_helpers/crockford");
|
|
58
|
+
const random_1 = require("./_helpers/random");
|
|
59
|
+
const base_1 = require("./base");
|
|
60
|
+
const utils_1 = require("./_helpers/utils");
|
|
61
|
+
class CBISinter extends base_1.Base {
|
|
62
|
+
_mask = "0000000-0"; // Máscara apenas informativa
|
|
63
|
+
constructor(value) {
|
|
64
|
+
super(value);
|
|
65
|
+
this.normalize();
|
|
66
|
+
if (!this.validate()) {
|
|
67
|
+
throw new ValidationBRError_1.InvalidChecksumException();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Normaliza o valor informado no construtor, atualizando o _value interno.
|
|
72
|
+
*/
|
|
73
|
+
normalize() {
|
|
74
|
+
this._value = crockford_1.Crockford.normalize(this._value);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Valida se o DV informado na string original coincide com o DV calculado.
|
|
78
|
+
*/
|
|
79
|
+
validate() {
|
|
80
|
+
const cib = (0, utils_1.clearValue)(this._value, 8, {
|
|
81
|
+
rejectEmpty: true,
|
|
82
|
+
rejectIfLonger: true,
|
|
83
|
+
rejectIfShorter: true,
|
|
84
|
+
});
|
|
85
|
+
return CBISinter.checksum(cib.substring(0, 7)) === cib.substring(7, 8);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
*
|
|
89
|
+
* checksum()
|
|
90
|
+
* Calcula o dígito verificador de um número SEM o dígito incluído
|
|
91
|
+
*
|
|
92
|
+
*/
|
|
93
|
+
static checksum(value) {
|
|
94
|
+
if (!value)
|
|
95
|
+
throw new ValidationBRError_1.EmptyValueException();
|
|
96
|
+
if (!/^[0-9a-z]{7}$/i.test(value))
|
|
97
|
+
throw new ValidationBRError_1.InvalidFormatException();
|
|
98
|
+
// Garante que temos pelo menos os 7 caracteres da base
|
|
99
|
+
// const base = value.substring(0, 7);
|
|
100
|
+
const base = value;
|
|
101
|
+
const weights = [4, 3, 9, 5, 7, 1, 8];
|
|
102
|
+
let sum = 0;
|
|
103
|
+
for (let i = 0; i < base.length; i++) {
|
|
104
|
+
const charValue = crockford_1.Crockford.charToInt(base[i]);
|
|
105
|
+
sum += charValue * weights[i];
|
|
106
|
+
}
|
|
107
|
+
const rest = sum % 31;
|
|
108
|
+
return crockford_1.Crockford.intToChar(rest);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
*
|
|
112
|
+
* Cria uma instância com um número válido aleatório
|
|
113
|
+
*
|
|
114
|
+
*/
|
|
115
|
+
static fake() {
|
|
116
|
+
// Pego o alfabeto usado pelo Crockford como array
|
|
117
|
+
const alphabet = crockford_1.Crockford.getAlphabet().split('');
|
|
118
|
+
// Uso o random.fromArray para pegar 7 caracteres aleatórios de dentro do alfabeto
|
|
119
|
+
const base = random_1.Random.fromArray(alphabet, 7).join('');
|
|
120
|
+
return new CBISinter(`${base}${CBISinter.checksum(base)}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.CBISinter = CBISinter;
|
|
124
|
+
//# sourceMappingURL=cbi_sinter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cbi_sinter.js","sourceRoot":"","sources":["../../src/cbi_sinter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;;;AAEH,uEAAwH;AACxH,oDAAiD;AACjD,8CAA2C;AAC3C,iCAA8B;AAC9B,4CAA8C;AAE9C,MAAa,SAAU,SAAQ,WAAI;IACvB,KAAK,GAAW,WAAW,CAAC,CAAC,6BAA6B;IAEpE,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,4CAAwB,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACO,SAAS;QACjB,IAAI,CAAC,MAAM,GAAG,qBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;KAEC;IACM,QAAQ;QACb,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;YACrC,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAa;QAC3B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,uCAAmB,EAAE,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,0CAAsB,EAAE,CAAC;QAEtE,uDAAuD;QACvD,sCAAsC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC;QACnB,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,qBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,GAAG,IAAI,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QACtB,OAAO,qBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAID;;;;OAIG;IACH,MAAM,CAAC,IAAI;QACT,kDAAkD;QAClD,MAAM,QAAQ,GAAG,qBAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnD,kFAAkF;QAClF,MAAM,IAAI,GAAG,eAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpD,OAAO,IAAI,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AAxED,8BAwEC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import ValidationBRError from './_exceptions/ValidationBRError';
|
|
2
|
+
import { Base } from './base';
|
|
3
|
+
import { UF } from './uf';
|
|
4
|
+
export declare class CEP extends Base {
|
|
5
|
+
protected _value: string;
|
|
6
|
+
protected _mask: string;
|
|
7
|
+
protected static _ranges: Record<string, [string, string][]>;
|
|
8
|
+
constructor(_value: string, options?: ValidationOptions);
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
*
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
protected normalize(): void;
|
|
15
|
+
/**
|
|
16
|
+
* validate()
|
|
17
|
+
* Valida se um número é válido e
|
|
18
|
+
* retorna uma exceção se não estiver
|
|
19
|
+
*
|
|
20
|
+
* @link https://regex101.com/r/uQJuUM/1
|
|
21
|
+
*
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
24
|
+
protected validate(options?: ValidationOptions): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* checksum()
|
|
27
|
+
* Not implemented
|
|
28
|
+
*/
|
|
29
|
+
static checksum(value: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Cria um número fake
|
|
32
|
+
* - Deve criar um fake dentro de uma faixa
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
static fake(options?: Partial<ValidationOptions>): CEP;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* Verifica se um CEP está dentro de uma faixa e retorna o estado
|
|
39
|
+
*
|
|
40
|
+
*/
|
|
41
|
+
static getUFByCEP(value: string): UF;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* Pega aleatoriamente um CEP em um estado
|
|
45
|
+
*
|
|
46
|
+
*/
|
|
47
|
+
static getRandomByUF(uf: UF): CEP;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* Pega as faixas de CEP por estado
|
|
51
|
+
*
|
|
52
|
+
*/
|
|
53
|
+
static getRangesByUF(uf: UF): [string, string][];
|
|
54
|
+
}
|
|
55
|
+
interface ValidationOptions {
|
|
56
|
+
uf?: UF;
|
|
57
|
+
}
|
|
58
|
+
export declare class NotFoundCEPException extends ValidationBRError {
|
|
59
|
+
constructor();
|
|
60
|
+
}
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=cep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cep.d.ts","sourceRoot":"","sources":["../../src/cep.ts"],"names":[],"mappings":"AAAA,OAAO,iBAGN,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAE1B,qBAAa,GAAI,SAAQ,IAAI;IA6Ef,SAAS,CAAC,MAAM,EAAE,MAAM;IA5EpC,SAAS,CAAC,KAAK,SAAe;IAE9B,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAwE1D;gBAEoB,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAiBjE;;;;OAIG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAI3B;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO;IAaxD;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAItC;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAAG,GAAG;IAe1D;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE;IAgBpC;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG;IAMjC;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE;CAG5B;AAED,UAAU,iBAAiB;IACzB,EAAE,CAAC,EAAE,EAAE,CAAC;CACT;AAED,qBAAa,oBAAqB,SAAQ,iBAAiB;;CAI1D"}
|