UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

222 lines 20.7 kB
/** * Generated file. Do not edit */ import { TargetS3PProtocolConfiguration } from './models'; import { TargetCanProtocolConfiguration } from './models'; import { ModbusOptions } from './models'; import { SerialSettings } from './models'; import { TapStreamReader } from '@iotize/tap/client/impl'; import { TapStreamWriter } from '@iotize/tap/client/impl'; import { enumKeyOrValueToNumber } from '@iotize/tap/client/impl'; import { VariableFormat } from '@iotize/tap'; TapStreamReader.prototype.readTargetComStats = function () { const model = {}; model.nbFailCom = this.readUnsigned(4); model.nbSuccessfulCom = this.readUnsigned(4); return model; }; TapStreamReader.prototype.readTargetSerialModbusProtocolConfiguration = function () { const model = {}; model.modbus = this.readTargetSerialModbusProtocolConfigurationModbus(); model.serial = this.readTargetSerialModbusProtocolConfigurationSerial(); return model; }; TapStreamReader.prototype.readTargetSerialModbusProtocolConfigurationModbus = function () { const model = {}; model.slave = this.readUnsigned(1); this.forwardBits(3); model.offsetFirstRegister = this.readBoolean(1); return model; }; TapStreamReader.prototype.readTargetSerialModbusProtocolConfigurationSerial = function () { const model = {}; model.baudRate = this.readBits(20); this.forwardBits(1); this.forwardBits(1); this.forwardBits(1); this.forwardBits(1); model.physicalPort = this.readBits(4); model.stopBits = this.readBits(2); model.bitParity = this.readBits(4); model.dataBits = this.readBits(2); model.handshakeDelimiter = this.readBits(4); model.hardwareFlowControl = this.readBits(4); model.timeout = this.readUnsigned(1); return model; }; TapStreamReader.prototype.readTargetS3PProtocolConfiguration = function () { const model = {}; model.delay = this.readUnsigned(1); model.mode = this.readUnsigned(1); return model; }; TapStreamReader.prototype.readTargetModbusTcpProtocolConfiguration = function () { const model = {}; model.firstRegisterAddress = this.readUnsigned(1); model.ip = this.readStringTerminator(':'); model.port = this.readStringTerminator(':'); model.timeout = this.readString(); return model; }; TapStreamReader.prototype.readTargetCanProtocolConfiguration = function () { const model = {}; model.frequency = this.readUnsigned(2); model.mode = this.readUnsigned(1); model.filter = this.readUnsigned(1); model.code = this.readUnsigned(4); model.mask = this.readUnsigned(4); return model; }; TapStreamReader.prototype.readModbusWriteOptions = function () { const model = {}; model.options = this.readModbusOptions(); model.data = this.readBytes(); return model; }; TapStreamReader.prototype.readModbusOptions = function () { const model = {}; this.forwardBits(5); model.objectType = this.readBits(3); model.slave = this.readUnsigned(1); model.address = this.readUnsigned(2); model.length = this.readUnsigned(4); model.format = this.readUnsigned(1); return model; }; TapStreamReader.prototype.readMemoryInfo = function () { const model = {}; model.address = this.readUnsigned(4); model.length = this.readUnsigned(4); model.format = this.readUnsigned(1); return model; }; TapStreamReader.prototype.readMemoryWriteInfo = function () { const model = {}; model.info = this.readMemoryInfo(); model.data = this.readBytes(); return model; }; TapStreamReader.prototype.readSerialSettings = function () { const model = {}; return model; }; // TapStreamWriter.prototype.write(model: TargetComStats) : TapStreamWriter{ // return this.writeTargetComStats(model) // } TapStreamWriter.prototype.writeTargetComStats = function (model) { this.writeUnsigned(model.nbFailCom, 4); this.writeUnsigned(model.nbSuccessfulCom, 4); return this; }; // TapStreamWriter.prototype.write(model: TargetSerialModbusProtocolConfiguration) : TapStreamWriter{ // return this.writeTargetSerialModbusProtocolConfiguration(model) // } TapStreamWriter.prototype.writeTargetSerialModbusProtocolConfiguration = function (model) { this.writeTargetSerialModbusProtocolConfigurationModbus(model.modbus); this.writeTargetSerialModbusProtocolConfigurationSerial(model.serial); return this; }; TapStreamWriter.prototype.writeTargetSerialModbusProtocolConfigurationModbus = function (model) { this.writeUnsigned(model.slave, 1); this.forwardBits(3); this.writeBoolean(model.offsetFirstRegister, 1); return this; }; TapStreamWriter.prototype.writeTargetSerialModbusProtocolConfigurationSerial = function (model) { this.writeBits(model.baudRate, 20); this.forwardBits(1); this.forwardBits(1); this.forwardBits(1); this.forwardBits(1); this.writeBitsInt(enumKeyOrValueToNumber(model.physicalPort, SerialSettings.PhysicalPort), 4); this.writeBitsInt(enumKeyOrValueToNumber(model.stopBits, SerialSettings.StopBits), 2); this.writeBitsInt(enumKeyOrValueToNumber(model.bitParity, SerialSettings.BitParity), 4); this.writeBitsInt(enumKeyOrValueToNumber(model.dataBits, SerialSettings.DataBits), 2); this.writeBitsInt(enumKeyOrValueToNumber(model.handshakeDelimiter, SerialSettings.HandshakeDelimiter), 4); this.writeBitsInt(enumKeyOrValueToNumber(model.hardwareFlowControl, SerialSettings.HardwareFlowControl), 4); this.writeUnsigned(model.timeout, 1); return this; }; // TapStreamWriter.prototype.write(model: TargetS3PProtocolConfiguration) : TapStreamWriter{ // return this.writeTargetS3PProtocolConfiguration(model) // } TapStreamWriter.prototype.writeTargetS3PProtocolConfiguration = function (model) { this.writeUnsigned(model.delay, 1); this.writeBitsInt(enumKeyOrValueToNumber(model.mode, TargetS3PProtocolConfiguration.Mode), 8); return this; }; // TapStreamWriter.prototype.write(model: TargetModbusTcpProtocolConfiguration) : TapStreamWriter{ // return this.writeTargetModbusTcpProtocolConfiguration(model) // } TapStreamWriter.prototype.writeTargetModbusTcpProtocolConfiguration = function (model) { this.writeUnsigned(model.firstRegisterAddress, 1); this.writeString(model.ip + ':'); this.writeString(model.port + ':'); this.writeString(model.timeout); return this; }; // TapStreamWriter.prototype.write(model: TargetCanProtocolConfiguration) : TapStreamWriter{ // return this.writeTargetCanProtocolConfiguration(model) // } TapStreamWriter.prototype.writeTargetCanProtocolConfiguration = function (model) { this.writeUnsigned(model.frequency, 2); this.writeBitsInt(enumKeyOrValueToNumber(model.mode, TargetCanProtocolConfiguration.Mode), 8); this.writeBitsInt(enumKeyOrValueToNumber(model.filter, TargetCanProtocolConfiguration.Filter), 8); this.writeUnsigned(model.code, 4); this.writeUnsigned(model.mask, 4); return this; }; // TapStreamWriter.prototype.write(model: ModbusWriteOptions) : TapStreamWriter{ // return this.writeModbusWriteOptions(model) // } TapStreamWriter.prototype.writeModbusWriteOptions = function (model) { this.writeModbusOptions(model.options); this.writeBytes(model.data); return this; }; // TapStreamWriter.prototype.write(model: ModbusOptions) : TapStreamWriter{ // return this.writeModbusOptions(model) // } TapStreamWriter.prototype.writeModbusOptions = function (model) { this.forwardBits(5); this.writeBitsInt(enumKeyOrValueToNumber(model.objectType, ModbusOptions.ObjectType), 3); this.writeUnsigned(model.slave, 1); this.writeUnsigned(model.address, 2); this.writeUnsigned(model.length, 4); this.writeBitsInt(enumKeyOrValueToNumber(model.format, VariableFormat), 8); return this; }; // TapStreamWriter.prototype.write(model: MemoryInfo) : TapStreamWriter{ // return this.writeMemoryInfo(model) // } TapStreamWriter.prototype.writeMemoryInfo = function (model) { this.writeUnsigned(model.address, 4); this.writeUnsigned(model.length, 4); this.writeBitsInt(enumKeyOrValueToNumber(model.format, VariableFormat), 8); return this; }; // TapStreamWriter.prototype.write(model: MemoryWriteInfo) : TapStreamWriter{ // return this.writeMemoryWriteInfo(model) // } TapStreamWriter.prototype.writeMemoryWriteInfo = function (model) { this.writeMemoryInfo(model.info); this.writeBytes(model.data); return this; }; // TapStreamWriter.prototype.write(model: SerialSettings) : TapStreamWriter{ // return this.writeSerialSettings(model) // } TapStreamWriter.prototype.writeSerialSettings = function (model) { return this; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVyLXN0cmVhbS1leHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL2ltcGwvdGFyZ2V0L3NyYy9saWIvZ2VuZXJhdGVkL2NvbnZlcnRlci1zdHJlYW0tZXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBTUgsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTFELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBbUU3QyxlQUFlLENBQUMsU0FBUyxDQUFDLGtCQUFrQixHQUFHO0lBQzdDLE1BQU0sS0FBSyxHQUE0QixFQUFFLENBQUM7SUFFMUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXZDLEtBQUssQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU3QyxPQUFPLEtBQXVCLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUYsZUFBZSxDQUFDLFNBQVMsQ0FBQywyQ0FBMkM7SUFDbkU7UUFDRSxNQUFNLEtBQUssR0FBcUQsRUFBRSxDQUFDO1FBRW5FLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGlEQUFpRCxFQUFFLENBQUM7UUFFeEUsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsaURBQWlELEVBQUUsQ0FBQztRQUV4RSxPQUFPLEtBQWdELENBQUM7SUFDMUQsQ0FBQyxDQUFDO0FBRUosZUFBZSxDQUFDLFNBQVMsQ0FBQyxpREFBaUQ7SUFDekU7UUFDRSxNQUFNLEtBQUssR0FBNEQsRUFBRSxDQUFDO1FBRTFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBCLEtBQUssQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWhELE9BQU8sS0FBdUQsQ0FBQztJQUNqRSxDQUFDLENBQUM7QUFFSixlQUFlLENBQUMsU0FBUyxDQUFDLGlEQUFpRDtJQUN6RTtRQUNFLE1BQU0sS0FBSyxHQUE0RCxFQUFFLENBQUM7UUFFMUUsS0FBSyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEIsS0FBSyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRDLEtBQUssQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkMsS0FBSyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVDLEtBQUssQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTdDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyQyxPQUFPLEtBQXVELENBQUM7SUFDakUsQ0FBQyxDQUFDO0FBRUosZUFBZSxDQUFDLFNBQVMsQ0FBQyxrQ0FBa0M7SUFDMUQ7UUFDRSxNQUFNLEtBQUssR0FBNEMsRUFBRSxDQUFDO1FBRTFELEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEMsT0FBTyxLQUF1QyxDQUFDO0lBQ2pELENBQUMsQ0FBQztBQUVKLGVBQWUsQ0FBQyxTQUFTLENBQUMsd0NBQXdDO0lBQ2hFO1FBQ0UsTUFBTSxLQUFLLEdBQWtELEVBQUUsQ0FBQztRQUVoRSxLQUFLLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsRCxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUxQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU1QyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQyxPQUFPLEtBQTZDLENBQUM7SUFDdkQsQ0FBQyxDQUFDO0FBRUosZUFBZSxDQUFDLFNBQVMsQ0FBQyxrQ0FBa0M7SUFDMUQ7UUFDRSxNQUFNLEtBQUssR0FBNEMsRUFBRSxDQUFDO1FBRTFELEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2QyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEMsT0FBTyxLQUF1QyxDQUFDO0lBQ2pELENBQUMsQ0FBQztBQUVKLGVBQWUsQ0FBQyxTQUFTLENBQUMsc0JBQXNCO0lBQzlDO1FBQ0UsTUFBTSxLQUFLLEdBQWdDLEVBQUUsQ0FBQztRQUU5QyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXpDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRTlCLE9BQU8sS0FBMkIsQ0FBQztJQUNyQyxDQUFDLENBQUM7QUFFSixlQUFlLENBQUMsU0FBUyxDQUFDLGlCQUFpQixHQUFHO0lBQzVDLE1BQU0sS0FBSyxHQUEyQixFQUFFLENBQUM7SUFFekMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwQixLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRW5DLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVyQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBDLE9BQU8sS0FBc0IsQ0FBQztBQUNoQyxDQUFDLENBQUM7QUFFRixlQUFlLENBQUMsU0FBUyxDQUFDLGNBQWMsR0FBRztJQUN6QyxNQUFNLEtBQUssR0FBd0IsRUFBRSxDQUFDO0lBRXRDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVyQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBDLE9BQU8sS0FBbUIsQ0FBQztBQUM3QixDQUFDLENBQUM7QUFFRixlQUFlLENBQUMsU0FBUyxDQUFDLG1CQUFtQixHQUFHO0lBQzlDLE1BQU0sS0FBSyxHQUE2QixFQUFFLENBQUM7SUFFM0MsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFFbkMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFFOUIsT0FBTyxLQUF3QixDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUVGLGVBQWUsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEdBQUc7SUFDN0MsTUFBTSxLQUFLLEdBQTRCLEVBQUUsQ0FBQztJQUUxQyxPQUFPLEtBQXVCLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUYsNEVBQTRFO0FBQzVFLDZDQUE2QztBQUM3QyxJQUFJO0FBRUosZUFBZSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsR0FBRyxVQUM5QyxLQUFxQjtJQUVyQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRTdDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYscUdBQXFHO0FBQ3JHLHNFQUFzRTtBQUN0RSxJQUFJO0FBRUosZUFBZSxDQUFDLFNBQVMsQ0FBQyw0Q0FBNEM7SUFDcEUsVUFBVSxLQUE4QztRQUN0RCxJQUFJLENBQUMsa0RBQWtELENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxrREFBa0QsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdEUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7QUFFSixlQUFlLENBQUMsU0FBUyxDQUFDLGtEQUFrRDtJQUMxRSxVQUNFLEtBQXFEO1FBRXJELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWhELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBRUosZUFBZSxDQUFDLFNBQVMsQ0FBQyxrREFBa0Q7SUFDMUUsVUFDRSxLQUFxRDtRQUVyRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwQixJQUFJLENBQUMsWUFBWSxDQUNmLHNCQUFzQixDQUNwQixLQUFLLENBQUMsWUFBWSxFQUNsQixjQUFjLENBQUMsWUFBWSxDQUM1QixFQUNELENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FDZixzQkFBc0IsQ0FDcEIsS0FBSyxDQUFDLFFBQVEsRUFDZCxjQUFjLENBQUMsUUFBUSxDQUN4QixFQUNELENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FDZixzQkFBc0IsQ0FDcEIsS0FBSyxDQUFDLFNBQVMsRUFDZixjQUFjLENBQUMsU0FBUyxDQUN6QixFQUNELENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FDZixzQkFBc0IsQ0FDcEIsS0FBSyxDQUFDLFFBQVEsRUFDZCxjQUFjLENBQUMsUUFBUSxDQUN4QixFQUNELENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FDZixzQkFBc0IsQ0FDcEIsS0FBSyxDQUFDLGtCQUFrQixFQUN4QixjQUFjLENBQUMsa0JBQWtCLENBQ2xDLEVBQ0QsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxDQUNmLHNCQUFzQixDQUNwQixLQUFLLENBQUMsbUJBQW1CLEVBQ3pCLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDbkMsRUFDRCxDQUFDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVyQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztBQUVKLDRGQUE0RjtBQUM1Riw2REFBNkQ7QUFDN0QsSUFBSTtBQUVKLGVBQWUsQ0FBQyxTQUFTLENBQUMsbUNBQW1DLEdBQUcsVUFDOUQsS0FBcUM7SUFFckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRW5DLElBQUksQ0FBQyxZQUFZLENBQ2Ysc0JBQXNCLENBQ3BCLEtBQUssQ0FBQyxJQUFJLEVBQ1YsOEJBQThCLENBQUMsSUFBSSxDQUNwQyxFQUNELENBQUMsQ0FDRixDQUFDO0lBRUYsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixrR0FBa0c7QUFDbEcsbUVBQW1FO0FBQ25FLElBQUk7QUFFSixlQUFlLENBQUMsU0FBUyxDQUFDLHlDQUF5QyxHQUFHLFVBQ3BFLEtBQTJDO0lBRTNDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWxELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUVqQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFaEMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRiw0RkFBNEY7QUFDNUYsNkRBQTZEO0FBQzdELElBQUk7QUFFSixlQUFlLENBQUMsU0FBUyxDQUFDLG1DQUFtQyxHQUFHLFVBQzlELEtBQXFDO0lBRXJDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV2QyxJQUFJLENBQUMsWUFBWSxDQUNmLHNCQUFzQixDQUNwQixLQUFLLENBQUMsSUFBSSxFQUNWLDhCQUE4QixDQUFDLElBQUksQ0FDcEMsRUFDRCxDQUFDLENBQ0YsQ0FBQztJQUVGLElBQUksQ0FBQyxZQUFZLENBQ2Ysc0JBQXNCLENBQ3BCLEtBQUssQ0FBQyxNQUFNLEVBQ1osOEJBQThCLENBQUMsTUFBTSxDQUN0QyxFQUNELENBQUMsQ0FDRixDQUFDO0lBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWxDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVsQyxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLGdGQUFnRjtBQUNoRixpREFBaUQ7QUFDakQsSUFBSTtBQUVKLGVBQWUsQ0FBQyxTQUFTLENBQUMsdUJBQXVCLEdBQUcsVUFDbEQsS0FBeUI7SUFFekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV2QyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU1QixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLDJFQUEyRTtBQUMzRSw0Q0FBNEM7QUFDNUMsSUFBSTtBQUVKLGVBQWUsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEdBQUcsVUFDN0MsS0FBb0I7SUFFcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwQixJQUFJLENBQUMsWUFBWSxDQUNmLHNCQUFzQixDQUNwQixLQUFLLENBQUMsVUFBVSxFQUNoQixhQUFhLENBQUMsVUFBVSxDQUN6QixFQUNELENBQUMsQ0FDRixDQUFDO0lBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRW5DLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVyQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFcEMsSUFBSSxDQUFDLFlBQVksQ0FDZixzQkFBc0IsQ0FBaUIsS0FBSyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsRUFDcEUsQ0FBQyxDQUNGLENBQUM7SUFFRixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLHdFQUF3RTtBQUN4RSx5Q0FBeUM7QUFDekMsSUFBSTtBQUVKLGVBQWUsQ0FBQyxTQUFTLENBQUMsZUFBZSxHQUFHLFVBQzFDLEtBQWlCO0lBRWpCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVyQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFcEMsSUFBSSxDQUFDLFlBQVksQ0FDZixzQkFBc0IsQ0FBaUIsS0FBSyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsRUFDcEUsQ0FBQyxDQUNGLENBQUM7SUFFRixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLDZFQUE2RTtBQUM3RSw4Q0FBOEM7QUFDOUMsSUFBSTtBQUVKLGVBQWUsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEdBQUcsVUFDL0MsS0FBc0I7SUFFdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRiw0RUFBNEU7QUFDNUUsNkNBQTZDO0FBQzdDLElBQUk7QUFFSixlQUFlLENBQUMsU0FBUyxDQUFDLG1CQUFtQixHQUFHLFVBQzlDLEtBQXFCO0lBRXJCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIn0=