@sentio/runtime 2.18.3-rc.1 → 2.18.3-rc.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../../src/gen/processor/protos/processor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable */\nimport Long from \"long\";\nimport type { CallContext, CallOptions } from \"nice-grpc-common\";\nimport _m0 from \"protobufjs/minimal.js\";\nimport { Empty } from \"../../google/protobuf/empty.js\";\nimport { Struct } from \"../../google/protobuf/struct.js\";\nimport { Timestamp } from \"../../google/protobuf/timestamp.js\";\n\nexport enum MetricType {\n UNKNOWN_TYPE = 0,\n COUNTER = 1,\n GAUGE = 2,\n HISTOGRAM = 3,\n UNRECOGNIZED = -1,\n}\n\nexport function metricTypeFromJSON(object: any): MetricType {\n switch (object) {\n case 0:\n case \"UNKNOWN_TYPE\":\n return MetricType.UNKNOWN_TYPE;\n case 1:\n case \"COUNTER\":\n return MetricType.COUNTER;\n case 2:\n case \"GAUGE\":\n return MetricType.GAUGE;\n case 3:\n case \"HISTOGRAM\":\n return MetricType.HISTOGRAM;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return MetricType.UNRECOGNIZED;\n }\n}\n\nexport function metricTypeToJSON(object: MetricType): string {\n switch (object) {\n case MetricType.UNKNOWN_TYPE:\n return \"UNKNOWN_TYPE\";\n case MetricType.COUNTER:\n return \"COUNTER\";\n case MetricType.GAUGE:\n return \"GAUGE\";\n case MetricType.HISTOGRAM:\n return \"HISTOGRAM\";\n case MetricType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport enum AggregationType {\n COUNT = 0,\n SUM = 1,\n UNRECOGNIZED = -1,\n}\n\nexport function aggregationTypeFromJSON(object: any): AggregationType {\n switch (object) {\n case 0:\n case \"COUNT\":\n return AggregationType.COUNT;\n case 1:\n case \"SUM\":\n return AggregationType.SUM;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return AggregationType.UNRECOGNIZED;\n }\n}\n\nexport function aggregationTypeToJSON(object: AggregationType): string {\n switch (object) {\n case AggregationType.COUNT:\n return \"COUNT\";\n case AggregationType.SUM:\n return \"SUM\";\n case AggregationType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport enum MoveOwnerType {\n ADDRESS = 0,\n OBJECT = 1,\n WRAPPED_OBJECT = 2,\n UNRECOGNIZED = -1,\n}\n\nexport function moveOwnerTypeFromJSON(object: any): MoveOwnerType {\n switch (object) {\n case 0:\n case \"ADDRESS\":\n return MoveOwnerType.ADDRESS;\n case 1:\n case \"OBJECT\":\n return MoveOwnerType.OBJECT;\n case 2:\n case \"WRAPPED_OBJECT\":\n return MoveOwnerType.WRAPPED_OBJECT;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return MoveOwnerType.UNRECOGNIZED;\n }\n}\n\nexport function moveOwnerTypeToJSON(object: MoveOwnerType): string {\n switch (object) {\n case MoveOwnerType.ADDRESS:\n return \"ADDRESS\";\n case MoveOwnerType.OBJECT:\n return \"OBJECT\";\n case MoveOwnerType.WRAPPED_OBJECT:\n return \"WRAPPED_OBJECT\";\n case MoveOwnerType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport enum AddressType {\n ERC20 = 0,\n ERC721 = 1,\n ERC1155 = 2,\n UNRECOGNIZED = -1,\n}\n\nexport function addressTypeFromJSON(object: any): AddressType {\n switch (object) {\n case 0:\n case \"ERC20\":\n return AddressType.ERC20;\n case 1:\n case \"ERC721\":\n return AddressType.ERC721;\n case 2:\n case \"ERC1155\":\n return AddressType.ERC1155;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return AddressType.UNRECOGNIZED;\n }\n}\n\nexport function addressTypeToJSON(object: AddressType): string {\n switch (object) {\n case AddressType.ERC20:\n return \"ERC20\";\n case AddressType.ERC721:\n return \"ERC721\";\n case AddressType.ERC1155:\n return \"ERC1155\";\n case AddressType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport enum HandlerType {\n UNKNOWN = 0,\n ETH_LOG = 1,\n ETH_BLOCK = 2,\n ETH_TRACE = 5,\n ETH_TRANSACTION = 11,\n SOL_INSTRUCTION = 4,\n APT_EVENT = 6,\n APT_CALL = 7,\n APT_RESOURCE = 8,\n SUI_EVENT = 3,\n SUI_CALL = 9,\n SUI_OBJECT = 10,\n UNRECOGNIZED = -1,\n}\n\nexport function handlerTypeFromJSON(object: any): HandlerType {\n switch (object) {\n case 0:\n case \"UNKNOWN\":\n return HandlerType.UNKNOWN;\n case 1:\n case \"ETH_LOG\":\n return HandlerType.ETH_LOG;\n case 2:\n case \"ETH_BLOCK\":\n return HandlerType.ETH_BLOCK;\n case 5:\n case \"ETH_TRACE\":\n return HandlerType.ETH_TRACE;\n case 11:\n case \"ETH_TRANSACTION\":\n return HandlerType.ETH_TRANSACTION;\n case 4:\n case \"SOL_INSTRUCTION\":\n return HandlerType.SOL_INSTRUCTION;\n case 6:\n case \"APT_EVENT\":\n return HandlerType.APT_EVENT;\n case 7:\n case \"APT_CALL\":\n return HandlerType.APT_CALL;\n case 8:\n case \"APT_RESOURCE\":\n return HandlerType.APT_RESOURCE;\n case 3:\n case \"SUI_EVENT\":\n return HandlerType.SUI_EVENT;\n case 9:\n case \"SUI_CALL\":\n return HandlerType.SUI_CALL;\n case 10:\n case \"SUI_OBJECT\":\n return HandlerType.SUI_OBJECT;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return HandlerType.UNRECOGNIZED;\n }\n}\n\nexport function handlerTypeToJSON(object: HandlerType): string {\n switch (object) {\n case HandlerType.UNKNOWN:\n return \"UNKNOWN\";\n case HandlerType.ETH_LOG:\n return \"ETH_LOG\";\n case HandlerType.ETH_BLOCK:\n return \"ETH_BLOCK\";\n case HandlerType.ETH_TRACE:\n return \"ETH_TRACE\";\n case HandlerType.ETH_TRANSACTION:\n return \"ETH_TRANSACTION\";\n case HandlerType.SOL_INSTRUCTION:\n return \"SOL_INSTRUCTION\";\n case HandlerType.APT_EVENT:\n return \"APT_EVENT\";\n case HandlerType.APT_CALL:\n return \"APT_CALL\";\n case HandlerType.APT_RESOURCE:\n return \"APT_RESOURCE\";\n case HandlerType.SUI_EVENT:\n return \"SUI_EVENT\";\n case HandlerType.SUI_CALL:\n return \"SUI_CALL\";\n case HandlerType.SUI_OBJECT:\n return \"SUI_OBJECT\";\n case HandlerType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport enum LogLevel {\n DEBUG = 0,\n INFO = 1,\n WARNING = 2,\n ERROR = 3,\n CRITICAL = 4,\n UNRECOGNIZED = -1,\n}\n\nexport function logLevelFromJSON(object: any): LogLevel {\n switch (object) {\n case 0:\n case \"DEBUG\":\n return LogLevel.DEBUG;\n case 1:\n case \"INFO\":\n return LogLevel.INFO;\n case 2:\n case \"WARNING\":\n return LogLevel.WARNING;\n case 3:\n case \"ERROR\":\n return LogLevel.ERROR;\n case 4:\n case \"CRITICAL\":\n return LogLevel.CRITICAL;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return LogLevel.UNRECOGNIZED;\n }\n}\n\nexport function logLevelToJSON(object: LogLevel): string {\n switch (object) {\n case LogLevel.DEBUG:\n return \"DEBUG\";\n case LogLevel.INFO:\n return \"INFO\";\n case LogLevel.WARNING:\n return \"WARNING\";\n case LogLevel.ERROR:\n return \"ERROR\";\n case LogLevel.CRITICAL:\n return \"CRITICAL\";\n case LogLevel.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport interface ProjectConfig {\n name: string;\n version: string;\n}\n\nexport interface ProcessConfigRequest {\n}\n\nexport interface ProcessConfigResponse {\n config: ProjectConfig | undefined;\n contractConfigs: ContractConfig[];\n templateInstances: TemplateInstance[];\n accountConfigs: AccountConfig[];\n metricConfigs: MetricConfig[];\n eventTrackingConfigs: EventTrackingConfig[];\n exportConfigs: ExportConfig[];\n}\n\nexport interface ContractConfig {\n contract: ContractInfo | undefined;\n intervalConfigs: OnIntervalConfig[];\n logConfigs: LogHandlerConfig[];\n traceConfigs: TraceHandlerConfig[];\n transactionConfig: TransactionHandlerConfig[];\n moveEventConfigs: MoveEventHandlerConfig[];\n moveCallConfigs: MoveCallHandlerConfig[];\n instructionConfig: InstructionHandlerConfig | undefined;\n startBlock: bigint;\n endBlock: bigint;\n processorType: string;\n}\n\nexport interface TotalPerEntityAggregation {\n}\n\nexport enum TotalPerEntityAggregation_Type {\n AVG = 0,\n MEDIAN = 1,\n UNRECOGNIZED = -1,\n}\n\nexport function totalPerEntityAggregation_TypeFromJSON(object: any): TotalPerEntityAggregation_Type {\n switch (object) {\n case 0:\n case \"AVG\":\n return TotalPerEntityAggregation_Type.AVG;\n case 1:\n case \"MEDIAN\":\n return TotalPerEntityAggregation_Type.MEDIAN;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return TotalPerEntityAggregation_Type.UNRECOGNIZED;\n }\n}\n\nexport function totalPerEntityAggregation_TypeToJSON(object: TotalPerEntityAggregation_Type): string {\n switch (object) {\n case TotalPerEntityAggregation_Type.AVG:\n return \"AVG\";\n case TotalPerEntityAggregation_Type.MEDIAN:\n return \"MEDIAN\";\n case TotalPerEntityAggregation_Type.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport interface RetentionConfig {\n retentionEventName: string;\n days: number;\n}\n\nexport interface EventTrackingConfig {\n eventName: string;\n totalByDay: boolean;\n unique: boolean;\n totalPerEntity: TotalPerEntityAggregation | undefined;\n distinctAggregationByDays: number[];\n retentionConfig: RetentionConfig | undefined;\n}\n\nexport interface ExportConfig {\n name: string;\n channel: string;\n}\n\nexport interface MetricConfig {\n name: string;\n description: string;\n unit: string;\n sparse: boolean;\n persistentBetweenVersion: boolean;\n type: MetricType;\n aggregationConfig: AggregationConfig | undefined;\n}\n\nexport interface AggregationConfig {\n intervalInMinutes: number[];\n types: AggregationType[];\n discardOrigin: boolean;\n}\n\nexport interface AccountConfig {\n chainId: string;\n address: string;\n startBlock: bigint;\n intervalConfigs: OnIntervalConfig[];\n /** @deprecated */\n aptosIntervalConfigs: AptosOnIntervalConfig[];\n moveIntervalConfigs: MoveOnIntervalConfig[];\n logConfigs: LogHandlerConfig[];\n}\n\nexport interface HandleInterval {\n recentInterval: number;\n backfillInterval: number;\n}\n\nexport interface OnIntervalConfig {\n handlerId: number;\n minutes: number;\n minutesInterval?: HandleInterval | undefined;\n slot: number;\n slotInterval?: HandleInterval | undefined;\n fetchConfig: EthFetchConfig | undefined;\n}\n\nexport interface AptosOnIntervalConfig {\n intervalConfig: OnIntervalConfig | undefined;\n type: string;\n}\n\nexport interface MoveOnIntervalConfig {\n intervalConfig: OnIntervalConfig | undefined;\n type: string;\n ownerType: MoveOwnerType;\n fetchConfig: MoveAccountFetchConfig | undefined;\n}\n\nexport enum MoveOnIntervalConfig_OwnerType {\n ADDRESS = 0,\n OBJECT = 1,\n WRAPPED_OBJECT = 2,\n UNRECOGNIZED = -1,\n}\n\nexport function moveOnIntervalConfig_OwnerTypeFromJSON(object: any): MoveOnIntervalConfig_OwnerType {\n switch (object) {\n case 0:\n case \"ADDRESS\":\n return MoveOnIntervalConfig_OwnerType.ADDRESS;\n case 1:\n case \"OBJECT\":\n return MoveOnIntervalConfig_OwnerType.OBJECT;\n case 2:\n case \"WRAPPED_OBJECT\":\n return MoveOnIntervalConfig_OwnerType.WRAPPED_OBJECT;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return MoveOnIntervalConfig_OwnerType.UNRECOGNIZED;\n }\n}\n\nexport function moveOnIntervalConfig_OwnerTypeToJSON(object: MoveOnIntervalConfig_OwnerType): string {\n switch (object) {\n case MoveOnIntervalConfig_OwnerType.ADDRESS:\n return \"ADDRESS\";\n case MoveOnIntervalConfig_OwnerType.OBJECT:\n return \"OBJECT\";\n case MoveOnIntervalConfig_OwnerType.WRAPPED_OBJECT:\n return \"WRAPPED_OBJECT\";\n case MoveOnIntervalConfig_OwnerType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport interface ContractInfo {\n name: string;\n chainId: string;\n address: string;\n abi: string;\n}\n\nexport interface TemplateInstance {\n contract: ContractInfo | undefined;\n startBlock: bigint;\n endBlock: bigint;\n templateId: number;\n}\n\nexport interface StartRequest {\n templateInstances: TemplateInstance[];\n}\n\nexport interface BlockHandlerConfig {\n handlerId: number;\n}\n\nexport interface EthFetchConfig {\n transaction: boolean;\n transactionReceipt: boolean;\n block: boolean;\n trace: boolean;\n}\n\nexport interface TraceHandlerConfig {\n signature: string;\n handlerId: number;\n fetchConfig: EthFetchConfig | undefined;\n}\n\nexport interface TransactionHandlerConfig {\n handlerId: number;\n fetchConfig: EthFetchConfig | undefined;\n}\n\nexport interface LogHandlerConfig {\n filters: LogFilter[];\n handlerId: number;\n fetchConfig: EthFetchConfig | undefined;\n}\n\nexport interface LogFilter {\n topics: Topic[];\n address?: string | undefined;\n addressType?: AddressType | undefined;\n}\n\nexport interface InstructionHandlerConfig {\n innerInstruction: boolean;\n parsedInstruction: boolean;\n rawDataInstruction: boolean;\n}\n\nexport interface MoveFetchConfig {\n resourceChanges: boolean;\n allEvents: boolean;\n}\n\nexport interface MoveAccountFetchConfig {\n owned: boolean;\n}\n\nexport interface MoveEventHandlerConfig {\n filters: MoveEventFilter[];\n handlerId: number;\n fetchConfig: MoveFetchConfig | undefined;\n}\n\nexport interface MoveEventFilter {\n type: string;\n account: string;\n}\n\nexport interface MoveCallHandlerConfig {\n filters: MoveCallFilter[];\n handlerId: number;\n fetchConfig: MoveFetchConfig | undefined;\n}\n\nexport interface MoveCallFilter {\n function: string;\n typeArguments: string[];\n withTypeArguments: boolean;\n includeFailed: boolean;\n}\n\nexport interface Topic {\n hashes: string[];\n}\n\nexport interface ProcessBindingsRequest {\n bindings: DataBinding[];\n}\n\nexport interface ProcessBindingResponse {\n result:\n | ProcessResult\n | undefined;\n /** @deprecated */\n configUpdated: boolean;\n}\n\nexport interface Data {\n /** @deprecated */\n raw: Uint8Array;\n ethLog?: Data_EthLog | undefined;\n ethBlock?: Data_EthBlock | undefined;\n ethTransaction?: Data_EthTransaction | undefined;\n ethTrace?: Data_EthTrace | undefined;\n solInstruction?: Data_SolInstruction | undefined;\n aptEvent?: Data_AptEvent | undefined;\n aptCall?: Data_AptCall | undefined;\n aptResource?: Data_AptResource | undefined;\n suiEvent?: Data_SuiEvent | undefined;\n suiCall?: Data_SuiCall | undefined;\n suiObject?: Data_SuiObject | undefined;\n}\n\nexport interface Data_EthLog {\n log: { [key: string]: any } | undefined;\n timestamp: Date | undefined;\n transaction?: { [key: string]: any } | undefined;\n transactionReceipt?: { [key: string]: any } | undefined;\n block?: { [key: string]: any } | undefined;\n}\n\nexport interface Data_EthBlock {\n block: { [key: string]: any } | undefined;\n}\n\nexport interface Data_EthTransaction {\n transaction: { [key: string]: any } | undefined;\n timestamp: Date | undefined;\n transactionReceipt?: { [key: string]: any } | undefined;\n block?: { [key: string]: any } | undefined;\n trace?: { [key: string]: any } | undefined;\n}\n\nexport interface Data_EthTrace {\n trace: { [key: string]: any } | undefined;\n timestamp: Date | undefined;\n transaction?: { [key: string]: any } | undefined;\n transactionReceipt?: { [key: string]: any } | undefined;\n block?: { [key: string]: any } | undefined;\n}\n\nexport interface Data_SolInstruction {\n instructionData: string;\n slot: bigint;\n programAccountId: string;\n accounts: string[];\n parsed?: { [key: string]: any } | undefined;\n}\n\nexport interface Data_AptEvent {\n transaction: { [key: string]: any } | undefined;\n}\n\nexport interface Data_AptCall {\n transaction: { [key: string]: any } | undefined;\n}\n\nexport interface Data_AptResource {\n resources: { [key: string]: any }[];\n version: bigint;\n timestampMicros: bigint;\n}\n\nexport interface Data_SuiEvent {\n transaction: { [key: string]: any } | undefined;\n timestamp: Date | undefined;\n slot: bigint;\n}\n\nexport interface Data_SuiCall {\n transaction: { [key: string]: any } | undefined;\n timestamp: Date | undefined;\n slot: bigint;\n}\n\nexport interface Data_SuiObject {\n objects: { [key: string]: any }[];\n self?: { [key: string]: any } | undefined;\n timestamp: Date | undefined;\n slot: bigint;\n}\n\nexport interface DataBinding {\n data: Data | undefined;\n handlerType: HandlerType;\n handlerIds: number[];\n}\n\nexport interface StateResult {\n configUpdated: boolean;\n}\n\nexport interface ProcessResult {\n gauges: GaugeResult[];\n counters: CounterResult[];\n /** @deprecated */\n logs: LogResult[];\n events: EventTrackingResult[];\n exports: ExportResult[];\n states: StateResult | undefined;\n}\n\nexport interface RecordMetaData {\n address: string;\n contractName: string;\n blockNumber: bigint;\n transactionHash: string;\n chainId: string;\n transactionIndex: number;\n logIndex: number;\n name: string;\n labels: { [key: string]: string };\n}\n\nexport interface RecordMetaData_LabelsEntry {\n key: string;\n value: string;\n}\n\nexport interface MetricValue {\n bigDecimal?: string | undefined;\n doubleValue?: number | undefined;\n bigInteger?: BigInteger | undefined;\n}\n\nexport interface BigInteger {\n negative: boolean;\n data: Uint8Array;\n}\n\nexport interface RuntimeInfo {\n from: HandlerType;\n}\n\nexport interface GaugeResult {\n metadata: RecordMetaData | undefined;\n metricValue: MetricValue | undefined;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nexport interface CounterResult {\n metadata: RecordMetaData | undefined;\n metricValue: MetricValue | undefined;\n add: boolean;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\n/** @deprecated */\nexport interface LogResult {\n metadata: RecordMetaData | undefined;\n level: LogLevel;\n message: string;\n /** @deprecated */\n attributes: string;\n attributes2: { [key: string]: any } | undefined;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nexport interface EventTrackingResult {\n metadata: RecordMetaData | undefined;\n distinctEntityId: string;\n attributes: { [key: string]: any } | undefined;\n severity: LogLevel;\n message: string;\n runtimeInfo: RuntimeInfo | undefined;\n noMetric: boolean;\n}\n\nexport interface ExportResult {\n metadata: RecordMetaData | undefined;\n payload: string;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nfunction createBaseProjectConfig(): ProjectConfig {\n return { name: \"\", version: \"\" };\n}\n\nexport const ProjectConfig = {\n encode(message: ProjectConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.version !== \"\") {\n writer.uint32(26).string(message.version);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProjectConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProjectConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 3:\n message.version = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProjectConfig {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n version: isSet(object.version) ? String(object.version) : \"\",\n };\n },\n\n toJSON(message: ProjectConfig): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.version !== undefined && (obj.version = message.version);\n return obj;\n },\n\n create(base?: DeepPartial<ProjectConfig>): ProjectConfig {\n return ProjectConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ProjectConfig>): ProjectConfig {\n const message = createBaseProjectConfig();\n message.name = object.name ?? \"\";\n message.version = object.version ?? \"\";\n return message;\n },\n};\n\nfunction createBaseProcessConfigRequest(): ProcessConfigRequest {\n return {};\n}\n\nexport const ProcessConfigRequest = {\n encode(_: ProcessConfigRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProcessConfigRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessConfigRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(_: any): ProcessConfigRequest {\n return {};\n },\n\n toJSON(_: ProcessConfigRequest): unknown {\n const obj: any = {};\n return obj;\n },\n\n create(base?: DeepPartial<ProcessConfigRequest>): ProcessConfigRequest {\n return ProcessConfigRequest.fromPartial(base ?? {});\n },\n\n fromPartial(_: DeepPartial<ProcessConfigRequest>): ProcessConfigRequest {\n const message = createBaseProcessConfigRequest();\n return message;\n },\n};\n\nfunction createBaseProcessConfigResponse(): ProcessConfigResponse {\n return {\n config: undefined,\n contractConfigs: [],\n templateInstances: [],\n accountConfigs: [],\n metricConfigs: [],\n eventTrackingConfigs: [],\n exportConfigs: [],\n };\n}\n\nexport const ProcessConfigResponse = {\n encode(message: ProcessConfigResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.config !== undefined) {\n ProjectConfig.encode(message.config, writer.uint32(10).fork()).ldelim();\n }\n for (const v of message.contractConfigs) {\n ContractConfig.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n for (const v of message.templateInstances) {\n TemplateInstance.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n for (const v of message.accountConfigs) {\n AccountConfig.encode(v!, writer.uint32(34).fork()).ldelim();\n }\n for (const v of message.metricConfigs) {\n MetricConfig.encode(v!, writer.uint32(42).fork()).ldelim();\n }\n for (const v of message.eventTrackingConfigs) {\n EventTrackingConfig.encode(v!, writer.uint32(50).fork()).ldelim();\n }\n for (const v of message.exportConfigs) {\n ExportConfig.encode(v!, writer.uint32(58).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProcessConfigResponse {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessConfigResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.config = ProjectConfig.decode(reader, reader.uint32());\n break;\n case 2:\n message.contractConfigs.push(ContractConfig.decode(reader, reader.uint32()));\n break;\n case 3:\n message.templateInstances.push(TemplateInstance.decode(reader, reader.uint32()));\n break;\n case 4:\n message.accountConfigs.push(AccountConfig.decode(reader, reader.uint32()));\n break;\n case 5:\n message.metricConfigs.push(MetricConfig.decode(reader, reader.uint32()));\n break;\n case 6:\n message.eventTrackingConfigs.push(EventTrackingConfig.decode(reader, reader.uint32()));\n break;\n case 7:\n message.exportConfigs.push(ExportConfig.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessConfigResponse {\n return {\n config: isSet(object.config) ? ProjectConfig.fromJSON(object.config) : undefined,\n contractConfigs: Array.isArray(object?.contractConfigs)\n ? object.contractConfigs.map((e: any) => ContractConfig.fromJSON(e))\n : [],\n templateInstances: Array.isArray(object?.templateInstances)\n ? object.templateInstances.map((e: any) => TemplateInstance.fromJSON(e))\n : [],\n accountConfigs: Array.isArray(object?.accountConfigs)\n ? object.accountConfigs.map((e: any) => AccountConfig.fromJSON(e))\n : [],\n metricConfigs: Array.isArray(object?.metricConfigs)\n ? object.metricConfigs.map((e: any) => MetricConfig.fromJSON(e))\n : [],\n eventTrackingConfigs: Array.isArray(object?.eventTrackingConfigs)\n ? object.eventTrackingConfigs.map((e: any) => EventTrackingConfig.fromJSON(e))\n : [],\n exportConfigs: Array.isArray(object?.exportConfigs)\n ? object.exportConfigs.map((e: any) => ExportConfig.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessConfigResponse): unknown {\n const obj: any = {};\n message.config !== undefined && (obj.config = message.config ? ProjectConfig.toJSON(message.config) : undefined);\n if (message.contractConfigs) {\n obj.contractConfigs = message.contractConfigs.map((e) => e ? ContractConfig.toJSON(e) : undefined);\n } else {\n obj.contractConfigs = [];\n }\n if (message.templateInstances) {\n obj.templateInstances = message.templateInstances.map((e) => e ? TemplateInstance.toJSON(e) : undefined);\n } else {\n obj.templateInstances = [];\n }\n if (message.accountConfigs) {\n obj.accountConfigs = message.accountConfigs.map((e) => e ? AccountConfig.toJSON(e) : undefined);\n } else {\n obj.accountConfigs = [];\n }\n if (message.metricConfigs) {\n obj.metricConfigs = message.metricConfigs.map((e) => e ? MetricConfig.toJSON(e) : undefined);\n } else {\n obj.metricConfigs = [];\n }\n if (message.eventTrackingConfigs) {\n obj.eventTrackingConfigs = message.eventTrackingConfigs.map((e) => e ? EventTrackingConfig.toJSON(e) : undefined);\n } else {\n obj.eventTrackingConfigs = [];\n }\n if (message.exportConfigs) {\n obj.exportConfigs = message.exportConfigs.map((e) => e ? ExportConfig.toJSON(e) : undefined);\n } else {\n obj.exportConfigs = [];\n }\n return obj;\n },\n\n create(base?: DeepPartial<ProcessConfigResponse>): ProcessConfigResponse {\n return ProcessConfigResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ProcessConfigResponse>): ProcessConfigResponse {\n const message = createBaseProcessConfigResponse();\n message.config = (object.config !== undefined && object.config !== null)\n ? ProjectConfig.fromPartial(object.config)\n : undefined;\n message.contractConfigs = object.contractConfigs?.map((e) => ContractConfig.fromPartial(e)) || [];\n message.templateInstances = object.templateInstances?.map((e) => TemplateInstance.fromPartial(e)) || [];\n message.accountConfigs = object.accountConfigs?.map((e) => AccountConfig.fromPartial(e)) || [];\n message.metricConfigs = object.metricConfigs?.map((e) => MetricConfig.fromPartial(e)) || [];\n message.eventTrackingConfigs = object.eventTrackingConfigs?.map((e) => EventTrackingConfig.fromPartial(e)) || [];\n message.exportConfigs = object.exportConfigs?.map((e) => ExportConfig.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseContractConfig(): ContractConfig {\n return {\n contract: undefined,\n intervalConfigs: [],\n logConfigs: [],\n traceConfigs: [],\n transactionConfig: [],\n moveEventConfigs: [],\n moveCallConfigs: [],\n instructionConfig: undefined,\n startBlock: BigInt(\"0\"),\n endBlock: BigInt(\"0\"),\n processorType: \"\",\n };\n}\n\nexport const ContractConfig = {\n encode(message: ContractConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.contract !== undefined) {\n ContractInfo.encode(message.contract, writer.uint32(10).fork()).ldelim();\n }\n for (const v of message.intervalConfigs) {\n OnIntervalConfig.encode(v!, writer.uint32(90).fork()).ldelim();\n }\n for (const v of message.logConfigs) {\n LogHandlerConfig.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n for (const v of message.traceConfigs) {\n TraceHandlerConfig.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n for (const v of message.transactionConfig) {\n TransactionHandlerConfig.encode(v!, writer.uint32(58).fork()).ldelim();\n }\n for (const v of message.moveEventConfigs) {\n MoveEventHandlerConfig.encode(v!, writer.uint32(74).fork()).ldelim();\n }\n for (const v of message.moveCallConfigs) {\n MoveCallHandlerConfig.encode(v!, writer.uint32(82).fork()).ldelim();\n }\n if (message.instructionConfig !== undefined) {\n InstructionHandlerConfig.encode(message.instructionConfig, writer.uint32(50).fork()).ldelim();\n }\n if (message.startBlock !== BigInt(\"0\")) {\n writer.uint32(32).uint64(message.startBlock.toString());\n }\n if (message.endBlock !== BigInt(\"0\")) {\n writer.uint32(40).uint64(message.endBlock.toString());\n }\n if (message.processorType !== \"\") {\n writer.uint32(66).string(message.processorType);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ContractConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseContractConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.contract = ContractInfo.decode(reader, reader.uint32());\n break;\n case 11:\n message.intervalConfigs.push(OnIntervalConfig.decode(reader, reader.uint32()));\n break;\n case 3:\n message.logConfigs.push(LogHandlerConfig.decode(reader, reader.uint32()));\n break;\n case 2:\n message.traceConfigs.push(TraceHandlerConfig.decode(reader, reader.uint32()));\n break;\n case 7:\n message.transactionConfig.push(TransactionHandlerConfig.decode(reader, reader.uint32()));\n break;\n case 9:\n message.moveEventConfigs.push(MoveEventHandlerConfig.decode(reader, reader.uint32()));\n break;\n case 10:\n message.moveCallConfigs.push(MoveCallHandlerConfig.decode(reader, reader.uint32()));\n break;\n case 6:\n message.instructionConfig = InstructionHandlerConfig.decode(reader, reader.uint32());\n break;\n case 4:\n message.startBlock = longToBigint(reader.uint64() as Long);\n break;\n case 5:\n message.endBlock = longToBigint(reader.uint64() as Long);\n break;\n case 8:\n message.processorType = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ContractConfig {\n return {\n contract: isSet(object.contract) ? ContractInfo.fromJSON(object.contract) : undefined,\n intervalConfigs: Array.isArray(object?.intervalConfigs)\n ? object.intervalConfigs.map((e: any) => OnIntervalConfig.fromJSON(e))\n : [],\n logConfigs: Array.isArray(object?.logConfigs)\n ? object.logConfigs.map((e: any) => LogHandlerConfig.fromJSON(e))\n : [],\n traceConfigs: Array.isArray(object?.traceConfigs)\n ? object.traceConfigs.map((e: any) => TraceHandlerConfig.fromJSON(e))\n : [],\n transactionConfig: Array.isArray(object?.transactionConfig)\n ? object.transactionConfig.map((e: any) => TransactionHandlerConfig.fromJSON(e))\n : [],\n moveEventConfigs: Array.isArray(object?.moveEventConfigs)\n ? object.moveEventConfigs.map((e: any) => MoveEventHandlerConfig.fromJSON(e))\n : [],\n moveCallConfigs: Array.isArray(object?.moveCallConfigs)\n ? object.moveCallConfigs.map((e: any) => MoveCallHandlerConfig.fromJSON(e))\n : [],\n instructionConfig: isSet(object.instructionConfig)\n ? InstructionHandlerConfig.fromJSON(object.instructionConfig)\n : undefined,\n startBlock: isSet(object.startBlock) ? BigInt(object.startBlock) : BigInt(\"0\"),\n endBlock: isSet(object.endBlock) ? BigInt(object.endBlock) : BigInt(\"0\"),\n processorType: isSet(object.processorType) ? String(object.processorType) : \"\",\n };\n },\n\n toJSON(message: ContractConfig): unknown {\n const obj: any = {};\n message.contract !== undefined &&\n (obj.contract = message.contract ? ContractInfo.toJSON(message.contract) : undefined);\n if (message.intervalConfigs) {\n obj.intervalConfigs = message.intervalConfigs.map((e) => e ? OnIntervalConfig.toJSON(e) : undefined);\n } else {\n obj.intervalConfigs = [];\n }\n if (message.logConfigs) {\n obj.logConfigs = message.logConfigs.map((e) => e ? LogHandlerConfig.toJSON(e) : undefined);\n } else {\n obj.logConfigs = [];\n }\n if (message.traceConfigs) {\n obj.traceConfigs = message.traceConfigs.map((e) => e ? TraceHandlerConfig.toJSON(e) : undefined);\n } else {\n obj.traceConfigs = [];\n }\n if (message.transactionConfig) {\n obj.transactionConfig = message.transactionConfig.map((e) => e ? TransactionHandlerConfig.toJSON(e) : undefined);\n } else {\n obj.transactionConfig = [];\n }\n if (message.moveEventConfigs) {\n obj.moveEventConfigs = message.moveEventConfigs.map((e) => e ? MoveEventHandlerConfig.toJSON(e) : undefined);\n } else {\n obj.moveEventConfigs = [];\n }\n if (message.moveCallConfigs) {\n obj.moveCallConfigs = message.moveCallConfigs.map((e) => e ? MoveCallHandlerConfig.toJSON(e) : undefined);\n } else {\n obj.moveCallConfigs = [];\n }\n message.instructionConfig !== undefined && (obj.instructionConfig = message.instructionConfig\n ? InstructionHandlerConfig.toJSON(message.instructionConfig)\n : undefined);\n message.startBlock !== undefined && (obj.startBlock = message.startBlock.toString());\n message.endBlock !== undefined && (obj.endBlock = message.endBlock.toString());\n message.processorType !== undefined && (obj.processorType = message.processorType);\n return obj;\n },\n\n create(base?: DeepPartial<ContractConfig>): ContractConfig {\n return ContractConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ContractConfig>): ContractConfig {\n const message = createBaseContractConfig();\n message.contract = (object.contract !== undefined && object.contract !== null)\n ? ContractInfo.fromPartial(object.contract)\n : undefined;\n message.intervalConfigs = object.intervalConfigs?.map((e) => OnIntervalConfig.fromPartial(e)) || [];\n message.logConfigs = object.logConfigs?.map((e) => LogHandlerConfig.fromPartial(e)) || [];\n message.traceConfigs = object.traceConfigs?.map((e) => TraceHandlerConfig.fromPartial(e)) || [];\n message.transactionConfig = object.transactionConfig?.map((e) => TransactionHandlerConfig.fromPartial(e)) || [];\n message.moveEventConfigs = object.moveEventConfigs?.map((e) => MoveEventHandlerConfig.fromPartial(e)) || [];\n message.moveCallConfigs = object.moveCallConfigs?.map((e) => MoveCallHandlerConfig.fromPartial(e)) || [];\n message.instructionConfig = (object.instructionConfig !== undefined && object.instructionConfig !== null)\n ? InstructionHandlerConfig.fromPartial(object.instructionConfig)\n : undefined;\n message.startBlock = object.startBlock ?? BigInt(\"0\");\n message.endBlock = object.endBlock ?? BigInt(\"0\");\n message.processorType = object.processorType ?? \"\";\n return message;\n },\n};\n\nfunction createBaseTotalPerEntityAggregation(): TotalPerEntityAggregation {\n return {};\n}\n\nexport const TotalPerEntityAggregation = {\n encode(_: TotalPerEntityAggregation, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TotalPerEntityAggregation {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTotalPerEntityAggregation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(_: any): TotalPerEntityAggregation {\n return {};\n },\n\n toJSON(_: TotalPerEntityAggregation): unknown {\n const obj: any = {};\n return obj;\n },\n\n create(base?: DeepPartial<TotalPerEntityAggregation>): TotalPerEntityAggregation {\n return TotalPerEntityAggregation.fromPartial(base ?? {});\n },\n\n fromPartial(_: DeepPartial<TotalPerEntityAggregation>): TotalPerEntityAggregation {\n const message = createBaseTotalPerEntityAggregation();\n return message;\n },\n};\n\nfunction createBaseRetentionConfig(): RetentionConfig {\n return { retentionEventName: \"\", days: 0 };\n}\n\nexport const RetentionConfig = {\n encode(message: RetentionConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.retentionEventName !== \"\") {\n writer.uint32(18).string(message.retentionEventName);\n }\n if (message.days !== 0) {\n writer.uint32(24).int32(message.days);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RetentionConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRetentionConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2:\n message.retentionEventName = reader.string();\n break;\n case 3:\n message.days = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RetentionConfig {\n return {\n retentionEventName: isSet(object.retentionEventName) ? String(object.retentionEventName) : \"\",\n days: isSet(object.days) ? Number(object.days) : 0,\n };\n },\n\n toJSON(message: RetentionConfig): unknown {\n const obj: any = {};\n message.retentionEventName !== undefined && (obj.retentionEventName = message.retentionEventName);\n message.days !== undefined && (obj.days = Math.round(message.days));\n return obj;\n },\n\n create(base?: DeepPartial<RetentionConfig>): RetentionConfig {\n return RetentionConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<RetentionConfig>): RetentionConfig {\n const message = createBaseRetentionConfig();\n message.retentionEventName = object.retentionEventName ?? \"\";\n message.days = object.days ?? 0;\n return message;\n },\n};\n\nfunction createBaseEventTrackingConfig(): EventTrackingConfig {\n return {\n eventName: \"\",\n totalByDay: false,\n unique: false,\n totalPerEntity: undefined,\n distinctAggregationByDays: [],\n retentionConfig: undefined,\n };\n}\n\nexport const EventTrackingConfig = {\n encode(message: EventTrackingConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.eventName !== \"\") {\n writer.uint32(10).string(message.eventName);\n }\n if (message.totalByDay === true) {\n writer.uint32(16).bool(message.totalByDay);\n }\n if (message.unique === true) {\n writer.uint32(24).bool(message.unique);\n }\n if (message.totalPerEntity !== undefined) {\n TotalPerEntityAggregation.encode(message.totalPerEntity, writer.uint32(34).fork()).ldelim();\n }\n writer.uint32(42).fork();\n for (const v of message.distinctAggregationByDays) {\n writer.int32(v);\n }\n writer.ldelim();\n if (message.retentionConfig !== undefined) {\n RetentionConfig.encode(message.retentionConfig, writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): EventTrackingConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseEventTrackingConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.eventName = reader.string();\n break;\n case 2:\n message.totalByDay = reader.bool();\n break;\n case 3:\n message.unique = reader.bool();\n break;\n case 4:\n message.totalPerEntity = TotalPerEntityAggregation.decode(reader, reader.uint32());\n break;\n case 5:\n if ((tag & 7) === 2) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.distinctAggregationByDays.push(reader.int32());\n }\n } else {\n message.distinctAggregationByDays.push(reader.int32());\n }\n break;\n case 6:\n message.retentionConfig = RetentionConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): EventTrackingConfig {\n return {\n eventName: isSet(object.eventName) ? String(object.eventName) : \"\",\n totalByDay: isSet(object.totalByDay) ? Boolean(object.totalByDay) : false,\n unique: isSet(object.unique) ? Boolean(object.unique) : false,\n totalPerEntity: isSet(object.totalPerEntity)\n ? TotalPerEntityAggregation.fromJSON(object.totalPerEntity)\n : undefined,\n distinctAggregationByDays: Array.isArray(object?.distinctAggregationByDays)\n ? object.distinctAggregationByDays.map((e: any) => Number(e))\n : [],\n retentionConfig: isSet(object.retentionConfig) ? RetentionConfig.fromJSON(object.retentionConfig) : undefined,\n };\n },\n\n toJSON(message: EventTrackingConfig): unknown {\n const obj: any = {};\n message.eventName !== undefined && (obj.eventName = message.eventName);\n message.totalByDay !== undefined && (obj.totalByDay = message.totalByDay);\n message.unique !== undefined && (obj.unique = message.unique);\n message.totalPerEntity !== undefined && (obj.totalPerEntity = message.totalPerEntity\n ? TotalPerEntityAggregation.toJSON(message.totalPerEntity)\n : undefined);\n if (message.distinctAggregationByDays) {\n obj.distinctAggregationByDays = message.distinctAggregationByDays.map((e) => Math.round(e));\n } else {\n obj.distinctAggregationByDays = [];\n }\n message.retentionConfig !== undefined &&\n (obj.retentionConfig = message.retentionConfig ? RetentionConfig.toJSON(message.retentionConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<EventTrackingConfig>): EventTrackingConfig {\n return EventTrackingConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<EventTrackingConfig>): EventTrackingConfig {\n const message = createBaseEventTrackingConfig();\n message.eventName = object.eventName ?? \"\";\n message.totalByDay = object.totalByDay ?? false;\n message.unique = object.unique ?? false;\n message.totalPerEntity = (object.totalPerEntity !== undefined && object.totalPerEntity !== null)\n ? TotalPerEntityAggregation.fromPartial(object.totalPerEntity)\n : undefined;\n message.distinctAggregationByDays = object.distinctAggregationByDays?.map((e) => e) || [];\n message.retentionConfig = (object.retentionConfig !== undefined && object.retentionConfig !== null)\n ? RetentionConfig.fromPartial(object.retentionConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseExportConfig(): ExportConfig {\n return { name: \"\", channel: \"\" };\n}\n\nexport const ExportConfig = {\n encode(message: ExportConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.channel !== \"\") {\n writer.uint32(18).string(message.channel);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ExportConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseExportConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 2:\n message.channel = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ExportConfig {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n channel: isSet(object.channel) ? String(object.channel) : \"\",\n };\n },\n\n toJSON(message: ExportConfig): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.channel !== undefined && (obj.channel = message.channel);\n return obj;\n },\n\n create(base?: DeepPartial<ExportConfig>): ExportConfig {\n return ExportConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ExportConfig>): ExportConfig {\n const message = createBaseExportConfig();\n message.name = object.name ?? \"\";\n message.channel = object.channel ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMetricConfig(): MetricConfig {\n return {\n name: \"\",\n description: \"\",\n unit: \"\",\n sparse: false,\n persistentBetweenVersion: false,\n type: 0,\n aggregationConfig: undefined,\n };\n}\n\nexport const MetricConfig = {\n encode(message: MetricConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.description !== \"\") {\n writer.uint32(26).string(message.description);\n }\n if (message.unit !== \"\") {\n writer.uint32(18).string(message.unit);\n }\n if (message.sparse === true) {\n writer.uint32(32).bool(message.sparse);\n }\n if (message.persistentBetweenVersion === true) {\n writer.uint32(40).bool(message.persistentBetweenVersion);\n }\n if (message.type !== 0) {\n writer.uint32(56).int32(message.type);\n }\n if (message.aggregationConfig !== undefined) {\n AggregationConfig.encode(message.aggregationConfig, writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MetricConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMetricConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 3:\n message.description = reader.string();\n break;\n case 2:\n message.unit = reader.string();\n break;\n case 4:\n message.sparse = reader.bool();\n break;\n case 5:\n message.persistentBetweenVersion = reader.bool();\n break;\n case 7:\n message.type = reader.int32() as any;\n break;\n case 6:\n message.aggregationConfig = AggregationConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MetricConfig {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n description: isSet(object.description) ? String(object.description) : \"\",\n unit: isSet(object.unit) ? String(object.unit) : \"\",\n sparse: isSet(object.sparse) ? Boolean(object.sparse) : false,\n persistentBetweenVersion: isSet(object.persistentBetweenVersion)\n ? Boolean(object.persistentBetweenVersion)\n : false,\n type: isSet(object.type) ? metricTypeFromJSON(object.type) : 0,\n aggregationConfig: isSet(object.aggregationConfig)\n ? AggregationConfig.fromJSON(object.aggregationConfig)\n : undefined,\n };\n },\n\n toJSON(message: MetricConfig): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.description !== undefined && (obj.description = message.description);\n message.unit !== undefined && (obj.unit = message.unit);\n message.sparse !== undefined && (obj.sparse = message.sparse);\n message.persistentBetweenVersion !== undefined && (obj.persistentBetweenVersion = message.persistentBetweenVersion);\n message.type !== undefined && (obj.type = metricTypeToJSON(message.type));\n message.aggregationConfig !== undefined && (obj.aggregationConfig = message.aggregationConfig\n ? AggregationConfig.toJSON(message.aggregationConfig)\n : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<MetricConfig>): MetricConfig {\n return MetricConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MetricConfig>): MetricConfig {\n const message = createBaseMetricConfig();\n message.name = object.name ?? \"\";\n message.description = object.description ?? \"\";\n message.unit = object.unit ?? \"\";\n message.sparse = object.sparse ?? false;\n message.persistentBetweenVersion = object.persistentBetweenVersion ?? false;\n message.type = object.type ?? 0;\n message.aggregationConfig = (object.aggregationConfig !== undefined && object.aggregationConfig !== null)\n ? AggregationConfig.fromPartial(object.aggregationConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseAggregationConfig(): AggregationConfig {\n return { intervalInMinutes: [], types: [], discardOrigin: false };\n}\n\nexport const AggregationConfig = {\n encode(message: AggregationConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n writer.uint32(10).fork();\n for (const v of message.intervalInMinutes) {\n writer.int32(v);\n }\n writer.ldelim();\n writer.uint32(18).fork();\n for (const v of message.types) {\n writer.int32(v);\n }\n writer.ldelim();\n if (message.discardOrigin === true) {\n writer.uint32(24).bool(message.discardOrigin);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AggregationConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAggregationConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if ((tag & 7) === 2) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.intervalInMinutes.push(reader.int32());\n }\n } else {\n message.intervalInMinutes.push(reader.int32());\n }\n break;\n case 2:\n if ((tag & 7) === 2) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.types.push(reader.int32() as any);\n }\n } else {\n message.types.push(reader.int32() as any);\n }\n break;\n case 3:\n message.discardOrigin = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AggregationConfig {\n return {\n intervalInMinutes: Array.isArray(object?.intervalInMinutes)\n ? object.intervalInMinutes.map((e: any) => Number(e))\n : [],\n types: Array.isArray(object?.types) ? object.types.map((e: any) => aggregationTypeFromJSON(e)) : [],\n discardOrigin: isSet(object.discardOrigin) ? Boolean(object.discardOrigin) : false,\n };\n },\n\n toJSON(message: AggregationConfig): unknown {\n const obj: any = {};\n if (message.intervalInMinutes) {\n obj.intervalInMinutes = message.intervalInMinutes.map((e) => Math.round(e));\n } else {\n obj.intervalInMinutes = [];\n }\n if (message.types) {\n obj.types = message.types.map((e) => aggregationTypeToJSON(e));\n } else {\n obj.types = [];\n }\n message.discardOrigin !== undefined && (obj.discardOrigin = message.discardOrigin);\n return obj;\n },\n\n create(base?: DeepPartial<AggregationConfig>): AggregationConfig {\n return AggregationConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<AggregationConfig>): AggregationConfig {\n const message = createBaseAggregationConfig();\n message.intervalInMinutes = object.intervalInMinutes?.map((e) => e) || [];\n message.types = object.types?.map((e) => e) || [];\n message.discardOrigin = object.discardOrigin ?? false;\n return message;\n },\n};\n\nfunction createBaseAccountConfig(): AccountConfig {\n return {\n chainId: \"\",\n address: \"\",\n startBlock: BigInt(\"0\"),\n intervalConfigs: [],\n aptosIntervalConfigs: [],\n moveIntervalConfigs: [],\n logConfigs: [],\n };\n}\n\nexport const AccountConfig = {\n encode(message: AccountConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.chainId !== \"\") {\n writer.uint32(10).string(message.chainId);\n }\n if (message.address !== \"\") {\n writer.uint32(18).string(message.address);\n }\n if (message.startBlock !== BigInt(\"0\")) {\n writer.uint32(24).uint64(message.startBlock.toString());\n }\n for (const v of message.intervalConfigs) {\n OnIntervalConfig.encode(v!, writer.uint32(34).fork()).ldelim();\n }\n for (const v of message.aptosIntervalConfigs) {\n AptosOnIntervalConfig.encode(v!, writer.uint32(42).fork()).ldelim();\n }\n for (const v of message.moveIntervalConfigs) {\n MoveOnIntervalConfig.encode(v!, writer.uint32(58).fork()).ldelim();\n }\n for (const v of message.logConfigs) {\n LogHandlerConfig.encode(v!, writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AccountConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAccountConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.chainId = reader.string();\n break;\n case 2:\n message.address = reader.string();\n break;\n case 3:\n message.startBlock = longToBigint(reader.uint64() as Long);\n break;\n case 4:\n message.intervalConfigs.push(OnIntervalConfig.decode(reader, reader.uint32()));\n break;\n case 5:\n message.aptosIntervalConfigs.push(AptosOnIntervalConfig.decode(reader, reader.uint32()));\n break;\n case 7:\n message.moveIntervalConfigs.push(MoveOnIntervalConfig.decode(reader, reader.uint32()));\n break;\n case 6:\n message.logConfigs.push(LogHandlerConfig.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AccountConfig {\n return {\n chainId: isSet(object.chainId) ? String(object.chainId) : \"\",\n address: isSet(object.address) ? String(object.address) : \"\",\n startBlock: isSet(object.startBlock) ? BigInt(object.startBlock) : BigInt(\"0\"),\n intervalConfigs: Array.isArray(object?.intervalConfigs)\n ? object.intervalConfigs.map((e: any) => OnIntervalConfig.fromJSON(e))\n : [],\n aptosIntervalConfigs: Array.isArray(object?.aptosIntervalConfigs)\n ? object.aptosIntervalConfigs.map((e: any) => AptosOnIntervalConfig.fromJSON(e))\n : [],\n moveIntervalConfigs: Array.isArray(object?.moveIntervalConfigs)\n ? object.moveIntervalConfigs.map((e: any) => MoveOnIntervalConfig.fromJSON(e))\n : [],\n logConfigs: Array.isArray(object?.logConfigs)\n ? object.logConfigs.map((e: any) => LogHandlerConfig.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: AccountConfig): unknown {\n const obj: any = {};\n message.chainId !== undefined && (obj.chainId = message.chainId);\n message.address !== undefined && (obj.address = message.address);\n message.startBlock !== undefined && (obj.startBlock = message.startBlock.toString());\n if (message.intervalConfigs) {\n obj.intervalConfigs = message.intervalConfigs.map((e) => e ? OnIntervalConfig.toJSON(e) : undefined);\n } else {\n obj.intervalConfigs = [];\n }\n if (message.aptosIntervalConfigs) {\n obj.aptosIntervalConfigs = message.aptosIntervalConfigs.map((e) =>\n e ? AptosOnIntervalConfig.toJSON(e) : undefined\n );\n } else {\n obj.aptosIntervalConfigs = [];\n }\n if (message.moveIntervalConfigs) {\n obj.moveIntervalConfigs = message.moveIntervalConfigs.map((e) => e ? MoveOnIntervalConfig.toJSON(e) : undefined);\n } else {\n obj.moveIntervalConfigs = [];\n }\n if (message.logConfigs) {\n obj.logConfigs = message.logConfigs.map((e) => e ? LogHandlerConfig.toJSON(e) : undefined);\n } else {\n obj.logConfigs = [];\n }\n return obj;\n },\n\n create(base?: DeepPartial<AccountConfig>): AccountConfig {\n return AccountConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<AccountConfig>): AccountConfig {\n const message = createBaseAccountConfig();\n message.chainId = object.chainId ?? \"\";\n message.address = object.address ?? \"\";\n message.startBlock = object.startBlock ?? BigInt(\"0\");\n message.intervalConfigs = object.intervalConfigs?.map((e) => OnIntervalConfig.fromPartial(e)) || [];\n message.aptosIntervalConfigs = object.aptosIntervalConfigs?.map((e) => AptosOnIntervalConfig.fromPartial(e)) || [];\n message.moveIntervalConfigs = object.moveIntervalConfigs?.map((e) => MoveOnIntervalConfig.fromPartial(e)) || [];\n message.logConfigs = object.logConfigs?.map((e) => LogHandlerConfig.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseHandleInterval(): HandleInterval {\n return { recentInterval: 0, backfillInterval: 0 };\n}\n\nexport const HandleInterval = {\n encode(message: HandleInterval, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.recentInterval !== 0) {\n writer.uint32(8).int32(message.recentInterval);\n }\n if (message.backfillInterval !== 0) {\n writer.uint32(16).int32(message.backfillInterval);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): HandleInterval {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseHandleInterval();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.recentInterval = reader.int32();\n break;\n case 2:\n message.backfillInterval = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): HandleInterval {\n return {\n recentInterval: isSet(object.recentInterval) ? Number(object.recentInterval) : 0,\n backfillInterval: isSet(object.backfillInterval) ? Number(object.backfillInterval) : 0,\n };\n },\n\n toJSON(message: HandleInterval): unknown {\n const obj: any = {};\n message.recentInterval !== undefined && (obj.recentInterval = Math.round(message.recentInterval));\n message.backfillInterval !== undefined && (obj.backfillInterval = Math.round(message.backfillInterval));\n return obj;\n },\n\n create(base?: DeepPartial<HandleInterval>): HandleInterval {\n return HandleInterval.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<HandleInterval>): HandleInterval {\n const message = createBaseHandleInterval();\n message.recentInterval = object.recentInterval ?? 0;\n message.backfillInterval = object.backfillInterval ?? 0;\n return message;\n },\n};\n\nfunction createBaseOnIntervalConfig(): OnIntervalConfig {\n return {\n handlerId: 0,\n minutes: 0,\n minutesInterval: undefined,\n slot: 0,\n slotInterval: undefined,\n fetchConfig: undefined,\n };\n}\n\nexport const OnIntervalConfig = {\n encode(message: OnIntervalConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.handlerId !== 0) {\n writer.uint32(8).int32(message.handlerId);\n }\n if (message.minutes !== 0) {\n writer.uint32(16).int32(message.minutes);\n }\n if (message.minutesInterval !== undefined) {\n HandleInterval.encode(message.minutesInterval, writer.uint32(34).fork()).ldelim();\n }\n if (message.slot !== 0) {\n writer.uint32(24).int32(message.slot);\n }\n if (message.slotInterval !== undefined) {\n HandleInterval.encode(message.slotInterval, writer.uint32(42).fork()).ldelim();\n }\n if (message.fetchConfig !== undefined) {\n EthFetchConfig.encode(message.fetchConfig, writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): OnIntervalConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseOnIntervalConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.handlerId = reader.int32();\n break;\n case 2:\n message.minutes = reader.int32();\n break;\n case 4:\n message.minutesInterval = HandleInterval.decode(reader, reader.uint32());\n break;\n case 3:\n message.slot = reader.int32();\n break;\n case 5:\n message.slotInterval = HandleInterval.decode(reader, reader.uint32());\n break;\n case 6:\n message.fetchConfig = EthFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): OnIntervalConfig {\n return {\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n minutes: isSet(object.minutes) ? Number(object.minutes) : 0,\n minutesInterval: isSet(object.minutesInterval) ? HandleInterval.fromJSON(object.minutesInterval) : undefined,\n slot: isSet(object.slot) ? Number(object.slot) : 0,\n slotInterval: isSet(object.slotInterval) ? HandleInterval.fromJSON(object.slotInterval) : undefined,\n fetchConfig: isSet(object.fetchConfig) ? EthFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: OnIntervalConfig): unknown {\n const obj: any = {};\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n message.minutes !== undefined && (obj.minutes = Math.round(message.minutes));\n message.minutesInterval !== undefined &&\n (obj.minutesInterval = message.minutesInterval ? HandleInterval.toJSON(message.minutesInterval) : undefined);\n message.slot !== undefined && (obj.slot = Math.round(message.slot));\n message.slotInterval !== undefined &&\n (obj.slotInterval = message.slotInterval ? HandleInterval.toJSON(message.slotInterval) : undefined);\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? EthFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<OnIntervalConfig>): OnIntervalConfig {\n return OnIntervalConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<OnIntervalConfig>): OnIntervalConfig {\n const message = createBaseOnIntervalConfig();\n message.handlerId = object.handlerId ?? 0;\n message.minutes = object.minutes ?? 0;\n message.minutesInterval = (object.minutesInterval !== undefined && object.minutesInterval !== null)\n ? HandleInterval.fromPartial(object.minutesInterval)\n : undefined;\n message.slot = object.slot ?? 0;\n message.slotInterval = (object.slotInterval !== undefined && object.slotInterval !== null)\n ? HandleInterval.fromPartial(object.slotInterval)\n : undefined;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? EthFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseAptosOnIntervalConfig(): AptosOnIntervalConfig {\n return { intervalConfig: undefined, type: \"\" };\n}\n\nexport const AptosOnIntervalConfig = {\n encode(message: AptosOnIntervalConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.intervalConfig !== undefined) {\n OnIntervalConfig.encode(message.intervalConfig, writer.uint32(10).fork()).ldelim();\n }\n if (message.type !== \"\") {\n writer.uint32(18).string(message.type);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AptosOnIntervalConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAptosOnIntervalConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.intervalConfig = OnIntervalConfig.decode(reader, reader.uint32());\n break;\n case 2:\n message.type = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AptosOnIntervalConfig {\n return {\n intervalConfig: isSet(object.intervalConfig) ? OnIntervalConfig.fromJSON(object.intervalConfig) : undefined,\n type: isSet(object.type) ? String(object.type) : \"\",\n };\n },\n\n toJSON(message: AptosOnIntervalConfig): unknown {\n const obj: any = {};\n message.intervalConfig !== undefined &&\n (obj.intervalConfig = message.intervalConfig ? OnIntervalConfig.toJSON(message.intervalConfig) : undefined);\n message.type !== undefined && (obj.type = message.type);\n return obj;\n },\n\n create(base?: DeepPartial<AptosOnIntervalConfig>): AptosOnIntervalConfig {\n return AptosOnIntervalConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<AptosOnIntervalConfig>): AptosOnIntervalConfig {\n const message = createBaseAptosOnIntervalConfig();\n message.intervalConfig = (object.intervalConfig !== undefined && object.intervalConfig !== null)\n ? OnIntervalConfig.fromPartial(object.intervalConfig)\n : undefined;\n message.type = object.type ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMoveOnIntervalConfig(): MoveOnIntervalConfig {\n return { intervalConfig: undefined, type: \"\", ownerType: 0, fetchConfig: undefined };\n}\n\nexport const MoveOnIntervalConfig = {\n encode(message: MoveOnIntervalConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.intervalConfig !== undefined) {\n OnIntervalConfig.encode(message.intervalConfig, writer.uint32(10).fork()).ldelim();\n }\n if (message.type !== \"\") {\n writer.uint32(18).string(message.type);\n }\n if (message.ownerType !== 0) {\n writer.uint32(24).int32(message.ownerType);\n }\n if (message.fetchConfig !== undefined) {\n MoveAccountFetchConfig.encode(message.fetchConfig, writer.uint32(34).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveOnIntervalConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveOnIntervalConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.intervalConfig = OnIntervalConfig.decode(reader, reader.uint32());\n break;\n case 2:\n message.type = reader.string();\n break;\n case 3:\n message.ownerType = reader.int32() as any;\n break;\n case 4:\n message.fetchConfig = MoveAccountFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveOnIntervalConfig {\n return {\n intervalConfig: isSet(object.intervalConfig) ? OnIntervalConfig.fromJSON(object.intervalConfig) : undefined,\n type: isSet(object.type) ? String(object.type) : \"\",\n ownerType: isSet(object.ownerType) ? moveOwnerTypeFromJSON(object.ownerType) : 0,\n fetchConfig: isSet(object.fetchConfig) ? MoveAccountFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: MoveOnIntervalConfig): unknown {\n const obj: any = {};\n message.intervalConfig !== undefined &&\n (obj.intervalConfig = message.intervalConfig ? OnIntervalConfig.toJSON(message.intervalConfig) : undefined);\n message.type !== undefined && (obj.type = message.type);\n message.ownerType !== undefined && (obj.ownerType = moveOwnerTypeToJSON(message.ownerType));\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? MoveAccountFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<MoveOnIntervalConfig>): MoveOnIntervalConfig {\n return MoveOnIntervalConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveOnIntervalConfig>): MoveOnIntervalConfig {\n const message = createBaseMoveOnIntervalConfig();\n message.intervalConfig = (object.intervalConfig !== undefined && object.intervalConfig !== null)\n ? OnIntervalConfig.fromPartial(object.intervalConfig)\n : undefined;\n message.type = object.type ?? \"\";\n message.ownerType = object.ownerType ?? 0;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? MoveAccountFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseContractInfo(): ContractInfo {\n return { name: \"\", chainId: \"\", address: \"\", abi: \"\" };\n}\n\nexport const ContractInfo = {\n encode(message: ContractInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.chainId !== \"\") {\n writer.uint32(18).string(message.chainId);\n }\n if (message.address !== \"\") {\n writer.uint32(26).string(message.address);\n }\n if (message.abi !== \"\") {\n writer.uint32(34).string(message.abi);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ContractInfo {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseContractInfo();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 2:\n message.chainId = reader.string();\n break;\n case 3:\n message.address = reader.string();\n break;\n case 4:\n message.abi = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ContractInfo {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n chainId: isSet(object.chainId) ? String(object.chainId) : \"\",\n address: isSet(object.address) ? String(object.address) : \"\",\n abi: isSet(object.abi) ? String(object.abi) : \"\",\n };\n },\n\n toJSON(message: ContractInfo): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.chainId !== undefined && (obj.chainId = message.chainId);\n message.address !== undefined && (obj.address = message.address);\n message.abi !== undefined && (obj.abi = message.abi);\n return obj;\n },\n\n create(base?: DeepPartial<ContractInfo>): ContractInfo {\n return ContractInfo.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ContractInfo>): ContractInfo {\n const message = createBaseContractInfo();\n message.name = object.name ?? \"\";\n message.chainId = object.chainId ?? \"\";\n message.address = object.address ?? \"\";\n message.abi = object.abi ?? \"\";\n return message;\n },\n};\n\nfunction createBaseTemplateInstance(): TemplateInstance {\n return { contract: undefined, startBlock: BigInt(\"0\"), endBlock: BigInt(\"0\"), templateId: 0 };\n}\n\nexport const TemplateInstance = {\n encode(message: TemplateInstance, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.contract !== undefined) {\n ContractInfo.encode(message.contract, writer.uint32(10).fork()).ldelim();\n }\n if (message.startBlock !== BigInt(\"0\")) {\n writer.uint32(16).uint64(message.startBlock.toString());\n }\n if (message.endBlock !== BigInt(\"0\")) {\n writer.uint32(24).uint64(message.endBlock.toString());\n }\n if (message.templateId !== 0) {\n writer.uint32(32).int32(message.templateId);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TemplateInstance {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTemplateInstance();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.contract = ContractInfo.decode(reader, reader.uint32());\n break;\n case 2:\n message.startBlock = longToBigint(reader.uint64() as Long);\n break;\n case 3:\n message.endBlock = longToBigint(reader.uint64() as Long);\n break;\n case 4:\n message.templateId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): TemplateInstance {\n return {\n contract: isSet(object.contract) ? ContractInfo.fromJSON(object.contract) : undefined,\n startBlock: isSet(object.startBlock) ? BigInt(object.startBlock) : BigInt(\"0\"),\n endBlock: isSet(object.endBlock) ? BigInt(object.endBlock) : BigInt(\"0\"),\n templateId: isSet(object.templateId) ? Number(object.templateId) : 0,\n };\n },\n\n toJSON(message: TemplateInstance): unknown {\n const obj: any = {};\n message.contract !== undefined &&\n (obj.contract = message.contract ? ContractInfo.toJSON(message.contract) : undefined);\n message.startBlock !== undefined && (obj.startBlock = message.startBlock.toString());\n message.endBlock !== undefined && (obj.endBlock = message.endBlock.toString());\n message.templateId !== undefined && (obj.templateId = Math.round(message.templateId));\n return obj;\n },\n\n create(base?: DeepPartial<TemplateInstance>): TemplateInstance {\n return TemplateInstance.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<TemplateInstance>): TemplateInstance {\n const message = createBaseTemplateInstance();\n message.contract = (object.contract !== undefined && object.contract !== null)\n ? ContractInfo.fromPartial(object.contract)\n : undefined;\n message.startBlock = object.startBlock ?? BigInt(\"0\");\n message.endBlock = object.endBlock ?? BigInt(\"0\");\n message.templateId = object.templateId ?? 0;\n return message;\n },\n};\n\nfunction createBaseStartRequest(): StartRequest {\n return { templateInstances: [] };\n}\n\nexport const StartRequest = {\n encode(message: StartRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.templateInstances) {\n TemplateInstance.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): StartRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseStartRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.templateInstances.push(TemplateInstance.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): StartRequest {\n return {\n templateInstances: Array.isArray(object?.templateInstances)\n ? object.templateInstances.map((e: any) => TemplateInstance.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: StartRequest): unknown {\n const obj: any = {};\n if (message.templateInstances) {\n obj.templateInstances = message.templateInstances.map((e) => e ? TemplateInstance.toJSON(e) : undefined);\n } else {\n obj.templateInstances = [];\n }\n return obj;\n },\n\n create(base?: DeepPartial<StartRequest>): StartRequest {\n return StartRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<StartRequest>): StartRequest {\n const message = createBaseStartRequest();\n message.templateInstances = object.templateInstances?.map((e) => TemplateInstance.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseBlockHandlerConfig(): BlockHandlerConfig {\n return { handlerId: 0 };\n}\n\nexport const BlockHandlerConfig = {\n encode(message: BlockHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.handlerId !== 0) {\n writer.uint32(8).int32(message.handlerId);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): BlockHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBlockHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.handlerId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): BlockHandlerConfig {\n return { handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0 };\n },\n\n toJSON(message: BlockHandlerConfig): unknown {\n const obj: any = {};\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n return obj;\n },\n\n create(base?: DeepPartial<BlockHandlerConfig>): BlockHandlerConfig {\n return BlockHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<BlockHandlerConfig>): BlockHandlerConfig {\n const message = createBaseBlockHandlerConfig();\n message.handlerId = object.handlerId ?? 0;\n return message;\n },\n};\n\nfunction createBaseEthFetchConfig(): EthFetchConfig {\n return { transaction: false, transactionReceipt: false, block: false, trace: false };\n}\n\nexport const EthFetchConfig = {\n encode(message: EthFetchConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.transaction === true) {\n writer.uint32(8).bool(message.transaction);\n }\n if (message.transactionReceipt === true) {\n writer.uint32(16).bool(message.transactionReceipt);\n }\n if (message.block === true) {\n writer.uint32(24).bool(message.block);\n }\n if (message.trace === true) {\n writer.uint32(32).bool(message.trace);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): EthFetchConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseEthFetchConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.transaction = reader.bool();\n break;\n case 2:\n message.transactionReceipt = reader.bool();\n break;\n case 3:\n message.block = reader.bool();\n break;\n case 4:\n message.trace = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): EthFetchConfig {\n return {\n transaction: isSet(object.transaction) ? Boolean(object.transaction) : false,\n transactionReceipt: isSet(object.transactionReceipt) ? Boolean(object.transactionReceipt) : false,\n block: isSet(object.block) ? Boolean(object.block) : false,\n trace: isSet(object.trace) ? Boolean(object.trace) : false,\n };\n },\n\n toJSON(message: EthFetchConfig): unknown {\n const obj: any = {};\n message.transaction !== undefined && (obj.transaction = message.transaction);\n message.transactionReceipt !== undefined && (obj.transactionReceipt = message.transactionReceipt);\n message.block !== undefined && (obj.block = message.block);\n message.trace !== undefined && (obj.trace = message.trace);\n return obj;\n },\n\n create(base?: DeepPartial<EthFetchConfig>): EthFetchConfig {\n return EthFetchConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<EthFetchConfig>): EthFetchConfig {\n const message = createBaseEthFetchConfig();\n message.transaction = object.transaction ?? false;\n message.transactionReceipt = object.transactionReceipt ?? false;\n message.block = object.block ?? false;\n message.trace = object.trace ?? false;\n return message;\n },\n};\n\nfunction createBaseTraceHandlerConfig(): TraceHandlerConfig {\n return { signature: \"\", handlerId: 0, fetchConfig: undefined };\n}\n\nexport const TraceHandlerConfig = {\n encode(message: TraceHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.signature !== \"\") {\n writer.uint32(10).string(message.signature);\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n if (message.fetchConfig !== undefined) {\n EthFetchConfig.encode(message.fetchConfig, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TraceHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTraceHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.signature = reader.string();\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n case 3:\n message.fetchConfig = EthFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): TraceHandlerConfig {\n return {\n signature: isSet(object.signature) ? String(object.signature) : \"\",\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n fetchConfig: isSet(object.fetchConfig) ? EthFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: TraceHandlerConfig): unknown {\n const obj: any = {};\n message.signature !== undefined && (obj.signature = message.signature);\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? EthFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<TraceHandlerConfig>): TraceHandlerConfig {\n return TraceHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<TraceHandlerConfig>): TraceHandlerConfig {\n const message = createBaseTraceHandlerConfig();\n message.signature = object.signature ?? \"\";\n message.handlerId = object.handlerId ?? 0;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? EthFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseTransactionHandlerConfig(): TransactionHandlerConfig {\n return { handlerId: 0, fetchConfig: undefined };\n}\n\nexport const TransactionHandlerConfig = {\n encode(message: TransactionHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.handlerId !== 0) {\n writer.uint32(8).int32(message.handlerId);\n }\n if (message.fetchConfig !== undefined) {\n EthFetchConfig.encode(message.fetchConfig, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TransactionHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTransactionHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.handlerId = reader.int32();\n break;\n case 3:\n message.fetchConfig = EthFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): TransactionHandlerConfig {\n return {\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n fetchConfig: isSet(object.fetchConfig) ? EthFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: TransactionHandlerConfig): unknown {\n const obj: any = {};\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? EthFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<TransactionHandlerConfig>): TransactionHandlerConfig {\n return TransactionHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<TransactionHandlerConfig>): TransactionHandlerConfig {\n const message = createBaseTransactionHandlerConfig();\n message.handlerId = object.handlerId ?? 0;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? EthFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseLogHandlerConfig(): LogHandlerConfig {\n return { filters: [], handlerId: 0, fetchConfig: undefined };\n}\n\nexport const LogHandlerConfig = {\n encode(message: LogHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.filters) {\n LogFilter.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n if (message.fetchConfig !== undefined) {\n EthFetchConfig.encode(message.fetchConfig, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LogHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLogHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.filters.push(LogFilter.decode(reader, reader.uint32()));\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n case 3:\n message.fetchConfig = EthFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): LogHandlerConfig {\n return {\n filters: Array.isArray(object?.filters) ? object.filters.map((e: any) => LogFilter.fromJSON(e)) : [],\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n fetchConfig: isSet(object.fetchConfig) ? EthFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: LogHandlerConfig): unknown {\n const obj: any = {};\n if (message.filters) {\n obj.filters = message.filters.map((e) => e ? LogFilter.toJSON(e) : undefined);\n } else {\n obj.filters = [];\n }\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? EthFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<LogHandlerConfig>): LogHandlerConfig {\n return LogHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LogHandlerConfig>): LogHandlerConfig {\n const message = createBaseLogHandlerConfig();\n message.filters = object.filters?.map((e) => LogFilter.fromPartial(e)) || [];\n message.handlerId = object.handlerId ?? 0;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? EthFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseLogFilter(): LogFilter {\n return { topics: [], address: undefined, addressType: undefined };\n}\n\nexport const LogFilter = {\n encode(message: LogFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.topics) {\n Topic.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.address !== undefined) {\n writer.uint32(18).string(message.address);\n }\n if (message.addressType !== undefined) {\n writer.uint32(24).int32(message.addressType);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LogFilter {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLogFilter();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.topics.push(Topic.decode(reader, reader.uint32()));\n break;\n case 2:\n message.address = reader.string();\n break;\n case 3:\n message.addressType = reader.int32() as any;\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): LogFilter {\n return {\n topics: Array.isArray(object?.topics) ? object.topics.map((e: any) => Topic.fromJSON(e)) : [],\n address: isSet(object.address) ? String(object.address) : undefined,\n addressType: isSet(object.addressType) ? addressTypeFromJSON(object.addressType) : undefined,\n };\n },\n\n toJSON(message: LogFilter): unknown {\n const obj: any = {};\n if (message.topics) {\n obj.topics = message.topics.map((e) => e ? Topic.toJSON(e) : undefined);\n } else {\n obj.topics = [];\n }\n message.address !== undefined && (obj.address = message.address);\n message.addressType !== undefined &&\n (obj.addressType = message.addressType !== undefined ? addressTypeToJSON(message.addressType) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<LogFilter>): LogFilter {\n return LogFilter.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LogFilter>): LogFilter {\n const message = createBaseLogFilter();\n message.topics = object.topics?.map((e) => Topic.fromPartial(e)) || [];\n message.address = object.address ?? undefined;\n message.addressType = object.addressType ?? undefined;\n return message;\n },\n};\n\nfunction createBaseInstructionHandlerConfig(): InstructionHandlerConfig {\n return { innerInstruction: false, parsedInstruction: false, rawDataInstruction: false };\n}\n\nexport const InstructionHandlerConfig = {\n encode(message: InstructionHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.innerInstruction === true) {\n writer.uint32(8).bool(message.innerInstruction);\n }\n if (message.parsedInstruction === true) {\n writer.uint32(16).bool(message.parsedInstruction);\n }\n if (message.rawDataInstruction === true) {\n writer.uint32(24).bool(message.rawDataInstruction);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): InstructionHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInstructionHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.innerInstruction = reader.bool();\n break;\n case 2:\n message.parsedInstruction = reader.bool();\n break;\n case 3:\n message.rawDataInstruction = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): InstructionHandlerConfig {\n return {\n innerInstruction: isSet(object.innerInstruction) ? Boolean(object.innerInstruction) : false,\n parsedInstruction: isSet(object.parsedInstruction) ? Boolean(object.parsedInstruction) : false,\n rawDataInstruction: isSet(object.rawDataInstruction) ? Boolean(object.rawDataInstruction) : false,\n };\n },\n\n toJSON(message: InstructionHandlerConfig): unknown {\n const obj: any = {};\n message.innerInstruction !== undefined && (obj.innerInstruction = message.innerInstruction);\n message.parsedInstruction !== undefined && (obj.parsedInstruction = message.parsedInstruction);\n message.rawDataInstruction !== undefined && (obj.rawDataInstruction = message.rawDataInstruction);\n return obj;\n },\n\n create(base?: DeepPartial<InstructionHandlerConfig>): InstructionHandlerConfig {\n return InstructionHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<InstructionHandlerConfig>): InstructionHandlerConfig {\n const message = createBaseInstructionHandlerConfig();\n message.innerInstruction = object.innerInstruction ?? false;\n message.parsedInstruction = object.parsedInstruction ?? false;\n message.rawDataInstruction = object.rawDataInstruction ?? false;\n return message;\n },\n};\n\nfunction createBaseMoveFetchConfig(): MoveFetchConfig {\n return { resourceChanges: false, allEvents: false };\n}\n\nexport const MoveFetchConfig = {\n encode(message: MoveFetchConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.resourceChanges === true) {\n writer.uint32(8).bool(message.resourceChanges);\n }\n if (message.allEvents === true) {\n writer.uint32(16).bool(message.allEvents);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveFetchConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveFetchConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.resourceChanges = reader.bool();\n break;\n case 2:\n message.allEvents = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveFetchConfig {\n return {\n resourceChanges: isSet(object.resourceChanges) ? Boolean(object.resourceChanges) : false,\n allEvents: isSet(object.allEvents) ? Boolean(object.allEvents) : false,\n };\n },\n\n toJSON(message: MoveFetchConfig): unknown {\n const obj: any = {};\n message.resourceChanges !== undefined && (obj.resourceChanges = message.resourceChanges);\n message.allEvents !== undefined && (obj.allEvents = message.allEvents);\n return obj;\n },\n\n create(base?: DeepPartial<MoveFetchConfig>): MoveFetchConfig {\n return MoveFetchConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveFetchConfig>): MoveFetchConfig {\n const message = createBaseMoveFetchConfig();\n message.resourceChanges = object.resourceChanges ?? false;\n message.allEvents = object.allEvents ?? false;\n return message;\n },\n};\n\nfunction createBaseMoveAccountFetchConfig(): MoveAccountFetchConfig {\n return { owned: false };\n}\n\nexport const MoveAccountFetchConfig = {\n encode(message: MoveAccountFetchConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.owned === true) {\n writer.uint32(8).bool(message.owned);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveAccountFetchConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveAccountFetchConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.owned = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveAccountFetchConfig {\n return { owned: isSet(object.owned) ? Boolean(object.owned) : false };\n },\n\n toJSON(message: MoveAccountFetchConfig): unknown {\n const obj: any = {};\n message.owned !== undefined && (obj.owned = message.owned);\n return obj;\n },\n\n create(base?: DeepPartial<MoveAccountFetchConfig>): MoveAccountFetchConfig {\n return MoveAccountFetchConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveAccountFetchConfig>): MoveAccountFetchConfig {\n const message = createBaseMoveAccountFetchConfig();\n message.owned = object.owned ?? false;\n return message;\n },\n};\n\nfunction createBaseMoveEventHandlerConfig(): MoveEventHandlerConfig {\n return { filters: [], handlerId: 0, fetchConfig: undefined };\n}\n\nexport const MoveEventHandlerConfig = {\n encode(message: MoveEventHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.filters) {\n MoveEventFilter.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n if (message.fetchConfig !== undefined) {\n MoveFetchConfig.encode(message.fetchConfig, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveEventHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveEventHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.filters.push(MoveEventFilter.decode(reader, reader.uint32()));\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n case 3:\n message.fetchConfig = MoveFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveEventHandlerConfig {\n return {\n filters: Array.isArray(object?.filters) ? object.filters.map((e: any) => MoveEventFilter.fromJSON(e)) : [],\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n fetchConfig: isSet(object.fetchConfig) ? MoveFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: MoveEventHandlerConfig): unknown {\n const obj: any = {};\n if (message.filters) {\n obj.filters = message.filters.map((e) => e ? MoveEventFilter.toJSON(e) : undefined);\n } else {\n obj.filters = [];\n }\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? MoveFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<MoveEventHandlerConfig>): MoveEventHandlerConfig {\n return MoveEventHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveEventHandlerConfig>): MoveEventHandlerConfig {\n const message = createBaseMoveEventHandlerConfig();\n message.filters = object.filters?.map((e) => MoveEventFilter.fromPartial(e)) || [];\n message.handlerId = object.handlerId ?? 0;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? MoveFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMoveEventFilter(): MoveEventFilter {\n return { type: \"\", account: \"\" };\n}\n\nexport const MoveEventFilter = {\n encode(message: MoveEventFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.type !== \"\") {\n writer.uint32(10).string(message.type);\n }\n if (message.account !== \"\") {\n writer.uint32(18).string(message.account);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveEventFilter {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveEventFilter();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.type = reader.string();\n break;\n case 2:\n message.account = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveEventFilter {\n return {\n type: isSet(object.type) ? String(object.type) : \"\",\n account: isSet(object.account) ? String(object.account) : \"\",\n };\n },\n\n toJSON(message: MoveEventFilter): unknown {\n const obj: any = {};\n message.type !== undefined && (obj.type = message.type);\n message.account !== undefined && (obj.account = message.account);\n return obj;\n },\n\n create(base?: DeepPartial<MoveEventFilter>): MoveEventFilter {\n return MoveEventFilter.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveEventFilter>): MoveEventFilter {\n const message = createBaseMoveEventFilter();\n message.type = object.type ?? \"\";\n message.account = object.account ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMoveCallHandlerConfig(): MoveCallHandlerConfig {\n return { filters: [], handlerId: 0, fetchConfig: undefined };\n}\n\nexport const MoveCallHandlerConfig = {\n encode(message: MoveCallHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.filters) {\n MoveCallFilter.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n if (message.fetchConfig !== undefined) {\n MoveFetchConfig.encode(message.fetchConfig, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveCallHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveCallHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.filters.push(MoveCallFilter.decode(reader, reader.uint32()));\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n case 3:\n message.fetchConfig = MoveFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveCallHandlerConfig {\n return {\n filters: Array.isArray(object?.filters) ? object.filters.map((e: any) => MoveCallFilter.fromJSON(e)) : [],\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n fetchConfig: isSet(object.fetchConfig) ? MoveFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: MoveCallHandlerConfig): unknown {\n const obj: any = {};\n if (message.filters) {\n obj.filters = message.filters.map((e) => e ? MoveCallFilter.toJSON(e) : undefined);\n } else {\n obj.filters = [];\n }\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? MoveFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<MoveCallHandlerConfig>): MoveCallHandlerConfig {\n return MoveCallHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveCallHandlerConfig>): MoveCallHandlerConfig {\n const message = createBaseMoveCallHandlerConfig();\n message.filters = object.filters?.map((e) => MoveCallFilter.fromPartial(e)) || [];\n message.handlerId = object.handlerId ?? 0;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? MoveFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMoveCallFilter(): MoveCallFilter {\n return { function: \"\", typeArguments: [], withTypeArguments: false, includeFailed: false };\n}\n\nexport const MoveCallFilter = {\n encode(message: MoveCallFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.function !== \"\") {\n writer.uint32(10).string(message.function);\n }\n for (const v of message.typeArguments) {\n writer.uint32(18).string(v!);\n }\n if (message.withTypeArguments === true) {\n writer.uint32(24).bool(message.withTypeArguments);\n }\n if (message.includeFailed === true) {\n writer.uint32(32).bool(message.includeFailed);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveCallFilter {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveCallFilter();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.function = reader.string();\n break;\n case 2:\n message.typeArguments.push(reader.string());\n break;\n case 3:\n message.withTypeArguments = reader.bool();\n break;\n case 4:\n message.includeFailed = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveCallFilter {\n return {\n function: isSet(object.function) ? String(object.function) : \"\",\n typeArguments: Array.isArray(object?.typeArguments) ? object.typeArguments.map((e: any) => String(e)) : [],\n withTypeArguments: isSet(object.withTypeArguments) ? Boolean(object.withTypeArguments) : false,\n includeFailed: isSet(object.includeFailed) ? Boolean(object.includeFailed) : false,\n };\n },\n\n toJSON(message: MoveCallFilter): unknown {\n const obj: any = {};\n message.function !== undefined && (obj.function = message.function);\n if (message.typeArguments) {\n obj.typeArguments = message.typeArguments.map((e) => e);\n } else {\n obj.typeArguments = [];\n }\n message.withTypeArguments !== undefined && (obj.withTypeArguments = message.withTypeArguments);\n message.includeFailed !== undefined && (obj.includeFailed = message.includeFailed);\n return obj;\n },\n\n create(base?: DeepPartial<MoveCallFilter>): MoveCallFilter {\n return MoveCallFilter.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveCallFilter>): MoveCallFilter {\n const message = createBaseMoveCallFilter();\n message.function = object.function ?? \"\";\n message.typeArguments = object.typeArguments?.map((e) => e) || [];\n message.withTypeArguments = object.withTypeArguments ?? false;\n message.includeFailed = object.includeFailed ?? false;\n return message;\n },\n};\n\nfunction createBaseTopic(): Topic {\n return { hashes: [] };\n}\n\nexport const Topic = {\n encode(message: Topic, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.hashes) {\n writer.uint32(10).string(v!);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Topic {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTopic();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.hashes.push(reader.string());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Topic {\n return { hashes: Array.isArray(object?.hashes) ? object.hashes.map((e: any) => String(e)) : [] };\n },\n\n toJSON(message: Topic): unknown {\n const obj: any = {};\n if (message.hashes) {\n obj.hashes = message.hashes.map((e) => e);\n } else {\n obj.hashes = [];\n }\n return obj;\n },\n\n create(base?: DeepPartial<Topic>): Topic {\n return Topic.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Topic>): Topic {\n const message = createBaseTopic();\n message.hashes = object.hashes?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseProcessBindingsRequest(): ProcessBindingsRequest {\n return { bindings: [] };\n}\n\nexport const ProcessBindingsRequest = {\n encode(message: ProcessBindingsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.bindings) {\n DataBinding.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProcessBindingsRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessBindingsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.bindings.push(DataBinding.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessBindingsRequest {\n return {\n bindings: Array.isArray(object?.bindings) ? object.bindings.map((e: any) => DataBinding.fromJSON(e)) : [],\n };\n },\n\n toJSON(message: ProcessBindingsRequest): unknown {\n const obj: any = {};\n if (message.bindings) {\n obj.bindings = message.bindings.map((e) => e ? DataBinding.toJSON(e) : undefined);\n } else {\n obj.bindings = [];\n }\n return obj;\n },\n\n create(base?: DeepPartial<ProcessBindingsRequest>): ProcessBindingsRequest {\n return ProcessBindingsRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ProcessBindingsRequest>): ProcessBindingsRequest {\n const message = createBaseProcessBindingsRequest();\n message.bindings = object.bindings?.map((e) => DataBinding.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseProcessBindingResponse(): ProcessBindingResponse {\n return { result: undefined, configUpdated: false };\n}\n\nexport const ProcessBindingResponse = {\n encode(message: ProcessBindingResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.result !== undefined) {\n ProcessResult.encode(message.result, writer.uint32(10).fork()).ldelim();\n }\n if (message.configUpdated === true) {\n writer.uint32(32).bool(message.configUpdated);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProcessBindingResponse {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessBindingResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.result = ProcessResult.decode(reader, reader.uint32());\n break;\n case 4:\n message.configUpdated = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessBindingResponse {\n return {\n result: isSet(object.result) ? ProcessResult.fromJSON(object.result) : undefined,\n configUpdated: isSet(object.configUpdated) ? Boolean(object.configUpdated) : false,\n };\n },\n\n toJSON(message: ProcessBindingResponse): unknown {\n const obj: any = {};\n message.result !== undefined && (obj.result = message.result ? ProcessResult.toJSON(message.result) : undefined);\n message.configUpdated !== undefined && (obj.configUpdated = message.configUpdated);\n return obj;\n },\n\n create(base?: DeepPartial<ProcessBindingResponse>): ProcessBindingResponse {\n return ProcessBindingResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ProcessBindingResponse>): ProcessBindingResponse {\n const message = createBaseProcessBindingResponse();\n message.result = (object.result !== undefined && object.result !== null)\n ? ProcessResult.fromPartial(object.result)\n : undefined;\n message.configUpdated = object.configUpdated ?? false;\n return message;\n },\n};\n\nfunction createBaseData(): Data {\n return {\n raw: new Uint8Array(),\n ethLog: undefined,\n ethBlock: undefined,\n ethTransaction: undefined,\n ethTrace: undefined,\n solInstruction: undefined,\n aptEvent: undefined,\n aptCall: undefined,\n aptResource: undefined,\n suiEvent: undefined,\n suiCall: undefined,\n suiObject: undefined,\n };\n}\n\nexport const Data = {\n encode(message: Data, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.raw.length !== 0) {\n writer.uint32(10).bytes(message.raw);\n }\n if (message.ethLog !== undefined) {\n Data_EthLog.encode(message.ethLog, writer.uint32(18).fork()).ldelim();\n }\n if (message.ethBlock !== undefined) {\n Data_EthBlock.encode(message.ethBlock, writer.uint32(26).fork()).ldelim();\n }\n if (message.ethTransaction !== undefined) {\n Data_EthTransaction.encode(message.ethTransaction, writer.uint32(34).fork()).ldelim();\n }\n if (message.ethTrace !== undefined) {\n Data_EthTrace.encode(message.ethTrace, writer.uint32(42).fork()).ldelim();\n }\n if (message.solInstruction !== undefined) {\n Data_SolInstruction.encode(message.solInstruction, writer.uint32(50).fork()).ldelim();\n }\n if (message.aptEvent !== undefined) {\n Data_AptEvent.encode(message.aptEvent, writer.uint32(58).fork()).ldelim();\n }\n if (message.aptCall !== undefined) {\n Data_AptCall.encode(message.aptCall, writer.uint32(66).fork()).ldelim();\n }\n if (message.aptResource !== undefined) {\n Data_AptResource.encode(message.aptResource, writer.uint32(74).fork()).ldelim();\n }\n if (message.suiEvent !== undefined) {\n Data_SuiEvent.encode(message.suiEvent, writer.uint32(82).fork()).ldelim();\n }\n if (message.suiCall !== undefined) {\n Data_SuiCall.encode(message.suiCall, writer.uint32(90).fork()).ldelim();\n }\n if (message.suiObject !== undefined) {\n Data_SuiObject.encode(message.suiObject, writer.uint32(98).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.raw = reader.bytes();\n break;\n case 2:\n message.ethLog = Data_EthLog.decode(reader, reader.uint32());\n break;\n case 3:\n message.ethBlock = Data_EthBlock.decode(reader, reader.uint32());\n break;\n case 4:\n message.ethTransaction = Data_EthTransaction.decode(reader, reader.uint32());\n break;\n case 5:\n message.ethTrace = Data_EthTrace.decode(reader, reader.uint32());\n break;\n case 6:\n message.solInstruction = Data_SolInstruction.decode(reader, reader.uint32());\n break;\n case 7:\n message.aptEvent = Data_AptEvent.decode(reader, reader.uint32());\n break;\n case 8:\n message.aptCall = Data_AptCall.decode(reader, reader.uint32());\n break;\n case 9:\n message.aptResource = Data_AptResource.decode(reader, reader.uint32());\n break;\n case 10:\n message.suiEvent = Data_SuiEvent.decode(reader, reader.uint32());\n break;\n case 11:\n message.suiCall = Data_SuiCall.decode(reader, reader.uint32());\n break;\n case 12:\n message.suiObject = Data_SuiObject.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data {\n return {\n raw: isSet(object.raw) ? bytesFromBase64(object.raw) : new Uint8Array(),\n ethLog: isSet(object.ethLog) ? Data_EthLog.fromJSON(object.ethLog) : undefined,\n ethBlock: isSet(object.ethBlock) ? Data_EthBlock.fromJSON(object.ethBlock) : undefined,\n ethTransaction: isSet(object.ethTransaction) ? Data_EthTransaction.fromJSON(object.ethTransaction) : undefined,\n ethTrace: isSet(object.ethTrace) ? Data_EthTrace.fromJSON(object.ethTrace) : undefined,\n solInstruction: isSet(object.solInstruction) ? Data_SolInstruction.fromJSON(object.solInstruction) : undefined,\n aptEvent: isSet(object.aptEvent) ? Data_AptEvent.fromJSON(object.aptEvent) : undefined,\n aptCall: isSet(object.aptCall) ? Data_AptCall.fromJSON(object.aptCall) : undefined,\n aptResource: isSet(object.aptResource) ? Data_AptResource.fromJSON(object.aptResource) : undefined,\n suiEvent: isSet(object.suiEvent) ? Data_SuiEvent.fromJSON(object.suiEvent) : undefined,\n suiCall: isSet(object.suiCall) ? Data_SuiCall.fromJSON(object.suiCall) : undefined,\n suiObject: isSet(object.suiObject) ? Data_SuiObject.fromJSON(object.suiObject) : undefined,\n };\n },\n\n toJSON(message: Data): unknown {\n const obj: any = {};\n message.raw !== undefined &&\n (obj.raw = base64FromBytes(message.raw !== undefined ? message.raw : new Uint8Array()));\n message.ethLog !== undefined && (obj.ethLog = message.ethLog ? Data_EthLog.toJSON(message.ethLog) : undefined);\n message.ethBlock !== undefined &&\n (obj.ethBlock = message.ethBlock ? Data_EthBlock.toJSON(message.ethBlock) : undefined);\n message.ethTransaction !== undefined &&\n (obj.ethTransaction = message.ethTransaction ? Data_EthTransaction.toJSON(message.ethTransaction) : undefined);\n message.ethTrace !== undefined &&\n (obj.ethTrace = message.ethTrace ? Data_EthTrace.toJSON(message.ethTrace) : undefined);\n message.solInstruction !== undefined &&\n (obj.solInstruction = message.solInstruction ? Data_SolInstruction.toJSON(message.solInstruction) : undefined);\n message.aptEvent !== undefined &&\n (obj.aptEvent = message.aptEvent ? Data_AptEvent.toJSON(message.aptEvent) : undefined);\n message.aptCall !== undefined && (obj.aptCall = message.aptCall ? Data_AptCall.toJSON(message.aptCall) : undefined);\n message.aptResource !== undefined &&\n (obj.aptResource = message.aptResource ? Data_AptResource.toJSON(message.aptResource) : undefined);\n message.suiEvent !== undefined &&\n (obj.suiEvent = message.suiEvent ? Data_SuiEvent.toJSON(message.suiEvent) : undefined);\n message.suiCall !== undefined && (obj.suiCall = message.suiCall ? Data_SuiCall.toJSON(message.suiCall) : undefined);\n message.suiObject !== undefined &&\n (obj.suiObject = message.suiObject ? Data_SuiObject.toJSON(message.suiObject) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<Data>): Data {\n return Data.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data>): Data {\n const message = createBaseData();\n message.raw = object.raw ?? new Uint8Array();\n message.ethLog = (object.ethLog !== undefined && object.ethLog !== null)\n ? Data_EthLog.fromPartial(object.ethLog)\n : undefined;\n message.ethBlock = (object.ethBlock !== undefined && object.ethBlock !== null)\n ? Data_EthBlock.fromPartial(object.ethBlock)\n : undefined;\n message.ethTransaction = (object.ethTransaction !== undefined && object.ethTransaction !== null)\n ? Data_EthTransaction.fromPartial(object.ethTransaction)\n : undefined;\n message.ethTrace = (object.ethTrace !== undefined && object.ethTrace !== null)\n ? Data_EthTrace.fromPartial(object.ethTrace)\n : undefined;\n message.solInstruction = (object.solInstruction !== undefined && object.solInstruction !== null)\n ? Data_SolInstruction.fromPartial(object.solInstruction)\n : undefined;\n message.aptEvent = (object.aptEvent !== undefined && object.aptEvent !== null)\n ? Data_AptEvent.fromPartial(object.aptEvent)\n : undefined;\n message.aptCall = (object.aptCall !== undefined && object.aptCall !== null)\n ? Data_AptCall.fromPartial(object.aptCall)\n : undefined;\n message.aptResource = (object.aptResource !== undefined && object.aptResource !== null)\n ? Data_AptResource.fromPartial(object.aptResource)\n : undefined;\n message.suiEvent = (object.suiEvent !== undefined && object.suiEvent !== null)\n ? Data_SuiEvent.fromPartial(object.suiEvent)\n : undefined;\n message.suiCall = (object.suiCall !== undefined && object.suiCall !== null)\n ? Data_SuiCall.fromPartial(object.suiCall)\n : undefined;\n message.suiObject = (object.suiObject !== undefined && object.suiObject !== null)\n ? Data_SuiObject.fromPartial(object.suiObject)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseData_EthLog(): Data_EthLog {\n return {\n log: undefined,\n timestamp: undefined,\n transaction: undefined,\n transactionReceipt: undefined,\n block: undefined,\n };\n}\n\nexport const Data_EthLog = {\n encode(message: Data_EthLog, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.log !== undefined) {\n Struct.encode(Struct.wrap(message.log), writer.uint32(26).fork()).ldelim();\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(34).fork()).ldelim();\n }\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(18).fork()).ldelim();\n }\n if (message.transactionReceipt !== undefined) {\n Struct.encode(Struct.wrap(message.transactionReceipt), writer.uint32(42).fork()).ldelim();\n }\n if (message.block !== undefined) {\n Struct.encode(Struct.wrap(message.block), writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_EthLog {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_EthLog();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 3:\n message.log = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 4:\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n break;\n case 2:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 5:\n message.transactionReceipt = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 6:\n message.block = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_EthLog {\n return {\n log: isObject(object.log) ? object.log : undefined,\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n transaction: isObject(object.transaction) ? object.transaction : undefined,\n transactionReceipt: isObject(object.transactionReceipt) ? object.transactionReceipt : undefined,\n block: isObject(object.block) ? object.block : undefined,\n };\n },\n\n toJSON(message: Data_EthLog): unknown {\n const obj: any = {};\n message.log !== undefined && (obj.log = message.log);\n message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());\n message.transaction !== undefined && (obj.transaction = message.transaction);\n message.transactionReceipt !== undefined && (obj.transactionReceipt = message.transactionReceipt);\n message.block !== undefined && (obj.block = message.block);\n return obj;\n },\n\n create(base?: DeepPartial<Data_EthLog>): Data_EthLog {\n return Data_EthLog.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_EthLog>): Data_EthLog {\n const message = createBaseData_EthLog();\n message.log = object.log ?? undefined;\n message.timestamp = object.timestamp ?? undefined;\n message.transaction = object.transaction ?? undefined;\n message.transactionReceipt = object.transactionReceipt ?? undefined;\n message.block = object.block ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_EthBlock(): Data_EthBlock {\n return { block: undefined };\n}\n\nexport const Data_EthBlock = {\n encode(message: Data_EthBlock, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.block !== undefined) {\n Struct.encode(Struct.wrap(message.block), writer.uint32(18).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_EthBlock {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_EthBlock();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2:\n message.block = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_EthBlock {\n return { block: isObject(object.block) ? object.block : undefined };\n },\n\n toJSON(message: Data_EthBlock): unknown {\n const obj: any = {};\n message.block !== undefined && (obj.block = message.block);\n return obj;\n },\n\n create(base?: DeepPartial<Data_EthBlock>): Data_EthBlock {\n return Data_EthBlock.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_EthBlock>): Data_EthBlock {\n const message = createBaseData_EthBlock();\n message.block = object.block ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_EthTransaction(): Data_EthTransaction {\n return {\n transaction: undefined,\n timestamp: undefined,\n transactionReceipt: undefined,\n block: undefined,\n trace: undefined,\n };\n}\n\nexport const Data_EthTransaction = {\n encode(message: Data_EthTransaction, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(34).fork()).ldelim();\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(42).fork()).ldelim();\n }\n if (message.transactionReceipt !== undefined) {\n Struct.encode(Struct.wrap(message.transactionReceipt), writer.uint32(26).fork()).ldelim();\n }\n if (message.block !== undefined) {\n Struct.encode(Struct.wrap(message.block), writer.uint32(50).fork()).ldelim();\n }\n if (message.trace !== undefined) {\n Struct.encode(Struct.wrap(message.trace), writer.uint32(58).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_EthTransaction {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_EthTransaction();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 4:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 5:\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n break;\n case 3:\n message.transactionReceipt = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 6:\n message.block = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 7:\n message.trace = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_EthTransaction {\n return {\n transaction: isObject(object.transaction) ? object.transaction : undefined,\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n transactionReceipt: isObject(object.transactionReceipt) ? object.transactionReceipt : undefined,\n block: isObject(object.block) ? object.block : undefined,\n trace: isObject(object.trace) ? object.trace : undefined,\n };\n },\n\n toJSON(message: Data_EthTransaction): unknown {\n const obj: any = {};\n message.transaction !== undefined && (obj.transaction = message.transaction);\n message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());\n message.transactionReceipt !== undefined && (obj.transactionReceipt = message.transactionReceipt);\n message.block !== undefined && (obj.block = message.block);\n message.trace !== undefined && (obj.trace = message.trace);\n return obj;\n },\n\n create(base?: DeepPartial<Data_EthTransaction>): Data_EthTransaction {\n return Data_EthTransaction.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_EthTransaction>): Data_EthTransaction {\n const message = createBaseData_EthTransaction();\n message.transaction = object.transaction ?? undefined;\n message.timestamp = object.timestamp ?? undefined;\n message.transactionReceipt = object.transactionReceipt ?? undefined;\n message.block = object.block ?? undefined;\n message.trace = object.trace ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_EthTrace(): Data_EthTrace {\n return {\n trace: undefined,\n timestamp: undefined,\n transaction: undefined,\n transactionReceipt: undefined,\n block: undefined,\n };\n}\n\nexport const Data_EthTrace = {\n encode(message: Data_EthTrace, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.trace !== undefined) {\n Struct.encode(Struct.wrap(message.trace), writer.uint32(34).fork()).ldelim();\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(42).fork()).ldelim();\n }\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(18).fork()).ldelim();\n }\n if (message.transactionReceipt !== undefined) {\n Struct.encode(Struct.wrap(message.transactionReceipt), writer.uint32(26).fork()).ldelim();\n }\n if (message.block !== undefined) {\n Struct.encode(Struct.wrap(message.block), writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_EthTrace {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_EthTrace();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 4:\n message.trace = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 5:\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n break;\n case 2:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 3:\n message.transactionReceipt = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 6:\n message.block = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_EthTrace {\n return {\n trace: isObject(object.trace) ? object.trace : undefined,\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n transaction: isObject(object.transaction) ? object.transaction : undefined,\n transactionReceipt: isObject(object.transactionReceipt) ? object.transactionReceipt : undefined,\n block: isObject(object.block) ? object.block : undefined,\n };\n },\n\n toJSON(message: Data_EthTrace): unknown {\n const obj: any = {};\n message.trace !== undefined && (obj.trace = message.trace);\n message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());\n message.transaction !== undefined && (obj.transaction = message.transaction);\n message.transactionReceipt !== undefined && (obj.transactionReceipt = message.transactionReceipt);\n message.block !== undefined && (obj.block = message.block);\n return obj;\n },\n\n create(base?: DeepPartial<Data_EthTrace>): Data_EthTrace {\n return Data_EthTrace.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_EthTrace>): Data_EthTrace {\n const message = createBaseData_EthTrace();\n message.trace = object.trace ?? undefined;\n message.timestamp = object.timestamp ?? undefined;\n message.transaction = object.transaction ?? undefined;\n message.transactionReceipt = object.transactionReceipt ?? undefined;\n message.block = object.block ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_SolInstruction(): Data_SolInstruction {\n return { instructionData: \"\", slot: BigInt(\"0\"), programAccountId: \"\", accounts: [], parsed: undefined };\n}\n\nexport const Data_SolInstruction = {\n encode(message: Data_SolInstruction, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.instructionData !== \"\") {\n writer.uint32(10).string(message.instructionData);\n }\n if (message.slot !== BigInt(\"0\")) {\n writer.uint32(16).uint64(message.slot.toString());\n }\n if (message.programAccountId !== \"\") {\n writer.uint32(26).string(message.programAccountId);\n }\n for (const v of message.accounts) {\n writer.uint32(42).string(v!);\n }\n if (message.parsed !== undefined) {\n Struct.encode(Struct.wrap(message.parsed), writer.uint32(34).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_SolInstruction {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_SolInstruction();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.instructionData = reader.string();\n break;\n case 2:\n message.slot = longToBigint(reader.uint64() as Long);\n break;\n case 3:\n message.programAccountId = reader.string();\n break;\n case 5:\n message.accounts.push(reader.string());\n break;\n case 4:\n message.parsed = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_SolInstruction {\n return {\n instructionData: isSet(object.instructionData) ? String(object.instructionData) : \"\",\n slot: isSet(object.slot) ? BigInt(object.slot) : BigInt(\"0\"),\n programAccountId: isSet(object.programAccountId) ? String(object.programAccountId) : \"\",\n accounts: Array.isArray(object?.accounts) ? object.accounts.map((e: any) => String(e)) : [],\n parsed: isObject(object.parsed) ? object.parsed : undefined,\n };\n },\n\n toJSON(message: Data_SolInstruction): unknown {\n const obj: any = {};\n message.instructionData !== undefined && (obj.instructionData = message.instructionData);\n message.slot !== undefined && (obj.slot = message.slot.toString());\n message.programAccountId !== undefined && (obj.programAccountId = message.programAccountId);\n if (message.accounts) {\n obj.accounts = message.accounts.map((e) => e);\n } else {\n obj.accounts = [];\n }\n message.parsed !== undefined && (obj.parsed = message.parsed);\n return obj;\n },\n\n create(base?: DeepPartial<Data_SolInstruction>): Data_SolInstruction {\n return Data_SolInstruction.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_SolInstruction>): Data_SolInstruction {\n const message = createBaseData_SolInstruction();\n message.instructionData = object.instructionData ?? \"\";\n message.slot = object.slot ?? BigInt(\"0\");\n message.programAccountId = object.programAccountId ?? \"\";\n message.accounts = object.accounts?.map((e) => e) || [];\n message.parsed = object.parsed ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_AptEvent(): Data_AptEvent {\n return { transaction: undefined };\n}\n\nexport const Data_AptEvent = {\n encode(message: Data_AptEvent, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(18).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_AptEvent {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_AptEvent();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_AptEvent {\n return { transaction: isObject(object.transaction) ? object.transaction : undefined };\n },\n\n toJSON(message: Data_AptEvent): unknown {\n const obj: any = {};\n message.transaction !== undefined && (obj.transaction = message.transaction);\n return obj;\n },\n\n create(base?: DeepPartial<Data_AptEvent>): Data_AptEvent {\n return Data_AptEvent.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_AptEvent>): Data_AptEvent {\n const message = createBaseData_AptEvent();\n message.transaction = object.transaction ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_AptCall(): Data_AptCall {\n return { transaction: undefined };\n}\n\nexport const Data_AptCall = {\n encode(message: Data_AptCall, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(18).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_AptCall {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_AptCall();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_AptCall {\n return { transaction: isObject(object.transaction) ? object.transaction : undefined };\n },\n\n toJSON(message: Data_AptCall): unknown {\n const obj: any = {};\n message.transaction !== undefined && (obj.transaction = message.transaction);\n return obj;\n },\n\n create(base?: DeepPartial<Data_AptCall>): Data_AptCall {\n return Data_AptCall.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_AptCall>): Data_AptCall {\n const message = createBaseData_AptCall();\n message.transaction = object.transaction ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_AptResource(): Data_AptResource {\n return { resources: [], version: BigInt(\"0\"), timestampMicros: BigInt(\"0\") };\n}\n\nexport const Data_AptResource = {\n encode(message: Data_AptResource, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.resources) {\n Struct.encode(Struct.wrap(v!), writer.uint32(34).fork()).ldelim();\n }\n if (message.version !== BigInt(\"0\")) {\n writer.uint32(16).int64(message.version.toString());\n }\n if (message.timestampMicros !== BigInt(\"0\")) {\n writer.uint32(40).int64(message.timestampMicros.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_AptResource {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_AptResource();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 4:\n message.resources.push(Struct.unwrap(Struct.decode(reader, reader.uint32())));\n break;\n case 2:\n message.version = longToBigint(reader.int64() as Long);\n break;\n case 5:\n message.timestampMicros = longToBigint(reader.int64() as Long);\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_AptResource {\n return {\n resources: Array.isArray(object?.resources) ? [...object.resources] : [],\n version: isSet(object.version) ? BigInt(object.version) : BigInt(\"0\"),\n timestampMicros: isSet(object.timestampMicros) ? BigInt(object.timestampMicros) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: Data_AptResource): unknown {\n const obj: any = {};\n if (message.resources) {\n obj.resources = message.resources.map((e) => e);\n } else {\n obj.resources = [];\n }\n message.version !== undefined && (obj.version = message.version.toString());\n message.timestampMicros !== undefined && (obj.timestampMicros = message.timestampMicros.toString());\n return obj;\n },\n\n create(base?: DeepPartial<Data_AptResource>): Data_AptResource {\n return Data_AptResource.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_AptResource>): Data_AptResource {\n const message = createBaseData_AptResource();\n message.resources = object.resources?.map((e) => e) || [];\n message.version = object.version ?? BigInt(\"0\");\n message.timestampMicros = object.timestampMicros ?? BigInt(\"0\");\n return message;\n },\n};\n\nfunction createBaseData_SuiEvent(): Data_SuiEvent {\n return { transaction: undefined, timestamp: undefined, slot: BigInt(\"0\") };\n}\n\nexport const Data_SuiEvent = {\n encode(message: Data_SuiEvent, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(10).fork()).ldelim();\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(18).fork()).ldelim();\n }\n if (message.slot !== BigInt(\"0\")) {\n writer.uint32(24).uint64(message.slot.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_SuiEvent {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_SuiEvent();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 2:\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n break;\n case 3:\n message.slot = longToBigint(reader.uint64() as Long);\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_SuiEvent {\n return {\n transaction: isObject(object.transaction) ? object.transaction : undefined,\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n slot: isSet(object.slot) ? BigInt(object.slot) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: Data_SuiEvent): unknown {\n const obj: any = {};\n message.transaction !== undefined && (obj.transaction = message.transaction);\n message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());\n message.slot !== undefined && (obj.slot = message.slot.toString());\n return obj;\n },\n\n create(base?: DeepPartial<Data_SuiEvent>): Data_SuiEvent {\n return Data_SuiEvent.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_SuiEvent>): Data_SuiEvent {\n const message = createBaseData_SuiEvent();\n message.transaction = object.transaction ?? undefined;\n message.timestamp = object.timestamp ?? undefined;\n message.slot = object.slot ?? BigInt(\"0\");\n return message;\n },\n};\n\nfunction createBaseData_SuiCall(): Data_SuiCall {\n return { transaction: undefined, timestamp: undefined, slot: BigInt(\"0\") };\n}\n\nexport const Data_SuiCall = {\n encode(message: Data_SuiCall, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(10).fork()).ldelim();\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(18).fork()).ldelim();\n }\n if (message.slot !== BigInt(\"0\")) {\n writer.uint32(24).uint64(message.slot.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_SuiCall {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_SuiCall();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 2:\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n break;\n case 3:\n message.slot = longToBigint(reader.uint64() as Long);\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_SuiCall {\n return {\n transaction: isObject(object.transaction) ? object.transaction : undefined,\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n slot: isSet(object.slot) ? BigInt(object.slot) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: Data_SuiCall): unknown {\n const obj: any = {};\n message.transaction !== undefined && (obj.transaction = message.transaction);\n message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());\n message.slot !== undefined && (obj.slot = message.slot.toString());\n return obj;\n },\n\n create(base?: DeepPartial<Data_SuiCall>): Data_SuiCall {\n return Data_SuiCall.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_SuiCall>): Data_SuiCall {\n const message = createBaseData_SuiCall();\n message.transaction = object.transaction ?? undefined;\n message.timestamp = object.timestamp ?? undefined;\n message.slot = object.slot ?? BigInt(\"0\");\n return message;\n },\n};\n\nfunction createBaseData_SuiObject(): Data_SuiObject {\n return { objects: [], self: undefined, timestamp: undefined, slot: BigInt(\"0\") };\n}\n\nexport const Data_SuiObject = {\n encode(message: Data_SuiObject, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.objects) {\n Struct.encode(Struct.wrap(v!), writer.uint32(10).fork()).ldelim();\n }\n if (message.self !== undefined) {\n Struct.encode(Struct.wrap(message.self), writer.uint32(34).fork()).ldelim();\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(18).fork()).ldelim();\n }\n if (message.slot !== BigInt(\"0\")) {\n writer.uint32(24).uint64(message.slot.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_SuiObject {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_SuiObject();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.objects.push(Struct.unwrap(Struct.decode(reader, reader.uint32())));\n break;\n case 4:\n message.self = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 2:\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n break;\n case 3:\n message.slot = longToBigint(reader.uint64() as Long);\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_SuiObject {\n return {\n objects: Array.isArray(object?.objects) ? [...object.objects] : [],\n self: isObject(object.self) ? object.self : undefined,\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n slot: isSet(object.slot) ? BigInt(object.slot) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: Data_SuiObject): unknown {\n const obj: any = {};\n if (message.objects) {\n obj.objects = message.objects.map((e) => e);\n } else {\n obj.objects = [];\n }\n message.self !== undefined && (obj.self = message.self);\n message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());\n message.slot !== undefined && (obj.slot = message.slot.toString());\n return obj;\n },\n\n create(base?: DeepPartial<Data_SuiObject>): Data_SuiObject {\n return Data_SuiObject.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_SuiObject>): Data_SuiObject {\n const message = createBaseData_SuiObject();\n message.objects = object.objects?.map((e) => e) || [];\n message.self = object.self ?? undefined;\n message.timestamp = object.timestamp ?? undefined;\n message.slot = object.slot ?? BigInt(\"0\");\n return message;\n },\n};\n\nfunction createBaseDataBinding(): DataBinding {\n return { data: undefined, handlerType: 0, handlerIds: [] };\n}\n\nexport const DataBinding = {\n encode(message: DataBinding, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.data !== undefined) {\n Data.encode(message.data, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerType !== 0) {\n writer.uint32(24).int32(message.handlerType);\n }\n writer.uint32(34).fork();\n for (const v of message.handlerIds) {\n writer.int32(v);\n }\n writer.ldelim();\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): DataBinding {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDataBinding();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.data = Data.decode(reader, reader.uint32());\n break;\n case 3:\n message.handlerType = reader.int32() as any;\n break;\n case 4:\n if ((tag & 7) === 2) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.handlerIds.push(reader.int32());\n }\n } else {\n message.handlerIds.push(reader.int32());\n }\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): DataBinding {\n return {\n data: isSet(object.data) ? Data.fromJSON(object.data) : undefined,\n handlerType: isSet(object.handlerType) ? handlerTypeFromJSON(object.handlerType) : 0,\n handlerIds: Array.isArray(object?.handlerIds) ? object.handlerIds.map((e: any) => Number(e)) : [],\n };\n },\n\n toJSON(message: DataBinding): unknown {\n const obj: any = {};\n message.data !== undefined && (obj.data = message.data ? Data.toJSON(message.data) : undefined);\n message.handlerType !== undefined && (obj.handlerType = handlerTypeToJSON(message.handlerType));\n if (message.handlerIds) {\n obj.handlerIds = message.handlerIds.map((e) => Math.round(e));\n } else {\n obj.handlerIds = [];\n }\n return obj;\n },\n\n create(base?: DeepPartial<DataBinding>): DataBinding {\n return DataBinding.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<DataBinding>): DataBinding {\n const message = createBaseDataBinding();\n message.data = (object.data !== undefined && object.data !== null) ? Data.fromPartial(object.data) : undefined;\n message.handlerType = object.handlerType ?? 0;\n message.handlerIds = object.handlerIds?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseStateResult(): StateResult {\n return { configUpdated: false };\n}\n\nexport const StateResult = {\n encode(message: StateResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.configUpdated === true) {\n writer.uint32(8).bool(message.configUpdated);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): StateResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseStateResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.configUpdated = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): StateResult {\n return { configUpdated: isSet(object.configUpdated) ? Boolean(object.configUpdated) : false };\n },\n\n toJSON(message: StateResult): unknown {\n const obj: any = {};\n message.configUpdated !== undefined && (obj.configUpdated = message.configUpdated);\n return obj;\n },\n\n create(base?: DeepPartial<StateResult>): StateResult {\n return StateResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<StateResult>): StateResult {\n const message = createBaseStateResult();\n message.configUpdated = object.configUpdated ?? false;\n return message;\n },\n};\n\nfunction createBaseProcessResult(): ProcessResult {\n return { gauges: [], counters: [], logs: [], events: [], exports: [], states: undefined };\n}\n\nexport const ProcessResult = {\n encode(message: ProcessResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.gauges) {\n GaugeResult.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n for (const v of message.counters) {\n CounterResult.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n for (const v of message.logs) {\n LogResult.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n for (const v of message.events) {\n EventTrackingResult.encode(v!, writer.uint32(34).fork()).ldelim();\n }\n for (const v of message.exports) {\n ExportResult.encode(v!, writer.uint32(42).fork()).ldelim();\n }\n if (message.states !== undefined) {\n StateResult.encode(message.states, writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProcessResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.gauges.push(GaugeResult.decode(reader, reader.uint32()));\n break;\n case 2:\n message.counters.push(CounterResult.decode(reader, reader.uint32()));\n break;\n case 3:\n message.logs.push(LogResult.decode(reader, reader.uint32()));\n break;\n case 4:\n message.events.push(EventTrackingResult.decode(reader, reader.uint32()));\n break;\n case 5:\n message.exports.push(ExportResult.decode(reader, reader.uint32()));\n break;\n case 6:\n message.states = StateResult.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessResult {\n return {\n gauges: Array.isArray(object?.gauges) ? object.gauges.map((e: any) => GaugeResult.fromJSON(e)) : [],\n counters: Array.isArray(object?.counters) ? object.counters.map((e: any) => CounterResult.fromJSON(e)) : [],\n logs: Array.isArray(object?.logs) ? object.logs.map((e: any) => LogResult.fromJSON(e)) : [],\n events: Array.isArray(object?.events) ? object.events.map((e: any) => EventTrackingResult.fromJSON(e)) : [],\n exports: Array.isArray(object?.exports) ? object.exports.map((e: any) => ExportResult.fromJSON(e)) : [],\n states: isSet(object.states) ? StateResult.fromJSON(object.states) : undefined,\n };\n },\n\n toJSON(message: ProcessResult): unknown {\n const obj: any = {};\n if (message.gauges) {\n obj.gauges = message.gauges.map((e) => e ? GaugeResult.toJSON(e) : undefined);\n } else {\n obj.gauges = [];\n }\n if (message.counters) {\n obj.counters = message.counters.map((e) => e ? CounterResult.toJSON(e) : undefined);\n } else {\n obj.counters = [];\n }\n if (message.logs) {\n obj.logs = message.logs.map((e) => e ? LogResult.toJSON(e) : undefined);\n } else {\n obj.logs = [];\n }\n if (message.events) {\n obj.events = message.events.map((e) => e ? EventTrackingResult.toJSON(e) : undefined);\n } else {\n obj.events = [];\n }\n if (message.exports) {\n obj.exports = message.exports.map((e) => e ? ExportResult.toJSON(e) : undefined);\n } else {\n obj.exports = [];\n }\n message.states !== undefined && (obj.states = message.states ? StateResult.toJSON(message.states) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<ProcessResult>): ProcessResult {\n return ProcessResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ProcessResult>): ProcessResult {\n const message = createBaseProcessResult();\n message.gauges = object.gauges?.map((e) => GaugeResult.fromPartial(e)) || [];\n message.counters = object.counters?.map((e) => CounterResult.fromPartial(e)) || [];\n message.logs = object.logs?.map((e) => LogResult.fromPartial(e)) || [];\n message.events = object.events?.map((e) => EventTrackingResult.fromPartial(e)) || [];\n message.exports = object.exports?.map((e) => ExportResult.fromPartial(e)) || [];\n message.states = (object.states !== undefined && object.states !== null)\n ? StateResult.fromPartial(object.states)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseRecordMetaData(): RecordMetaData {\n return {\n address: \"\",\n contractName: \"\",\n blockNumber: BigInt(\"0\"),\n transactionHash: \"\",\n chainId: \"\",\n transactionIndex: 0,\n logIndex: 0,\n name: \"\",\n labels: {},\n };\n}\n\nexport const RecordMetaData = {\n encode(message: RecordMetaData, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n if (message.contractName !== \"\") {\n writer.uint32(74).string(message.contractName);\n }\n if (message.blockNumber !== BigInt(\"0\")) {\n writer.uint32(16).uint64(message.blockNumber.toString());\n }\n if (message.transactionHash !== \"\") {\n writer.uint32(50).string(message.transactionHash);\n }\n if (message.chainId !== \"\") {\n writer.uint32(42).string(message.chainId);\n }\n if (message.transactionIndex !== 0) {\n writer.uint32(24).int32(message.transactionIndex);\n }\n if (message.logIndex !== 0) {\n writer.uint32(32).int32(message.logIndex);\n }\n if (message.name !== \"\") {\n writer.uint32(82).string(message.name);\n }\n Object.entries(message.labels).forEach(([key, value]) => {\n RecordMetaData_LabelsEntry.encode({ key: key as any, value }, writer.uint32(58).fork()).ldelim();\n });\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RecordMetaData {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRecordMetaData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.address = reader.string();\n break;\n case 9:\n message.contractName = reader.string();\n break;\n case 2:\n message.blockNumber = longToBigint(reader.uint64() as Long);\n break;\n case 6:\n message.transactionHash = reader.string();\n break;\n case 5:\n message.chainId = reader.string();\n break;\n case 3:\n message.transactionIndex = reader.int32();\n break;\n case 4:\n message.logIndex = reader.int32();\n break;\n case 10:\n message.name = reader.string();\n break;\n case 7:\n const entry7 = RecordMetaData_LabelsEntry.decode(reader, reader.uint32());\n if (entry7.value !== undefined) {\n message.labels[entry7.key] = entry7.value;\n }\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RecordMetaData {\n return {\n address: isSet(object.address) ? String(object.address) : \"\",\n contractName: isSet(object.contractName) ? String(object.contractName) : \"\",\n blockNumber: isSet(object.blockNumber) ? BigInt(object.blockNumber) : BigInt(\"0\"),\n transactionHash: isSet(object.transactionHash) ? String(object.transactionHash) : \"\",\n chainId: isSet(object.chainId) ? String(object.chainId) : \"\",\n transactionIndex: isSet(object.transactionIndex) ? Number(object.transactionIndex) : 0,\n logIndex: isSet(object.logIndex) ? Number(object.logIndex) : 0,\n name: isSet(object.name) ? String(object.name) : \"\",\n labels: isObject(object.labels)\n ? Object.entries(object.labels).reduce<{ [key: string]: string }>((acc, [key, value]) => {\n acc[key] = String(value);\n return acc;\n }, {})\n : {},\n };\n },\n\n toJSON(message: RecordMetaData): unknown {\n const obj: any = {};\n message.address !== undefined && (obj.address = message.address);\n message.contractName !== undefined && (obj.contractName = message.contractName);\n message.blockNumber !== undefined && (obj.blockNumber = message.blockNumber.toString());\n message.transactionHash !== undefined && (obj.transactionHash = message.transactionHash);\n message.chainId !== undefined && (obj.chainId = message.chainId);\n message.transactionIndex !== undefined && (obj.transactionIndex = Math.round(message.transactionIndex));\n message.logIndex !== undefined && (obj.logIndex = Math.round(message.logIndex));\n message.name !== undefined && (obj.name = message.name);\n obj.labels = {};\n if (message.labels) {\n Object.entries(message.labels).forEach(([k, v]) => {\n obj.labels[k] = v;\n });\n }\n return obj;\n },\n\n create(base?: DeepPartial<RecordMetaData>): RecordMetaData {\n return RecordMetaData.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<RecordMetaData>): RecordMetaData {\n const message = createBaseRecordMetaData();\n message.address = object.address ?? \"\";\n message.contractName = object.contractName ?? \"\";\n message.blockNumber = object.blockNumber ?? BigInt(\"0\");\n message.transactionHash = object.transactionHash ?? \"\";\n message.chainId = object.chainId ?? \"\";\n message.transactionIndex = object.transactionIndex ?? 0;\n message.logIndex = object.logIndex ?? 0;\n message.name = object.name ?? \"\";\n message.labels = Object.entries(object.labels ?? {}).reduce<{ [key: string]: string }>((acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = String(value);\n }\n return acc;\n }, {});\n return message;\n },\n};\n\nfunction createBaseRecordMetaData_LabelsEntry(): RecordMetaData_LabelsEntry {\n return { key: \"\", value: \"\" };\n}\n\nexport const RecordMetaData_LabelsEntry = {\n encode(message: RecordMetaData_LabelsEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== \"\") {\n writer.uint32(18).string(message.value);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RecordMetaData_LabelsEntry {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRecordMetaData_LabelsEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.key = reader.string();\n break;\n case 2:\n message.value = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RecordMetaData_LabelsEntry {\n return { key: isSet(object.key) ? String(object.key) : \"\", value: isSet(object.value) ? String(object.value) : \"\" };\n },\n\n toJSON(message: RecordMetaData_LabelsEntry): unknown {\n const obj: any = {};\n message.key !== undefined && (obj.key = message.key);\n message.value !== undefined && (obj.value = message.value);\n return obj;\n },\n\n create(base?: DeepPartial<RecordMetaData_LabelsEntry>): RecordMetaData_LabelsEntry {\n return RecordMetaData_LabelsEntry.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<RecordMetaData_LabelsEntry>): RecordMetaData_LabelsEntry {\n const message = createBaseRecordMetaData_LabelsEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMetricValue(): MetricValue {\n return { bigDecimal: undefined, doubleValue: undefined, bigInteger: undefined };\n}\n\nexport const MetricValue = {\n encode(message: MetricValue, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.bigDecimal !== undefined) {\n writer.uint32(10).string(message.bigDecimal);\n }\n if (message.doubleValue !== undefined) {\n writer.uint32(17).double(message.doubleValue);\n }\n if (message.bigInteger !== undefined) {\n BigInteger.encode(message.bigInteger, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MetricValue {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMetricValue();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.bigDecimal = reader.string();\n break;\n case 2:\n message.doubleValue = reader.double();\n break;\n case 3:\n message.bigInteger = BigInteger.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MetricValue {\n return {\n bigDecimal: isSet(object.bigDecimal) ? String(object.bigDecimal) : undefined,\n doubleValue: isSet(object.doubleValue) ? Number(object.doubleValue) : undefined,\n bigInteger: isSet(object.bigInteger) ? BigInteger.fromJSON(object.bigInteger) : undefined,\n };\n },\n\n toJSON(message: MetricValue): unknown {\n const obj: any = {};\n message.bigDecimal !== undefined && (obj.bigDecimal = message.bigDecimal);\n message.doubleValue !== undefined && (obj.doubleValue = message.doubleValue);\n message.bigInteger !== undefined &&\n (obj.bigInteger = message.bigInteger ? BigInteger.toJSON(message.bigInteger) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<MetricValue>): MetricValue {\n return MetricValue.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MetricValue>): MetricValue {\n const message = createBaseMetricValue();\n message.bigDecimal = object.bigDecimal ?? undefined;\n message.doubleValue = object.doubleValue ?? undefined;\n message.bigInteger = (object.bigInteger !== undefined && object.bigInteger !== null)\n ? BigInteger.fromPartial(object.bigInteger)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseBigInteger(): BigInteger {\n return { negative: false, data: new Uint8Array() };\n}\n\nexport const BigInteger = {\n encode(message: BigInteger, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.negative === true) {\n writer.uint32(8).bool(message.negative);\n }\n if (message.data.length !== 0) {\n writer.uint32(18).bytes(message.data);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): BigInteger {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBigInteger();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.negative = reader.bool();\n break;\n case 2:\n message.data = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): BigInteger {\n return {\n negative: isSet(object.negative) ? Boolean(object.negative) : false,\n data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(),\n };\n },\n\n toJSON(message: BigInteger): unknown {\n const obj: any = {};\n message.negative !== undefined && (obj.negative = message.negative);\n message.data !== undefined &&\n (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array()));\n return obj;\n },\n\n create(base?: DeepPartial<BigInteger>): BigInteger {\n return BigInteger.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<BigInteger>): BigInteger {\n const message = createBaseBigInteger();\n message.negative = object.negative ?? false;\n message.data = object.data ?? new Uint8Array();\n return message;\n },\n};\n\nfunction createBaseRuntimeInfo(): RuntimeInfo {\n return { from: 0 };\n}\n\nexport const RuntimeInfo = {\n encode(message: RuntimeInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.from !== 0) {\n writer.uint32(8).int32(message.from);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RuntimeInfo {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRuntimeInfo();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.from = reader.int32() as any;\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RuntimeInfo {\n return { from: isSet(object.from) ? handlerTypeFromJSON(object.from) : 0 };\n },\n\n toJSON(message: RuntimeInfo): unknown {\n const obj: any = {};\n message.from !== undefined && (obj.from = handlerTypeToJSON(message.from));\n return obj;\n },\n\n create(base?: DeepPartial<RuntimeInfo>): RuntimeInfo {\n return RuntimeInfo.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<RuntimeInfo>): RuntimeInfo {\n const message = createBaseRuntimeInfo();\n message.from = object.from ?? 0;\n return message;\n },\n};\n\nfunction createBaseGaugeResult(): GaugeResult {\n return { metadata: undefined, metricValue: undefined, runtimeInfo: undefined };\n}\n\nexport const GaugeResult = {\n encode(message: GaugeResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(message.metadata, writer.uint32(10).fork()).ldelim();\n }\n if (message.metricValue !== undefined) {\n MetricValue.encode(message.metricValue, writer.uint32(18).fork()).ldelim();\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(message.runtimeInfo, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): GaugeResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGaugeResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.metricValue = MetricValue.decode(reader, reader.uint32());\n break;\n case 3:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): GaugeResult {\n return {\n metadata: isSet(object.metadata) ? RecordMetaData.fromJSON(object.metadata) : undefined,\n metricValue: isSet(object.metricValue) ? MetricValue.fromJSON(object.metricValue) : undefined,\n runtimeInfo: isSet(object.runtimeInfo) ? RuntimeInfo.fromJSON(object.runtimeInfo) : undefined,\n };\n },\n\n toJSON(message: GaugeResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata ? RecordMetaData.toJSON(message.metadata) : undefined);\n message.metricValue !== undefined &&\n (obj.metricValue = message.metricValue ? MetricValue.toJSON(message.metricValue) : undefined);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo ? RuntimeInfo.toJSON(message.runtimeInfo) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<GaugeResult>): GaugeResult {\n return GaugeResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<GaugeResult>): GaugeResult {\n const message = createBaseGaugeResult();\n message.metadata = (object.metadata !== undefined && object.metadata !== null)\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.metricValue = (object.metricValue !== undefined && object.metricValue !== null)\n ? MetricValue.fromPartial(object.metricValue)\n : undefined;\n message.runtimeInfo = (object.runtimeInfo !== undefined && object.runtimeInfo !== null)\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseCounterResult(): CounterResult {\n return { metadata: undefined, metricValue: undefined, add: false, runtimeInfo: undefined };\n}\n\nexport const CounterResult = {\n encode(message: CounterResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(message.metadata, writer.uint32(10).fork()).ldelim();\n }\n if (message.metricValue !== undefined) {\n MetricValue.encode(message.metricValue, writer.uint32(18).fork()).ldelim();\n }\n if (message.add === true) {\n writer.uint32(24).bool(message.add);\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(message.runtimeInfo, writer.uint32(34).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): CounterResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCounterResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.metricValue = MetricValue.decode(reader, reader.uint32());\n break;\n case 3:\n message.add = reader.bool();\n break;\n case 4:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): CounterResult {\n return {\n metadata: isSet(object.metadata) ? RecordMetaData.fromJSON(object.metadata) : undefined,\n metricValue: isSet(object.metricValue) ? MetricValue.fromJSON(object.metricValue) : undefined,\n add: isSet(object.add) ? Boolean(object.add) : false,\n runtimeInfo: isSet(object.runtimeInfo) ? RuntimeInfo.fromJSON(object.runtimeInfo) : undefined,\n };\n },\n\n toJSON(message: CounterResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata ? RecordMetaData.toJSON(message.metadata) : undefined);\n message.metricValue !== undefined &&\n (obj.metricValue = message.metricValue ? MetricValue.toJSON(message.metricValue) : undefined);\n message.add !== undefined && (obj.add = message.add);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo ? RuntimeInfo.toJSON(message.runtimeInfo) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<CounterResult>): CounterResult {\n return CounterResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<CounterResult>): CounterResult {\n const message = createBaseCounterResult();\n message.metadata = (object.metadata !== undefined && object.metadata !== null)\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.metricValue = (object.metricValue !== undefined && object.metricValue !== null)\n ? MetricValue.fromPartial(object.metricValue)\n : undefined;\n message.add = object.add ?? false;\n message.runtimeInfo = (object.runtimeInfo !== undefined && object.runtimeInfo !== null)\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseLogResult(): LogResult {\n return { metadata: undefined, level: 0, message: \"\", attributes: \"\", attributes2: undefined, runtimeInfo: undefined };\n}\n\nexport const LogResult = {\n encode(message: LogResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(message.metadata, writer.uint32(10).fork()).ldelim();\n }\n if (message.level !== 0) {\n writer.uint32(16).int32(message.level);\n }\n if (message.message !== \"\") {\n writer.uint32(26).string(message.message);\n }\n if (message.attributes !== \"\") {\n writer.uint32(50).string(message.attributes);\n }\n if (message.attributes2 !== undefined) {\n Struct.encode(Struct.wrap(message.attributes2), writer.uint32(58).fork()).ldelim();\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(message.runtimeInfo, writer.uint32(34).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LogResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLogResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.level = reader.int32() as any;\n break;\n case 3:\n message.message = reader.string();\n break;\n case 6:\n message.attributes = reader.string();\n break;\n case 7:\n message.attributes2 = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 4:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): LogResult {\n return {\n metadata: isSet(object.metadata) ? RecordMetaData.fromJSON(object.metadata) : undefined,\n level: isSet(object.level) ? logLevelFromJSON(object.level) : 0,\n message: isSet(object.message) ? String(object.message) : \"\",\n attributes: isSet(object.attributes) ? String(object.attributes) : \"\",\n attributes2: isObject(object.attributes2) ? object.attributes2 : undefined,\n runtimeInfo: isSet(object.runtimeInfo) ? RuntimeInfo.fromJSON(object.runtimeInfo) : undefined,\n };\n },\n\n toJSON(message: LogResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata ? RecordMetaData.toJSON(message.metadata) : undefined);\n message.level !== undefined && (obj.level = logLevelToJSON(message.level));\n message.message !== undefined && (obj.message = message.message);\n message.attributes !== undefined && (obj.attributes = message.attributes);\n message.attributes2 !== undefined && (obj.attributes2 = message.attributes2);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo ? RuntimeInfo.toJSON(message.runtimeInfo) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<LogResult>): LogResult {\n return LogResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LogResult>): LogResult {\n const message = createBaseLogResult();\n message.metadata = (object.metadata !== undefined && object.metadata !== null)\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.level = object.level ?? 0;\n message.message = object.message ?? \"\";\n message.attributes = object.attributes ?? \"\";\n message.attributes2 = object.attributes2 ?? undefined;\n message.runtimeInfo = (object.runtimeInfo !== undefined && object.runtimeInfo !== null)\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseEventTrackingResult(): EventTrackingResult {\n return {\n metadata: undefined,\n distinctEntityId: \"\",\n attributes: undefined,\n severity: 0,\n message: \"\",\n runtimeInfo: undefined,\n noMetric: false,\n };\n}\n\nexport const EventTrackingResult = {\n encode(message: EventTrackingResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(message.metadata, writer.uint32(10).fork()).ldelim();\n }\n if (message.distinctEntityId !== \"\") {\n writer.uint32(18).string(message.distinctEntityId);\n }\n if (message.attributes !== undefined) {\n Struct.encode(Struct.wrap(message.attributes), writer.uint32(50).fork()).ldelim();\n }\n if (message.severity !== 0) {\n writer.uint32(56).int32(message.severity);\n }\n if (message.message !== \"\") {\n writer.uint32(66).string(message.message);\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(message.runtimeInfo, writer.uint32(42).fork()).ldelim();\n }\n if (message.noMetric === true) {\n writer.uint32(24).bool(message.noMetric);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): EventTrackingResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseEventTrackingResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.distinctEntityId = reader.string();\n break;\n case 6:\n message.attributes = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 7:\n message.severity = reader.int32() as any;\n break;\n case 8:\n message.message = reader.string();\n break;\n case 5:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n case 3:\n message.noMetric = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): EventTrackingResult {\n return {\n metadata: isSet(object.metadata) ? RecordMetaData.fromJSON(object.metadata) : undefined,\n distinctEntityId: isSet(object.distinctEntityId) ? String(object.distinctEntityId) : \"\",\n attributes: isObject(object.attributes) ? object.attributes : undefined,\n severity: isSet(object.severity) ? logLevelFromJSON(object.severity) : 0,\n message: isSet(object.message) ? String(object.message) : \"\",\n runtimeInfo: isSet(object.runtimeInfo) ? RuntimeInfo.fromJSON(object.runtimeInfo) : undefined,\n noMetric: isSet(object.noMetric) ? Boolean(object.noMetric) : false,\n };\n },\n\n toJSON(message: EventTrackingResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata ? RecordMetaData.toJSON(message.metadata) : undefined);\n message.distinctEntityId !== undefined && (obj.distinctEntityId = message.distinctEntityId);\n message.attributes !== undefined && (obj.attributes = message.attributes);\n message.severity !== undefined && (obj.severity = logLevelToJSON(message.severity));\n message.message !== undefined && (obj.message = message.message);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo ? RuntimeInfo.toJSON(message.runtimeInfo) : undefined);\n message.noMetric !== undefined && (obj.noMetric = message.noMetric);\n return obj;\n },\n\n create(base?: DeepPartial<EventTrackingResult>): EventTrackingResult {\n return EventTrackingResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<EventTrackingResult>): EventTrackingResult {\n const message = createBaseEventTrackingResult();\n message.metadata = (object.metadata !== undefined && object.metadata !== null)\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.distinctEntityId = object.distinctEntityId ?? \"\";\n message.attributes = object.attributes ?? undefined;\n message.severity = object.severity ?? 0;\n message.message = object.message ?? \"\";\n message.runtimeInfo = (object.runtimeInfo !== undefined && object.runtimeInfo !== null)\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n message.noMetric = object.noMetric ?? false;\n return message;\n },\n};\n\nfunction createBaseExportResult(): ExportResult {\n return { metadata: undefined, payload: \"\", runtimeInfo: undefined };\n}\n\nexport const ExportResult = {\n encode(message: ExportResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(message.metadata, writer.uint32(10).fork()).ldelim();\n }\n if (message.payload !== \"\") {\n writer.uint32(18).string(message.payload);\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(message.runtimeInfo, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ExportResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseExportResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.payload = reader.string();\n break;\n case 3:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ExportResult {\n return {\n metadata: isSet(object.metadata) ? RecordMetaData.fromJSON(object.metadata) : undefined,\n payload: isSet(object.payload) ? String(object.payload) : \"\",\n runtimeInfo: isSet(object.runtimeInfo) ? RuntimeInfo.fromJSON(object.runtimeInfo) : undefined,\n };\n },\n\n toJSON(message: ExportResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata ? RecordMetaData.toJSON(message.metadata) : undefined);\n message.payload !== undefined && (obj.payload = message.payload);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo ? RuntimeInfo.toJSON(message.runtimeInfo) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<ExportResult>): ExportResult {\n return ExportResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ExportResult>): ExportResult {\n const message = createBaseExportResult();\n message.metadata = (object.metadata !== undefined && object.metadata !== null)\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.payload = object.payload ?? \"\";\n message.runtimeInfo = (object.runtimeInfo !== undefined && object.runtimeInfo !== null)\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nexport type ProcessorDefinition = typeof ProcessorDefinition;\nexport const ProcessorDefinition = {\n name: \"Processor\",\n fullName: \"processor.Processor\",\n methods: {\n start: {\n name: \"Start\",\n requestType: StartRequest,\n requestStream: false,\n responseType: Empty,\n responseStream: false,\n options: {},\n },\n stop: {\n name: \"Stop\",\n requestType: Empty,\n requestStream: false,\n responseType: Empty,\n responseStream: false,\n options: {},\n },\n getConfig: {\n name: \"GetConfig\",\n requestType: ProcessConfigRequest,\n requestStream: false,\n responseType: ProcessConfigResponse,\n responseStream: false,\n options: {},\n },\n processBindings: {\n name: \"ProcessBindings\",\n requestType: ProcessBindingsRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n processBindingsStream: {\n name: \"ProcessBindingsStream\",\n requestType: DataBinding,\n requestStream: true,\n responseType: ProcessBindingResponse,\n responseStream: true,\n options: {},\n },\n },\n} as const;\n\nexport interface ProcessorServiceImplementation<CallContextExt = {}> {\n start(request: StartRequest, context: CallContext & CallContextExt): Promise<DeepPartial<Empty>>;\n stop(request: Empty, context: CallContext & CallContextExt): Promise<DeepPartial<Empty>>;\n getConfig(\n request: ProcessConfigRequest,\n context: CallContext & CallContextExt,\n ): Promise<DeepPartial<ProcessConfigResponse>>;\n processBindings(\n request: ProcessBindingsRequest,\n context: CallContext & CallContextExt,\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n processBindingsStream(\n request: AsyncIterable<DataBinding>,\n context: CallContext & CallContextExt,\n ): ServerStreamingMethodResult<DeepPartial<ProcessBindingResponse>>;\n}\n\nexport interface ProcessorClient<CallOptionsExt = {}> {\n start(request: DeepPartial<StartRequest>, options?: CallOptions & CallOptionsExt): Promise<Empty>;\n stop(request: DeepPartial<Empty>, options?: CallOptions & CallOptionsExt): Promise<Empty>;\n getConfig(\n request: DeepPartial<ProcessConfigRequest>,\n options?: CallOptions & CallOptionsExt,\n ): Promise<ProcessConfigResponse>;\n processBindings(\n request: DeepPartial<ProcessBindingsRequest>,\n options?: CallOptions & CallOptionsExt,\n ): Promise<ProcessBindingResponse>;\n processBindingsStream(\n request: AsyncIterable<DeepPartial<DataBinding>>,\n options?: CallOptions & CallOptionsExt,\n ): AsyncIterable<ProcessBindingResponse>;\n}\n\ndeclare var self: any | undefined;\ndeclare var window: any | undefined;\ndeclare var global: any | undefined;\nvar tsProtoGlobalThis: any = (() => {\n if (typeof globalThis !== \"undefined\") {\n return globalThis;\n }\n if (typeof self !== \"undefined\") {\n return self;\n }\n if (typeof window !== \"undefined\") {\n return window;\n }\n if (typeof global !== \"undefined\") {\n return global;\n }\n throw \"Unable to locate global object\";\n})();\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if (tsProtoGlobalThis.Buffer) {\n return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = tsProtoGlobalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction base64FromBytes(arr: Uint8Array): string {\n if (tsProtoGlobalThis.Buffer) {\n return tsProtoGlobalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(String.fromCharCode(byte));\n });\n return tsProtoGlobalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = Number(t.seconds.toString()) * 1_000;\n millis += t.nanos / 1_000_000;\n return new Date(millis);\n}\n\nfunction fromJsonTimestamp(o: any): Date {\n if (o instanceof Date) {\n return o;\n } else if (typeof o === \"string\") {\n return new Date(o);\n } else {\n return fromTimestamp(Timestamp.fromJSON(o));\n }\n}\n\nfunction longToBigint(long: Long) {\n return BigInt(long.toString());\n}\n\nif (_m0.util.Long !== Long) {\n _m0.util.Long = Long as any;\n _m0.configure();\n}\n\nfunction isObject(value: any): boolean {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\nexport type ServerStreamingMethodResult<Response> = { [Symbol.asyncIterator](): AsyncIterator<Response, void> };\n"]}
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../../src/gen/processor/protos/processor.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,GAAG,MAAM,uBAAuB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,2DAAgB,CAAA;IAChB,iDAAW,CAAA;IACX,6CAAS,CAAA;IACT,qDAAa,CAAA;IACb,4DAAiB,CAAA;AACnB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAW;IAC5C,QAAQ,MAAM,EAAE;QACd,KAAK,CAAC,CAAC;QACP,KAAK,cAAc;YACjB,OAAO,UAAU,CAAC,YAAY,CAAC;QACjC,KAAK,CAAC,CAAC;QACP,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,CAAC;QACP,KAAK,OAAO;YACV,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,KAAK,CAAC,CAAC;QACP,KAAK,WAAW;YACd,OAAO,UAAU,CAAC,SAAS,CAAC;QAC9B,KAAK,CAAC,CAAC,CAAC;QACR,KAAK,cAAc,CAAC;QACpB;YACE,OAAO,UAAU,CAAC,YAAY,CAAC;KAClC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,QAAQ,MAAM,EAAE;QACd,KAAK,UAAU,CAAC,YAAY;YAC1B,OAAO,cAAc,CAAC;QACxB,KAAK,UAAU,CAAC,OAAO;YACrB,OAAO,SAAS,CAAC;QACnB,KAAK,UAAU,CAAC,KAAK;YACnB,OAAO,OAAO,CAAC;QACjB,KAAK,UAAU,CAAC,SAAS;YACvB,OAAO,WAAW,CAAC;QACrB,KAAK,UAAU,CAAC,YAAY,CAAC;QAC7B;YACE,OAAO,cAAc,CAAC;KACzB;AACH,CAAC;AAED,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,uDAAS,CAAA;IACT,mDAAO,CAAA;IACP,sEAAiB,CAAA;AACnB,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAW;IACjD,QAAQ,MAAM,EAAE;QACd,KAAK,CAAC,CAAC;QACP,KAAK,OAAO;YACV,OAAO,eAAe,CAAC,KAAK,CAAC;QAC/B,KAAK,CAAC,CAAC;QACP,KAAK,KAAK;YACR,OAAO,eAAe,CAAC,GAAG,CAAC;QAC7B,KAAK,CAAC,CAAC,CAAC;QACR,KAAK,cAAc,CAAC;QACpB;YACE,OAAO,eAAe,CAAC,YAAY,CAAC;KACvC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAuB;IAC3D,QAAQ,MAAM,EAAE;QACd,KAAK,eAAe,CAAC,KAAK;YACxB,OAAO,OAAO,CAAC;QACjB,KAAK,eAAe,CAAC,GAAG;YACtB,OAAO,KAAK,CAAC;QACf,KAAK,eAAe,CAAC,YAAY,CAAC;QAClC;YACE,OAAO,cAAc,CAAC;KACzB;AACH,CAAC;AAED,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,uDAAW,CAAA;IACX,qDAAU,CAAA;IACV,qEAAkB,CAAA;IAClB,kEAAiB,CAAA;AACnB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAW;IAC/C,QAAQ,MAAM,EAAE;QACd,KAAK,CAAC,CAAC;QACP,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC,OAAO,CAAC;QAC/B,KAAK,CAAC,CAAC;QACP,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC,MAAM,CAAC;QAC9B,KAAK,CAAC,CAAC;QACP,KAAK,gBAAgB;YACnB,OAAO,aAAa,CAAC,cAAc,CAAC;QACtC,KAAK,CAAC,CAAC,CAAC;QACR,KAAK,cAAc,CAAC;QACpB;YACE,OAAO,aAAa,CAAC,YAAY,CAAC;KACrC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,QAAQ,MAAM,EAAE;QACd,KAAK,aAAa,CAAC,OAAO;YACxB,OAAO,SAAS,CAAC;QACnB,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,QAAQ,CAAC;QAClB,KAAK,aAAa,CAAC,cAAc;YAC/B,OAAO,gBAAgB,CAAC;QAC1B,KAAK,aAAa,CAAC,YAAY,CAAC;QAChC;YACE,OAAO,cAAc,CAAC;KACzB;AACH,CAAC;AAED,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,+CAAS,CAAA;IACT,iDAAU,CAAA;IACV,mDAAW,CAAA;IACX,8DAAiB,CAAA;AACnB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAW;IAC7C,QAAQ,MAAM,EAAE;QACd,KAAK,CAAC,CAAC;QACP,KAAK,OAAO;YACV,OAAO,WAAW,CAAC,KAAK,CAAC;QAC3B,KAAK,CAAC,CAAC;QACP,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,MAAM,CAAC;QAC5B,KAAK,CAAC,CAAC;QACP,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B,KAAK,CAAC,CAAC,CAAC;QACR,KAAK,cAAc,CAAC;QACpB;YACE,OAAO,WAAW,CAAC,YAAY,CAAC;KACnC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,QAAQ,MAAM,EAAE;QACd,KAAK,WAAW,CAAC,KAAK;YACpB,OAAO,OAAO,CAAC;QACjB,KAAK,WAAW,CAAC,MAAM;YACrB,OAAO,QAAQ,CAAC;QAClB,KAAK,WAAW,CAAC,OAAO;YACtB,OAAO,SAAS,CAAC;QACnB,KAAK,WAAW,CAAC,YAAY,CAAC;QAC9B;YACE,OAAO,cAAc,CAAC;KACzB;AACH,CAAC;AAED,MAAM,CAAN,IAAY,WAcX;AAdD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,mDAAW,CAAA;IACX,uDAAa,CAAA;IACb,uDAAa,CAAA;IACb,oEAAoB,CAAA;IACpB,mEAAmB,CAAA;IACnB,uDAAa,CAAA;IACb,qDAAY,CAAA;IACZ,6DAAgB,CAAA;IAChB,uDAAa,CAAA;IACb,qDAAY,CAAA;IACZ,0DAAe,CAAA;IACf,8DAAiB,CAAA;AACnB,CAAC,EAdW,WAAW,KAAX,WAAW,QActB;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAW;IAC7C,QAAQ,MAAM,EAAE;QACd,KAAK,CAAC,CAAC;QACP,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B,KAAK,CAAC,CAAC;QACP,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B,KAAK,CAAC,CAAC;QACP,KAAK,WAAW;YACd,OAAO,WAAW,CAAC,SAAS,CAAC;QAC/B,KAAK,CAAC,CAAC;QACP,KAAK,WAAW;YACd,OAAO,WAAW,CAAC,SAAS,CAAC;QAC/B,KAAK,EAAE,CAAC;QACR,KAAK,iBAAiB;YACpB,OAAO,WAAW,CAAC,eAAe,CAAC;QACrC,KAAK,CAAC,CAAC;QACP,KAAK,iBAAiB;YACpB,OAAO,WAAW,CAAC,eAAe,CAAC;QACrC,KAAK,CAAC,CAAC;QACP,KAAK,WAAW;YACd,OAAO,WAAW,CAAC,SAAS,CAAC;QAC/B,KAAK,CAAC,CAAC;QACP,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,QAAQ,CAAC;QAC9B,KAAK,CAAC,CAAC;QACP,KAAK,cAAc;YACjB,OAAO,WAAW,CAAC,YAAY,CAAC;QAClC,KAAK,CAAC,CAAC;QACP,KAAK,WAAW;YACd,OAAO,WAAW,CAAC,SAAS,CAAC;QAC/B,KAAK,CAAC,CAAC;QACP,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,QAAQ,CAAC;QAC9B,KAAK,EAAE,CAAC;QACR,KAAK,YAAY;YACf,OAAO,WAAW,CAAC,UAAU,CAAC;QAChC,KAAK,CAAC,CAAC,CAAC;QACR,KAAK,cAAc,CAAC;QACpB;YACE,OAAO,WAAW,CAAC,YAAY,CAAC;KACnC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,QAAQ,MAAM,EAAE;QACd,KAAK,WAAW,CAAC,OAAO;YACtB,OAAO,SAAS,CAAC;QACnB,KAAK,WAAW,CAAC,OAAO;YACtB,OAAO,SAAS,CAAC;QACnB,KAAK,WAAW,CAAC,SAAS;YACxB,OAAO,WAAW,CAAC;QACrB,KAAK,WAAW,CAAC,SAAS;YACxB,OAAO,WAAW,CAAC;QACrB,KAAK,WAAW,CAAC,eAAe;YAC9B,OAAO,iBAAiB,CAAC;QAC3B,KAAK,WAAW,CAAC,eAAe;YAC9B,OAAO,iBAAiB,CAAC;QAC3B,KAAK,WAAW,CAAC,SAAS;YACxB,OAAO,WAAW,CAAC;QACrB,KAAK,WAAW,CAAC,QAAQ;YACvB,OAAO,UAAU,CAAC;QACpB,KAAK,WAAW,CAAC,YAAY;YAC3B,OAAO,cAAc,CAAC;QACxB,KAAK,WAAW,CAAC,SAAS;YACxB,OAAO,WAAW,CAAC;QACrB,KAAK,WAAW,CAAC,QAAQ;YACvB,OAAO,UAAU,CAAC;QACpB,KAAK,WAAW,CAAC,UAAU;YACzB,OAAO,YAAY,CAAC;QACtB,KAAK,WAAW,CAAC,YAAY,CAAC;QAC9B;YACE,OAAO,cAAc,CAAC;KACzB;AACH,CAAC;AAED,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,6CAAW,CAAA;IACX,yCAAS,CAAA;IACT,+CAAY,CAAA;IACZ,wDAAiB,CAAA;AACnB,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAW;IAC1C,QAAQ,MAAM,EAAE;QACd,KAAK,CAAC,CAAC;QACP,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,KAAK,CAAC;QACxB,KAAK,CAAC,CAAC;QACP,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,KAAK,CAAC,CAAC;QACP,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,KAAK,CAAC,CAAC;QACP,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,KAAK,CAAC;QACxB,KAAK,CAAC,CAAC;QACP,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAC3B,KAAK,CAAC,CAAC,CAAC;QACR,KAAK,cAAc,CAAC;QACpB;YACE,OAAO,QAAQ,CAAC,YAAY,CAAC;KAChC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAgB;IAC7C,QAAQ,MAAM,EAAE;QACd,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ,CAAC,IAAI;YAChB,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,UAAU,CAAC;QACpB,KAAK,QAAQ,CAAC,YAAY,CAAC;QAC3B;YACE,OAAO,cAAc,CAAC;KACzB;AACH,CAAC;AAqCD,MAAM,CAAN,IAAY,8BAIX;AAJD,WAAY,8BAA8B;IACxC,iFAAO,CAAA;IACP,uFAAU,CAAA;IACV,oGAAiB,CAAA;AACnB,CAAC,EAJW,8BAA8B,KAA9B,8BAA8B,QAIzC;AAED,MAAM,UAAU,sCAAsC,CAAC,MAAW;IAChE,QAAQ,MAAM,EAAE;QACd,KAAK,CAAC,CAAC;QACP,KAAK,KAAK;YACR,OAAO,8BAA8B,CAAC,GAAG,CAAC;QAC5C,KAAK,CAAC,CAAC;QACP,KAAK,QAAQ;YACX,OAAO,8BAA8B,CAAC,MAAM,CAAC;QAC/C,KAAK,CAAC,CAAC,CAAC;QACR,KAAK,cAAc,CAAC;QACpB;YACE,OAAO,8BAA8B,CAAC,YAAY,CAAC;KACtD;AACH,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,MAAsC;IACzF,QAAQ,MAAM,EAAE;QACd,KAAK,8BAA8B,CAAC,GAAG;YACrC,OAAO,KAAK,CAAC;QACf,KAAK,8BAA8B,CAAC,MAAM;YACxC,OAAO,QAAQ,CAAC;QAClB,KAAK,8BAA8B,CAAC,YAAY,CAAC;QACjD;YACE,OAAO,cAAc,CAAC;KACzB;AACH,CAAC;AAsWD,SAAS,uBAAuB;IAC9B,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,OAAsB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACrE,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAC7D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAsB;QAC3B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAiC;QACtC,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,MAAkC;QAC5C,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,8BAA8B;IACrC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM,CAAC,CAAuB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,CAAuB;QAC5B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAwC;QAC7C,OAAO,oBAAoB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,WAAW,CAAC,CAAoC;QAC9C,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,+BAA+B;IACtC,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,EAAE;QACrB,cAAc,EAAE,EAAE;QAClB,aAAa,EAAE,EAAE;QACjB,oBAAoB,EAAE,EAAE;QACxB,aAAa,EAAE,EAAE;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,CAAC,OAA8B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC7E,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACzE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE;YACvC,cAAc,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9D;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE;YACzC,gBAAgB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE;YACtC,aAAa,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC7D;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE;YACrC,YAAY,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5D;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAC5C,mBAAmB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACnE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE;YACrC,YAAY,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5D;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,+BAA+B,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/D,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC7E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACjF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC3E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACzE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACvF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACzE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAChF,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;gBACrD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpE,CAAC,CAAC,EAAE;YACN,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBACzD,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACxE,CAAC,CAAC,EAAE;YACN,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;gBACnD,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClE,CAAC,CAAC,EAAE;YACN,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;gBACjD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAChE,CAAC,CAAC,EAAE;YACN,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC;gBAC/D,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9E,CAAC,CAAC,EAAE;YACN,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;gBACjD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAChE,CAAC,CAAC,EAAE;SACP,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA8B;QACnC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjH,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACpG;aAAM;YACL,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC;SAC1B;QACD,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC7B,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC1G;aAAM;YACL,GAAG,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC5B;QACD,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACjG;aAAM;YACL,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;SACzB;QACD,IAAI,OAAO,CAAC,aAAa,EAAE;YACzB,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC9F;aAAM;YACL,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC;SACxB;QACD,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAChC,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACnH;aAAM;YACL,GAAG,CAAC,oBAAoB,GAAG,EAAE,CAAC;SAC/B;QACD,IAAI,OAAO,CAAC,aAAa,EAAE;YACzB,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC9F;aAAM;YACL,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC;SACxB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAyC;QAC9C,OAAO,qBAAqB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAC,MAA0C;QACpD,MAAM,OAAO,GAAG,+BAA+B,EAAE,CAAC;QAClD,OAAO,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;YACtE,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClG,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxG,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/F,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5F,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjH,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5F,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,wBAAwB;IAC/B,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,eAAe,EAAE,EAAE;QACnB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;QAChB,iBAAiB,EAAE,EAAE;QACrB,gBAAgB,EAAE,EAAE;QACpB,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,SAAS;QAC5B,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;QACrB,aAAa,EAAE,EAAE;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,CAAC,OAAuB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACtE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC1E;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE;YACvC,gBAAgB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE;YAClC,gBAAgB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE;YACpC,kBAAkB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAClE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE;YACzC,wBAAwB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACxE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE;YACxC,sBAAsB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACtE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE;YACvC,qBAAqB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACrE;QACD,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE;YAC3C,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC/F;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;YACtC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzD;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvD;QACD,IAAI,OAAO,CAAC,aAAa,KAAK,EAAE,EAAE;YAChC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SACjD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChE,MAAM;gBACR,KAAK,EAAE;oBACL,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC/E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC1E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC9E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACzF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACtF,MAAM;gBACR,KAAK,EAAE;oBACL,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACpF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,iBAAiB,GAAG,wBAAwB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAU,CAAC,CAAC;oBAC3D,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAU,CAAC,CAAC;oBACzD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACxC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACrF,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;gBACrD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,EAAE;YACN,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC;gBAC3C,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC,CAAC,EAAE;YACN,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC;gBAC/C,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACrE,CAAC,CAAC,EAAE;YACN,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBACzD,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAChF,CAAC,CAAC,EAAE;YACN,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC;gBACvD,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC7E,CAAC,CAAC,EAAE;YACN,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;gBACrD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3E,CAAC,CAAC,EAAE;YACN,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBAChD,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBAC7D,CAAC,CAAC,SAAS;YACb,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YAC9E,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACxE,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;SAC/E,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAuB;QAC5B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACtG;aAAM;YACL,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC;SAC1B;QACD,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC5F;aAAM;YACL,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;SACrB;QACD,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAClG;aAAM;YACL,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC;SACvB;QACD,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC7B,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAClH;aAAM;YACL,GAAG,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC5B;QACD,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAC5B,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC9G;aAAM;YACL,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC3B;QACD,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC3G;aAAM;YACL,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC;SAC1B;QACD,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB;YAC3F,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAC5D,CAAC,CAAC,SAAS,CAAC,CAAC;QACf,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACnF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAkC;QACvC,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,MAAmC;QAC7C,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;YAC5E,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpG,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1F,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChG,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChH,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5G,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzG,OAAO,CAAC,iBAAiB,GAAG,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI,CAAC;YACvG,CAAC,CAAC,wBAAwB,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAChE,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAClD,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,mCAAmC;IAC1C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,MAAM,CAAC,CAA4B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,mCAAmC,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,CAA4B;QACjC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA6C;QAClD,OAAO,yBAAyB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,WAAW,CAAC,CAAyC;QACnD,MAAM,OAAO,GAAG,mCAAmC,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,yBAAyB;IAChC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,CAAC,OAAwB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACvE,IAAI,OAAO,CAAC,kBAAkB,KAAK,EAAE,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;SACtD;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE;YACtB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC7C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC9B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE;YAC7F,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAwB;QAC7B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,kBAAkB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAClG,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAmC;QACxC,OAAO,eAAe,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,WAAW,CAAC,MAAoC;QAC9C,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC7D,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,6BAA6B;IACpC,OAAO;QACL,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,SAAS;QACzB,yBAAyB,EAAE,EAAE;QAC7B,eAAe,EAAE,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,CAAC,OAA4B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3E,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE;YACxC,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC7F;QACD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,yBAAyB,EAAE;YACjD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjB;QACD,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE;YACzC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACnF,MAAM;gBACR,KAAK,CAAC;oBACJ,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;wBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;wBAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE;4BACxB,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;yBACxD;qBACF;yBAAM;wBACL,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;qBACxD;oBACD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1E,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YAClE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;YACzE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;YAC7D,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;gBAC1C,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;gBAC3D,CAAC,CAAC,SAAS;YACb,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,CAAC;gBACzE,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,EAAE;YACN,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9G,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA4B;QACjC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1E,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc;YAClF,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;YAC1D,CAAC,CAAC,SAAS,CAAC,CAAC;QACf,IAAI,OAAO,CAAC,yBAAyB,EAAE;YACrC,GAAG,CAAC,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7F;aAAM;YACL,GAAG,CAAC,yBAAyB,GAAG,EAAE,CAAC;SACpC;QACD,OAAO,CAAC,eAAe,KAAK,SAAS;YACnC,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAuC;QAC5C,OAAO,mBAAmB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,WAAW,CAAC,MAAwC;QAClD,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC;QAChD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;QACxC,OAAO,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC;YAC9F,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC;YAC9D,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,yBAAyB,GAAG,MAAM,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1F,OAAO,CAAC,eAAe,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,CAAC;YACjG,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,sBAAsB;IAC7B,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,CAAC,OAAqB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACpE,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAC7D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAqB;QAC1B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAgC;QACrC,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,MAAiC;QAC3C,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,sBAAsB;IAC7B,OAAO;QACL,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,KAAK;QACb,wBAAwB,EAAE,KAAK;QAC/B,IAAI,EAAE,CAAC;QACP,iBAAiB,EAAE,SAAS;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,CAAC,OAAqB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACpE,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,EAAE,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC/C;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,wBAAwB,KAAK,IAAI,EAAE;YAC7C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;SAC1D;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE;YACtB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE;YAC3C,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACxF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACtC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,wBAAwB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAS,CAAC;oBACrC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC9E,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;YACxE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;YAC7D,wBAAwB,EAAE,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC;gBAC9D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC;gBAC1C,CAAC,CAAC,KAAK;YACT,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBAChD,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBACtD,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAqB;QAC1B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,wBAAwB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACpH,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB;YAC3F,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC,CAAC;QACf,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAgC;QACrC,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,MAAiC;QAC3C,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;QACxC,OAAO,CAAC,wBAAwB,GAAG,MAAM,CAAC,wBAAwB,IAAI,KAAK,CAAC;QAC5E,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,iBAAiB,GAAG,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI,CAAC;YACvG,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACzD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,2BAA2B;IAClC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,CAAC,OAA0B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACzE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE;YACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjB;QACD,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE;YAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjB;QACD,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAC/C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,2BAA2B,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;wBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;wBAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE;4BACxB,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;yBAChD;qBACF;yBAAM;wBACL,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;qBAChD;oBACD,MAAM;gBACR,KAAK,CAAC;oBACJ,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;wBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;wBAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE;4BACxB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAS,CAAC,CAAC;yBAC3C;qBACF;yBAAM;wBACL,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAS,CAAC,CAAC;qBAC3C;oBACD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACtC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBACzD,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrD,CAAC,CAAC,EAAE;YACN,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACnG,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;SACnF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA0B;QAC/B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC7B,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7E;aAAM;YACL,GAAG,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC5B;QACD,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;SAChE;aAAM;YACL,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;SAChB;QACD,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACnF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAqC;QAC1C,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,WAAW,CAAC,MAAsC;QAChD,MAAM,OAAO,GAAG,2BAA2B,EAAE,CAAC;QAC9C,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1E,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO;QACL,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC;QACvB,eAAe,EAAE,EAAE;QACnB,oBAAoB,EAAE,EAAE;QACxB,mBAAmB,EAAE,EAAE;QACvB,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,OAAsB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACrE,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;YACtC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzD;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE;YACvC,gBAAgB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAC5C,qBAAqB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACrE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,mBAAmB,EAAE;YAC3C,oBAAoB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE;YAClC,gBAAgB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAU,CAAC,CAAC;oBAC3D,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC/E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACzF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACvF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC1E,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5D,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5D,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YAC9E,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;gBACrD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,EAAE;YACN,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC;gBAC/D,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAChF,CAAC,CAAC,EAAE;YACN,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC;gBAC7D,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9E,CAAC,CAAC,EAAE;YACN,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC;gBAC3C,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC,CAAC,EAAE;SACP,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAsB;QAC3B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrF,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACtG;aAAM;YACL,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC;SAC1B;QACD,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAChC,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChE,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;SACH;aAAM;YACL,GAAG,CAAC,oBAAoB,GAAG,EAAE,CAAC;SAC/B;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE;YAC/B,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAClH;aAAM;YACL,GAAG,CAAC,mBAAmB,GAAG,EAAE,CAAC;SAC9B;QACD,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC5F;aAAM;YACL,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;SACrB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAiC;QACtC,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,MAAkC;QAC5C,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpG,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnH,OAAO,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChH,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1F,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,wBAAwB;IAC/B,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,CAAC,OAAuB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACtE,IAAI,OAAO,CAAC,cAAc,KAAK,CAAC,EAAE;YAChC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SAChD;QACD,IAAI,OAAO,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;SACnD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACxC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC1C,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;SACvF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAuB;QAC5B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAClG,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACxG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAkC;QACvC,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,MAAmC;QAC7C,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,0BAA0B;IACjC,OAAO;QACL,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;QACV,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,CAAC;QACP,YAAY,EAAE,SAAS;QACvB,WAAW,EAAE,SAAS;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,CAAC,OAAyB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxE,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC1C;QACD,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE;YACzC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACnF;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE;YACtB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;YACtC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChF;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC/E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACzE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC9B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACtE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5G,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YACnG,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SACjG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAyB;QAC9B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,eAAe,KAAK,SAAS;YACnC,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/G,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,YAAY,KAAK,SAAS;YAChC,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAoC;QACzC,OAAO,gBAAgB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,MAAqC;QAC/C,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,eAAe,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,CAAC;YACjG,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;YACxF,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,+BAA+B;IACtC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,CAAC,OAA8B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC7E,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE;YACxC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpF;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,+BAA+B,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3G,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;SACpD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA8B;QACnC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,cAAc,KAAK,SAAS;YAClC,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9G,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAyC;QAC9C,OAAO,qBAAqB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAC,MAA0C;QACpD,MAAM,OAAO,GAAG,+BAA+B,EAAE,CAAC;QAClD,OAAO,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC;YAC9F,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,8BAA8B;IACrC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM,CAAC,OAA6B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC5E,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE;YACxC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpF;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACvF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAS,CAAC;oBAC1C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC7E,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3G,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SACzG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA6B;QAClC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,cAAc,KAAK,SAAS;YAClC,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9G,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5F,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3G,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAwC;QAC7C,OAAO,oBAAoB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,WAAW,CAAC,MAAyC;QACnD,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;QACjD,OAAO,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC;YAC9F,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,sBAAsB;IAC7B,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,CAAC,OAAqB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACpE,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE;YACtB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACvC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC9B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5D,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5D,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;SACjD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAqB;QAC1B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAgC;QACrC,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,MAAiC;QAC3C,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,0BAA0B;IACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;AAChG,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,CAAC,OAAyB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC1E;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;YACtC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzD;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvD;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC7C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAU,CAAC,CAAC;oBAC3D,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAU,CAAC,CAAC;oBACzD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACpC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACrF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YAC9E,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACxE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SACrE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAyB;QAC9B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxF,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACtF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAoC;QACzC,OAAO,gBAAgB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,MAAqC;QAC/C,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;YAC5E,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAClD,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,sBAAsB;IAC7B,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,CAAC,OAAqB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACpE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE;YACzC,gBAAgB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACjF,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBACzD,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACxE,CAAC,CAAC,EAAE;SACP,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAqB;QAC1B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC7B,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC1G;aAAM;YACL,GAAG,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC5B;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAgC;QACrC,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,MAAiC;QAC3C,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxG,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,4BAA4B;IACnC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,CAAC,OAA2B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC1E,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,OAA2B;QAChC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAsC;QAC3C,OAAO,kBAAkB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,WAAW,CAAC,MAAuC;QACjD,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;QAC/C,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,wBAAwB;IAC/B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,CAAC,OAAuB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACtE,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE;YAChC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,EAAE;YACvC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;SACpD;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACvC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACvC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC3C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC9B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC9B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK;YAC5E,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK;YACjG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;YAC1D,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;SAC3D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAuB;QAC5B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,CAAC,kBAAkB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAClG,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAkC;QACvC,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,MAAmC;QAC7C,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC;QAClD,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,KAAK,CAAC;QAChE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QACtC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,4BAA4B;IACnC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,CAAC,OAA2B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC1E,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC/E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YAClE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SACjG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA2B;QAChC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAsC;QAC3C,OAAO,kBAAkB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,WAAW,CAAC,MAAuC;QACjD,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;QAC/C,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,kCAAkC;IACzC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM,CAAC,OAAiC,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAChF,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC/E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,kCAAkC,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SACjG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAiC;QACtC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA4C;QACjD,OAAO,wBAAwB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,WAAW,CAAC,MAA6C;QACvD,MAAM,OAAO,GAAG,kCAAkC,EAAE,CAAC;QACrD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,0BAA0B;IACjC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,CAAC,OAAyB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;YAC/B,SAAS,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACzD;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC/E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAChE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACpG,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SACjG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAyB;QAC9B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/E;aAAM;YACL,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;SAClB;QACD,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAoC;QACzC,OAAO,gBAAgB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,MAAqC;QAC/C,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7E,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,mBAAmB;IAC1B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,CAAC,OAAkB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACjE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;YAC9B,KAAK,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACrD;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC9C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC3D,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,EAAS,CAAC;oBAC5C,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC7F,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACnE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SAC7F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAkB;QACvB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACzE;aAAM;YACL,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;SACjB;QACD,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7G,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA6B;QAClC,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,MAA8B;QACxC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC;QAC9C,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,kCAAkC;IACzC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM,CAAC,OAAiC,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAChF,IAAI,OAAO,CAAC,gBAAgB,KAAK,IAAI,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;SACjD;QACD,IAAI,OAAO,CAAC,iBAAiB,KAAK,IAAI,EAAE;YACtC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;SACnD;QACD,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,EAAE;YACvC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;SACpD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,kCAAkC,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACzC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC1C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC3C,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK;YAC3F,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK;YAC9F,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK;SAClG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAiC;QACtC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5F,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC/F,OAAO,CAAC,kBAAkB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAClG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA4C;QACjD,OAAO,wBAAwB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,WAAW,CAAC,MAA6C;QACvD,MAAM,OAAO,GAAG,kCAAkC,EAAE,CAAC;QACrD,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAC5D,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAC;QAC9D,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,KAAK,CAAC;QAChE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,yBAAyB;IAChC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,CAAC,OAAwB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACvE,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SAChD;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACxC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK;YACxF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK;SACvE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAwB;QAC7B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACzF,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAmC;QACxC,OAAO,eAAe,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,WAAW,CAAC,MAAoC;QAC9C,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,KAAK,CAAC;QAC1D,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,gCAAgC;IACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,CAAC,OAA+B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9E,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACtC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC9B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,OAA+B;QACpC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA0C;QAC/C,OAAO,sBAAsB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,WAAW,CAAC,MAA2C;QACrD,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;QACnD,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,gCAAgC;IACvC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,CAAC,OAA+B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9E,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;YAC/B,eAAe,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC/D;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACtE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACtE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1G,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SAClG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA+B;QACpC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACrF;aAAM;YACL,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;SAClB;QACD,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA0C;QAC/C,OAAO,sBAAsB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,WAAW,CAAC,MAA2C;QACrD,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;QACnD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnF,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,yBAAyB;IAChC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,CAAC,OAAwB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACvE,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAC7D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAwB;QAC7B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAmC;QACxC,OAAO,eAAe,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,WAAW,CAAC,MAAoC;QAC9C,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,+BAA+B;IACtC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,CAAC,OAA8B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC7E,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;YAC/B,cAAc,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9D;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,+BAA+B,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACrE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACtE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACzG,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SAClG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA8B;QACnC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACpF;aAAM;YACL,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;SAClB;QACD,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAyC;QAC9C,OAAO,qBAAqB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAC,MAA0C;QACpD,MAAM,OAAO,GAAG,+BAA+B,EAAE,CAAC;QAClD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,wBAAwB;IAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AAC7F,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,CAAC,OAAuB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACtE,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC5C;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC;SAC9B;QACD,IAAI,OAAO,CAAC,iBAAiB,KAAK,IAAI,EAAE;YACtC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;SACnD;QACD,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAC/C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC1C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACtC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/D,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1G,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK;YAC9F,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;SACnF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAuB;QAC5B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,aAAa,EAAE;YACzB,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;SACzD;aAAM;YACL,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC;SACxB;QACD,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC/F,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACnF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAkC;QACvC,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,MAAmC;QAC7C,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAC;QAC9D,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,eAAe;IACtB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,MAAM,CAAC,OAAc,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC7D,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC;SAC9B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACnG,CAAC;IAED,MAAM,CAAC,OAAc;QACnB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;SAC3C;aAAM;YACL,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;SACjB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAyB;QAC9B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,MAA0B;QACpC,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,gCAAgC;IACvC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,CAAC,OAA+B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9E,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE;YAChC,WAAW,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3D;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACnE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SAC1G,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA+B;QACpC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACnF;aAAM;YACL,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;SACnB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA0C;QAC/C,OAAO,sBAAsB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,WAAW,CAAC,MAA2C;QACrD,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;QACnD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjF,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,gCAAgC;IACvC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,CAAC,OAA+B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACzE;QACD,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAC/C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/D,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACtC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAChF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;SACnF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA+B;QACpC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjH,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACnF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA0C;QAC/C,OAAO,sBAAsB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,WAAW,CAAC,MAA2C;QACrD,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;QACnD,OAAO,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;YACtE,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,cAAc;IACrB,OAAO;QACL,GAAG,EAAE,IAAI,UAAU,EAAE;QACrB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,SAAS;QACzB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,SAAS;QACzB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,MAAM,CAAC,OAAa,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC5D,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACtC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACvE;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3E;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE;YACxC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACvF;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3E;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE;YACxC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACvF;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3E;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;YACjC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACzE;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACjF;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3E;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;YACjC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACzE;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC7E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC7B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC7D,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC7E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC7E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/D,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvE,MAAM;gBACR,KAAK,EAAE;oBACL,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjE,MAAM;gBACR,KAAK,EAAE;oBACL,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/D,MAAM;gBACR,KAAK,EAAE;oBACL,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACnE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;YACvE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9E,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACtF,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9G,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACtF,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9G,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACtF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YAClF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAClG,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACtF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YAClF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;SAC3F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAa;QAClB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,KAAK,SAAS;YACvB,CAAC,GAAG,CAAC,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1F,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/G,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzF,OAAO,CAAC,cAAc,KAAK,SAAS;YAClC,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjH,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzF,OAAO,CAAC,cAAc,KAAK,SAAS;YAClC,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjH,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzF,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpH,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACrG,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzF,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpH,OAAO,CAAC,SAAS,KAAK,SAAS;YAC7B,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7F,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAwB;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,MAAyB;QACnC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC;QAC7C,OAAO,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;YACtE,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YACxC,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;YAC5E,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC;YAC9F,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;YAC5E,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC;YAC9F,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;YAC5E,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;YACzE,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAClD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;YAC5E,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;YACzE,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;YAC/E,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,qBAAqB;IAC5B,OAAO;QACL,GAAG,EAAE,SAAS;QACd,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,kBAAkB,EAAE,SAAS;QAC7B,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,CAAC,OAAoB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACnE,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACrF;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpF;QACD,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE;YAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3F;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACpE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC7E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACnF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACtE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YAClD,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACpF,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC1E,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;YAC/F,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACzD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAoB;QACzB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,CAAC,kBAAkB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAClG,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA+B;QACpC,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,MAAgC;QAC1C,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC;QACtC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;QAClD,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;QACtD,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,SAAS,CAAC;QACpE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,OAAsB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACrE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACtE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,OAAsB;QAC3B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAiC;QACtC,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,MAAkC;QAC5C,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,6BAA6B;IACpC,OAAO;QACL,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,SAAS;QACpB,kBAAkB,EAAE,SAAS;QAC7B,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,CAAC,OAA4B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3E,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpF;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACrF;QACD,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE;YAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3F;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9E;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC7E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACnF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACtE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACtE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC1E,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACpF,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;YAC/F,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACxD,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACzD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA4B;QACjC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,kBAAkB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAClG,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAuC;QAC5C,OAAO,mBAAmB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,WAAW,CAAC,MAAwC;QAClD,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;QACtD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;QAClD,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,SAAS,CAAC;QACpE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QAC1C,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,kBAAkB,EAAE,SAAS;QAC7B,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,OAAsB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACrE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9E;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACrF;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpF;QACD,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE;YAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3F;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACtE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC7E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACnF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACtE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACxD,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACpF,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC1E,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;YAC/F,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACzD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAsB;QAC3B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,CAAC,kBAAkB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAClG,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAiC;QACtC,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,MAAkC;QAC5C,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QAC1C,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;QAClD,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;QACtD,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,SAAS,CAAC;QACpE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,6BAA6B;IACpC,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC3G,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,CAAC,OAA4B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3E,IAAI,OAAO,CAAC,eAAe,KAAK,EAAE,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SACnD;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;YAChC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;QACD,IAAI,OAAO,CAAC,gBAAgB,KAAK,EAAE,EAAE;YACnC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;SACpD;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE;YAChC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC;SAC9B;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC/E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAU,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC3C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACvE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;YACpF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YAC5D,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;YACvF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3F,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA4B;QACjC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5F,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;SAC/C;aAAM;YACL,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;SACnB;QACD,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAuC;QAC5C,OAAO,mBAAmB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,WAAW,CAAC,MAAwC;QAClD,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;QACvD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACzD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC;QAC5C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,OAAsB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACrE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5E,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACxF,CAAC;IAED,MAAM,CAAC,OAAsB;QAC3B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAiC;QACtC,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,MAAkC;QAC5C,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,sBAAsB;IAC7B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,CAAC,OAAqB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACpE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5E,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACxF,CAAC;IAED,MAAM,CAAC,OAAqB;QAC1B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAgC;QACrC,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,MAAiC;QAC3C,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,0BAA0B;IACjC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,CAAC,OAAyB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACnE;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;YACnC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SACrD;QACD,IAAI,OAAO,CAAC,eAAe,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;YAC3C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC7D;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC9E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,EAAU,CAAC,CAAC;oBACvD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,EAAU,CAAC,CAAC;oBAC/D,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YACxE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACrE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAC9F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAyB;QAC9B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;SACjD;aAAM;YACL,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;SACpB;QACD,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAoC;QACzC,OAAO,gBAAgB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,MAAqC;QAC/C,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,OAAsB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACrE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpF;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACrF;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;YAChC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC7E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAU,CAAC,CAAC;oBACrD,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC1E,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACpF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAC7D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAsB;QAC3B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAiC;QACtC,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,MAAkC;QAC5C,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;QACtD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;QAClD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,sBAAsB;IAC7B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,CAAC,OAAqB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACpE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpF;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACrF;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;YAChC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC7E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAU,CAAC,CAAC;oBACrD,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC1E,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACpF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAC7D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAqB;QAC1B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAgC;QACrC,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,MAAiC;QAC3C,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;QACtD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;QAClD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,wBAAwB;IAC/B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACnF,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,CAAC,OAAuB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACtE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACnE;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC7E;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACrF;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;YAChC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC5E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACrE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC7E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAU,CAAC,CAAC;oBACrD,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAClE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACrD,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACpF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAC7D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAuB;QAC5B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;SAC7C;aAAM;YACL,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;SAClB;QACD,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAkC;QACvC,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,MAAmC;QAC7C,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;QACxC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;QAClD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,qBAAqB;IAC5B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,CAAC,OAAoB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACnE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9D;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,CAAC,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC9C;QACD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE;YAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjB;QACD,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,EAAS,CAAC;oBAC5C,MAAM;gBACR,KAAK,CAAC;oBACJ,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;wBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;wBAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE;4BACxB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;yBACzC;qBACF;yBAAM;wBACL,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;qBACzC;oBACD,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YACjE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SAClG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAoB;QACzB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAChG,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D;aAAM;YACL,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;SACrB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA+B;QACpC,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,MAAgC;QAC1C,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/G,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,qBAAqB;IAC5B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,CAAC,OAAoB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACnE,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAC9C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACtC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAChG,CAAC;IAED,MAAM,CAAC,OAAoB;QACzB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACnF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA+B;QACpC,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,MAAgC;QAC1C,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC5F,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,OAAsB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACrE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;YAC9B,WAAW,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3D;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE;YAChC,aAAa,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC7D;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE;YAC5B,SAAS,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACzD;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;YAC9B,mBAAmB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACnE;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;YAC/B,YAAY,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5D;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACvE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACjE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACrE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC7D,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACzE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACnE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC7D,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACnG,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3G,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3F,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3G,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACvG,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;SAC/E,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAsB;QAC3B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/E;aAAM;YACL,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;SACjB;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACrF;aAAM;YACL,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;SACnB;QACD,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACzE;aAAM;YACL,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;SACf;QACD,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACvF;aAAM;YACL,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;SACjB;QACD,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAClF;aAAM;YACL,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;SAClB;QACD,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/G,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAiC;QACtC,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,MAAkC;QAC5C,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7E,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnF,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrF,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChF,OAAO,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;YACtE,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YACxC,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,wBAAwB;IAC/B,OAAO;QACL,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC;QACxB,eAAe,EAAE,EAAE;QACnB,OAAO,EAAE,EAAE;QACX,gBAAgB,EAAE,CAAC;QACnB,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,CAAC,OAAuB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACtE,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,YAAY,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAChD;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;YACvC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC1D;QACD,IAAI,OAAO,CAAC,eAAe,KAAK,EAAE,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SACnD;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;SACnD;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACtD,0BAA0B,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAU,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACnG,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACvC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAU,CAAC,CAAC;oBAC5D,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC1C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,EAAE;oBACL,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,MAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1E,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;wBAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;qBAC3C;oBACD,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5D,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3E,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACjF,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;YACpF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5D,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC7B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAA4B,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBACtF,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,EAAE,CAAC;gBACN,CAAC,CAAC,EAAE;SACP,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAuB;QAC5B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAChF,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxF,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACzF,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACxG,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBAChD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAkC;QACvC,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,MAAmC;QAC7C,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QACxD,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;QACvD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAA4B,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC3G,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;aAC1B;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,oCAAoC;IAC3C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,MAAM,CAAC,OAAmC,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAClF,IAAI,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE;YACtB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACvC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,oCAAoC,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC9B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtH,CAAC;IAED,MAAM,CAAC,OAAmC;QACxC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA8C;QACnD,OAAO,0BAA0B,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,WAAW,CAAC,MAA+C;QACzD,MAAM,OAAO,GAAG,oCAAoC,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,qBAAqB;IAC5B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,CAAC,OAAoB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACnE,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC9C;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC/C;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;YACpC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC1E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACrC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACtC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5E,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/E,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;SAC1F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAoB;QACzB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1E,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,CAAC,UAAU,KAAK,SAAS;YAC9B,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5F,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA+B;QACpC,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,MAAgC;QAC1C,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC;QACpD,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;QACtD,OAAO,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;YAClF,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,oBAAoB;IAC3B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,CAAC,OAAmB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAClE,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACzC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC9B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;YACnE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;SAC3E,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAmB;QACxB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,KAAK,SAAS;YACxB,CAAC,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA8B;QACnC,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,MAA+B;QACzC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACvC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC5C,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,qBAAqB;IAC5B,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,CAAC,OAAoB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACnE,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE;YACtB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAS,CAAC;oBACrC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,OAAoB;QACzB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA+B;QACpC,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,MAAgC;QAC1C,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,qBAAqB;IAC5B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,CAAC,OAAoB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACnE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACvF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7F,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAoB;QACzB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1F,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA+B;QACpC,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,MAAgC;QAC1C,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;YAC5E,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC7F,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,OAAsB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACrC;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACvF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7F,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK;YACpD,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAsB;QAC3B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1F,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAiC;QACtC,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,MAAkC;QAC5C,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;YAC5E,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC;QAClC,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,mBAAmB;IAC1B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACxH,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,CAAC,OAAkB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACjE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,EAAE,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC9C;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpF;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,EAAS,CAAC;oBACtC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACrC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACvF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5D,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;YACrE,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC1E,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAkB;QACvB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1F,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1E,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAA6B;QAClC,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,MAA8B;QACxC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;YAC5E,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAClC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC7C,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;QACtD,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,6BAA6B;IACpC,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,EAAE;QACpB,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,CAAC,OAA4B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3E,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,IAAI,OAAO,CAAC,gBAAgB,KAAK,EAAE,EAAE;YACnC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;SACpD;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACnF;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC3C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC3E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAS,CAAC;oBACzC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACvF,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;YACvF,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACvE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5D,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7F,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;SACpE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA4B;QACjC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1F,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5F,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1E,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAuC;QAC5C,OAAO,mBAAmB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,WAAW,CAAC,MAAwC;QAClD,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;YAC5E,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACzD,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC;QACpD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC5C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,SAAS,sBAAsB;IAC7B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,CAAC,OAAqB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACpE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACvF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5D,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAqB;QAC1B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1F,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAgC;QACrC,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,MAAiC;QAC3C,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;YAC5E,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YACrF,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAGF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,qBAAqB;IAC/B,OAAO,EAAE;QACP,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,YAAY;YACzB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,EAAE;SACZ;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,KAAK;YAClB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,EAAE;SACZ;QACD,SAAS,EAAE;YACT,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,oBAAoB;YACjC,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,qBAAqB;YACnC,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,EAAE;SACZ;QACD,eAAe,EAAE;YACf,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,sBAAsB;YACnC,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,sBAAsB;YACpC,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,EAAE;SACZ;QACD,qBAAqB,EAAE;YACrB,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,WAAW;YACxB,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,sBAAsB;YACpC,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,EAAE;SACZ;KACF;CACO,CAAC;AAuCX,IAAI,iBAAiB,GAAQ,CAAC,GAAG,EAAE;IACjC,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;QACrC,OAAO,UAAU,CAAC;KACnB;IACD,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;QAC/B,OAAO,IAAI,CAAC;KACb;IACD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,MAAM,CAAC;KACf;IACD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,MAAM,CAAC;KACf;IACD,MAAM,gCAAgC,CAAC;AACzC,CAAC,CAAC,EAAE,CAAC;AAEL,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,iBAAiB,CAAC,MAAM,EAAE;QAC5B,OAAO,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;KACtE;SAAM;QACL,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACnC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC5B;QACD,OAAO,GAAG,CAAC;KACZ;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAe;IACtC,IAAI,iBAAiB,CAAC,MAAM,EAAE;QAC5B,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KAC9D;SAAM;QACL,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KAC7C;AACH,CAAC;AASD,SAAS,WAAW,CAAC,IAAU;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAK,CAAC,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAK,CAAC,GAAG,OAAS,CAAC;IACnD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,aAAa,CAAC,CAAY;IACjC,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAK,CAAC;IAClD,MAAM,IAAI,CAAC,CAAC,KAAK,GAAG,OAAS,CAAC;IAC9B,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAM;IAC/B,IAAI,CAAC,YAAY,IAAI,EAAE;QACrB,OAAO,CAAC,CAAC;KACV;SAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QAChC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;KACpB;SAAM;QACL,OAAO,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7C;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAU;IAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;IAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAW,CAAC;IAC5B,GAAG,CAAC,SAAS,EAAE,CAAC;CACjB;AAED,SAAS,QAAQ,CAAC,KAAU;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,KAAK,CAAC,KAAU;IACvB,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC/C,CAAC","sourcesContent":["/* eslint-disable */\nimport Long from \"long\";\nimport type { CallContext, CallOptions } from \"nice-grpc-common\";\nimport _m0 from \"protobufjs/minimal.js\";\nimport { Empty } from \"../../google/protobuf/empty.js\";\nimport { Struct } from \"../../google/protobuf/struct.js\";\nimport { Timestamp } from \"../../google/protobuf/timestamp.js\";\n\nexport enum MetricType {\n UNKNOWN_TYPE = 0,\n COUNTER = 1,\n GAUGE = 2,\n HISTOGRAM = 3,\n UNRECOGNIZED = -1,\n}\n\nexport function metricTypeFromJSON(object: any): MetricType {\n switch (object) {\n case 0:\n case \"UNKNOWN_TYPE\":\n return MetricType.UNKNOWN_TYPE;\n case 1:\n case \"COUNTER\":\n return MetricType.COUNTER;\n case 2:\n case \"GAUGE\":\n return MetricType.GAUGE;\n case 3:\n case \"HISTOGRAM\":\n return MetricType.HISTOGRAM;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return MetricType.UNRECOGNIZED;\n }\n}\n\nexport function metricTypeToJSON(object: MetricType): string {\n switch (object) {\n case MetricType.UNKNOWN_TYPE:\n return \"UNKNOWN_TYPE\";\n case MetricType.COUNTER:\n return \"COUNTER\";\n case MetricType.GAUGE:\n return \"GAUGE\";\n case MetricType.HISTOGRAM:\n return \"HISTOGRAM\";\n case MetricType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport enum AggregationType {\n COUNT = 0,\n SUM = 1,\n UNRECOGNIZED = -1,\n}\n\nexport function aggregationTypeFromJSON(object: any): AggregationType {\n switch (object) {\n case 0:\n case \"COUNT\":\n return AggregationType.COUNT;\n case 1:\n case \"SUM\":\n return AggregationType.SUM;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return AggregationType.UNRECOGNIZED;\n }\n}\n\nexport function aggregationTypeToJSON(object: AggregationType): string {\n switch (object) {\n case AggregationType.COUNT:\n return \"COUNT\";\n case AggregationType.SUM:\n return \"SUM\";\n case AggregationType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport enum MoveOwnerType {\n ADDRESS = 0,\n OBJECT = 1,\n WRAPPED_OBJECT = 2,\n UNRECOGNIZED = -1,\n}\n\nexport function moveOwnerTypeFromJSON(object: any): MoveOwnerType {\n switch (object) {\n case 0:\n case \"ADDRESS\":\n return MoveOwnerType.ADDRESS;\n case 1:\n case \"OBJECT\":\n return MoveOwnerType.OBJECT;\n case 2:\n case \"WRAPPED_OBJECT\":\n return MoveOwnerType.WRAPPED_OBJECT;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return MoveOwnerType.UNRECOGNIZED;\n }\n}\n\nexport function moveOwnerTypeToJSON(object: MoveOwnerType): string {\n switch (object) {\n case MoveOwnerType.ADDRESS:\n return \"ADDRESS\";\n case MoveOwnerType.OBJECT:\n return \"OBJECT\";\n case MoveOwnerType.WRAPPED_OBJECT:\n return \"WRAPPED_OBJECT\";\n case MoveOwnerType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport enum AddressType {\n ERC20 = 0,\n ERC721 = 1,\n ERC1155 = 2,\n UNRECOGNIZED = -1,\n}\n\nexport function addressTypeFromJSON(object: any): AddressType {\n switch (object) {\n case 0:\n case \"ERC20\":\n return AddressType.ERC20;\n case 1:\n case \"ERC721\":\n return AddressType.ERC721;\n case 2:\n case \"ERC1155\":\n return AddressType.ERC1155;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return AddressType.UNRECOGNIZED;\n }\n}\n\nexport function addressTypeToJSON(object: AddressType): string {\n switch (object) {\n case AddressType.ERC20:\n return \"ERC20\";\n case AddressType.ERC721:\n return \"ERC721\";\n case AddressType.ERC1155:\n return \"ERC1155\";\n case AddressType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport enum HandlerType {\n UNKNOWN = 0,\n ETH_LOG = 1,\n ETH_BLOCK = 2,\n ETH_TRACE = 5,\n ETH_TRANSACTION = 11,\n SOL_INSTRUCTION = 4,\n APT_EVENT = 6,\n APT_CALL = 7,\n APT_RESOURCE = 8,\n SUI_EVENT = 3,\n SUI_CALL = 9,\n SUI_OBJECT = 10,\n UNRECOGNIZED = -1,\n}\n\nexport function handlerTypeFromJSON(object: any): HandlerType {\n switch (object) {\n case 0:\n case \"UNKNOWN\":\n return HandlerType.UNKNOWN;\n case 1:\n case \"ETH_LOG\":\n return HandlerType.ETH_LOG;\n case 2:\n case \"ETH_BLOCK\":\n return HandlerType.ETH_BLOCK;\n case 5:\n case \"ETH_TRACE\":\n return HandlerType.ETH_TRACE;\n case 11:\n case \"ETH_TRANSACTION\":\n return HandlerType.ETH_TRANSACTION;\n case 4:\n case \"SOL_INSTRUCTION\":\n return HandlerType.SOL_INSTRUCTION;\n case 6:\n case \"APT_EVENT\":\n return HandlerType.APT_EVENT;\n case 7:\n case \"APT_CALL\":\n return HandlerType.APT_CALL;\n case 8:\n case \"APT_RESOURCE\":\n return HandlerType.APT_RESOURCE;\n case 3:\n case \"SUI_EVENT\":\n return HandlerType.SUI_EVENT;\n case 9:\n case \"SUI_CALL\":\n return HandlerType.SUI_CALL;\n case 10:\n case \"SUI_OBJECT\":\n return HandlerType.SUI_OBJECT;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return HandlerType.UNRECOGNIZED;\n }\n}\n\nexport function handlerTypeToJSON(object: HandlerType): string {\n switch (object) {\n case HandlerType.UNKNOWN:\n return \"UNKNOWN\";\n case HandlerType.ETH_LOG:\n return \"ETH_LOG\";\n case HandlerType.ETH_BLOCK:\n return \"ETH_BLOCK\";\n case HandlerType.ETH_TRACE:\n return \"ETH_TRACE\";\n case HandlerType.ETH_TRANSACTION:\n return \"ETH_TRANSACTION\";\n case HandlerType.SOL_INSTRUCTION:\n return \"SOL_INSTRUCTION\";\n case HandlerType.APT_EVENT:\n return \"APT_EVENT\";\n case HandlerType.APT_CALL:\n return \"APT_CALL\";\n case HandlerType.APT_RESOURCE:\n return \"APT_RESOURCE\";\n case HandlerType.SUI_EVENT:\n return \"SUI_EVENT\";\n case HandlerType.SUI_CALL:\n return \"SUI_CALL\";\n case HandlerType.SUI_OBJECT:\n return \"SUI_OBJECT\";\n case HandlerType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport enum LogLevel {\n DEBUG = 0,\n INFO = 1,\n WARNING = 2,\n ERROR = 3,\n CRITICAL = 4,\n UNRECOGNIZED = -1,\n}\n\nexport function logLevelFromJSON(object: any): LogLevel {\n switch (object) {\n case 0:\n case \"DEBUG\":\n return LogLevel.DEBUG;\n case 1:\n case \"INFO\":\n return LogLevel.INFO;\n case 2:\n case \"WARNING\":\n return LogLevel.WARNING;\n case 3:\n case \"ERROR\":\n return LogLevel.ERROR;\n case 4:\n case \"CRITICAL\":\n return LogLevel.CRITICAL;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return LogLevel.UNRECOGNIZED;\n }\n}\n\nexport function logLevelToJSON(object: LogLevel): string {\n switch (object) {\n case LogLevel.DEBUG:\n return \"DEBUG\";\n case LogLevel.INFO:\n return \"INFO\";\n case LogLevel.WARNING:\n return \"WARNING\";\n case LogLevel.ERROR:\n return \"ERROR\";\n case LogLevel.CRITICAL:\n return \"CRITICAL\";\n case LogLevel.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport interface ProjectConfig {\n name: string;\n version: string;\n}\n\nexport interface ProcessConfigRequest {\n}\n\nexport interface ProcessConfigResponse {\n config: ProjectConfig | undefined;\n contractConfigs: ContractConfig[];\n templateInstances: TemplateInstance[];\n accountConfigs: AccountConfig[];\n metricConfigs: MetricConfig[];\n eventTrackingConfigs: EventTrackingConfig[];\n exportConfigs: ExportConfig[];\n}\n\nexport interface ContractConfig {\n contract: ContractInfo | undefined;\n intervalConfigs: OnIntervalConfig[];\n logConfigs: LogHandlerConfig[];\n traceConfigs: TraceHandlerConfig[];\n transactionConfig: TransactionHandlerConfig[];\n moveEventConfigs: MoveEventHandlerConfig[];\n moveCallConfigs: MoveCallHandlerConfig[];\n instructionConfig: InstructionHandlerConfig | undefined;\n startBlock: bigint;\n endBlock: bigint;\n processorType: string;\n}\n\nexport interface TotalPerEntityAggregation {\n}\n\nexport enum TotalPerEntityAggregation_Type {\n AVG = 0,\n MEDIAN = 1,\n UNRECOGNIZED = -1,\n}\n\nexport function totalPerEntityAggregation_TypeFromJSON(object: any): TotalPerEntityAggregation_Type {\n switch (object) {\n case 0:\n case \"AVG\":\n return TotalPerEntityAggregation_Type.AVG;\n case 1:\n case \"MEDIAN\":\n return TotalPerEntityAggregation_Type.MEDIAN;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return TotalPerEntityAggregation_Type.UNRECOGNIZED;\n }\n}\n\nexport function totalPerEntityAggregation_TypeToJSON(object: TotalPerEntityAggregation_Type): string {\n switch (object) {\n case TotalPerEntityAggregation_Type.AVG:\n return \"AVG\";\n case TotalPerEntityAggregation_Type.MEDIAN:\n return \"MEDIAN\";\n case TotalPerEntityAggregation_Type.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport interface RetentionConfig {\n retentionEventName: string;\n days: number;\n}\n\nexport interface EventTrackingConfig {\n eventName: string;\n totalByDay: boolean;\n unique: boolean;\n totalPerEntity: TotalPerEntityAggregation | undefined;\n distinctAggregationByDays: number[];\n retentionConfig: RetentionConfig | undefined;\n}\n\nexport interface ExportConfig {\n name: string;\n channel: string;\n}\n\nexport interface MetricConfig {\n name: string;\n description: string;\n unit: string;\n sparse: boolean;\n persistentBetweenVersion: boolean;\n type: MetricType;\n aggregationConfig: AggregationConfig | undefined;\n}\n\nexport interface AggregationConfig {\n intervalInMinutes: number[];\n types: AggregationType[];\n discardOrigin: boolean;\n}\n\nexport interface AccountConfig {\n chainId: string;\n address: string;\n startBlock: bigint;\n intervalConfigs: OnIntervalConfig[];\n /** @deprecated */\n aptosIntervalConfigs: AptosOnIntervalConfig[];\n moveIntervalConfigs: MoveOnIntervalConfig[];\n logConfigs: LogHandlerConfig[];\n}\n\nexport interface HandleInterval {\n recentInterval: number;\n backfillInterval: number;\n}\n\nexport interface OnIntervalConfig {\n handlerId: number;\n minutes: number;\n minutesInterval?: HandleInterval | undefined;\n slot: number;\n slotInterval?: HandleInterval | undefined;\n fetchConfig: EthFetchConfig | undefined;\n}\n\nexport interface AptosOnIntervalConfig {\n intervalConfig: OnIntervalConfig | undefined;\n type: string;\n}\n\nexport interface MoveOnIntervalConfig {\n intervalConfig: OnIntervalConfig | undefined;\n type: string;\n ownerType: MoveOwnerType;\n fetchConfig: MoveAccountFetchConfig | undefined;\n}\n\nexport interface ContractInfo {\n name: string;\n chainId: string;\n address: string;\n abi: string;\n}\n\nexport interface TemplateInstance {\n contract: ContractInfo | undefined;\n startBlock: bigint;\n endBlock: bigint;\n templateId: number;\n}\n\nexport interface StartRequest {\n templateInstances: TemplateInstance[];\n}\n\nexport interface BlockHandlerConfig {\n handlerId: number;\n}\n\nexport interface EthFetchConfig {\n transaction: boolean;\n transactionReceipt: boolean;\n block: boolean;\n trace: boolean;\n}\n\nexport interface TraceHandlerConfig {\n signature: string;\n handlerId: number;\n fetchConfig: EthFetchConfig | undefined;\n}\n\nexport interface TransactionHandlerConfig {\n handlerId: number;\n fetchConfig: EthFetchConfig | undefined;\n}\n\nexport interface LogHandlerConfig {\n filters: LogFilter[];\n handlerId: number;\n fetchConfig: EthFetchConfig | undefined;\n}\n\nexport interface LogFilter {\n topics: Topic[];\n address?: string | undefined;\n addressType?: AddressType | undefined;\n}\n\nexport interface InstructionHandlerConfig {\n innerInstruction: boolean;\n parsedInstruction: boolean;\n rawDataInstruction: boolean;\n}\n\nexport interface MoveFetchConfig {\n resourceChanges: boolean;\n allEvents: boolean;\n}\n\nexport interface MoveAccountFetchConfig {\n owned: boolean;\n}\n\nexport interface MoveEventHandlerConfig {\n filters: MoveEventFilter[];\n handlerId: number;\n fetchConfig: MoveFetchConfig | undefined;\n}\n\nexport interface MoveEventFilter {\n type: string;\n account: string;\n}\n\nexport interface MoveCallHandlerConfig {\n filters: MoveCallFilter[];\n handlerId: number;\n fetchConfig: MoveFetchConfig | undefined;\n}\n\nexport interface MoveCallFilter {\n function: string;\n typeArguments: string[];\n withTypeArguments: boolean;\n includeFailed: boolean;\n}\n\nexport interface Topic {\n hashes: string[];\n}\n\nexport interface ProcessBindingsRequest {\n bindings: DataBinding[];\n}\n\nexport interface ProcessBindingResponse {\n result:\n | ProcessResult\n | undefined;\n /** @deprecated */\n configUpdated: boolean;\n}\n\nexport interface Data {\n /** @deprecated */\n raw: Uint8Array;\n ethLog?: Data_EthLog | undefined;\n ethBlock?: Data_EthBlock | undefined;\n ethTransaction?: Data_EthTransaction | undefined;\n ethTrace?: Data_EthTrace | undefined;\n solInstruction?: Data_SolInstruction | undefined;\n aptEvent?: Data_AptEvent | undefined;\n aptCall?: Data_AptCall | undefined;\n aptResource?: Data_AptResource | undefined;\n suiEvent?: Data_SuiEvent | undefined;\n suiCall?: Data_SuiCall | undefined;\n suiObject?: Data_SuiObject | undefined;\n}\n\nexport interface Data_EthLog {\n log: { [key: string]: any } | undefined;\n timestamp: Date | undefined;\n transaction?: { [key: string]: any } | undefined;\n transactionReceipt?: { [key: string]: any } | undefined;\n block?: { [key: string]: any } | undefined;\n}\n\nexport interface Data_EthBlock {\n block: { [key: string]: any } | undefined;\n}\n\nexport interface Data_EthTransaction {\n transaction: { [key: string]: any } | undefined;\n timestamp: Date | undefined;\n transactionReceipt?: { [key: string]: any } | undefined;\n block?: { [key: string]: any } | undefined;\n trace?: { [key: string]: any } | undefined;\n}\n\nexport interface Data_EthTrace {\n trace: { [key: string]: any } | undefined;\n timestamp: Date | undefined;\n transaction?: { [key: string]: any } | undefined;\n transactionReceipt?: { [key: string]: any } | undefined;\n block?: { [key: string]: any } | undefined;\n}\n\nexport interface Data_SolInstruction {\n instructionData: string;\n slot: bigint;\n programAccountId: string;\n accounts: string[];\n parsed?: { [key: string]: any } | undefined;\n}\n\nexport interface Data_AptEvent {\n transaction: { [key: string]: any } | undefined;\n}\n\nexport interface Data_AptCall {\n transaction: { [key: string]: any } | undefined;\n}\n\nexport interface Data_AptResource {\n resources: { [key: string]: any }[];\n version: bigint;\n timestampMicros: bigint;\n}\n\nexport interface Data_SuiEvent {\n transaction: { [key: string]: any } | undefined;\n timestamp: Date | undefined;\n slot: bigint;\n}\n\nexport interface Data_SuiCall {\n transaction: { [key: string]: any } | undefined;\n timestamp: Date | undefined;\n slot: bigint;\n}\n\nexport interface Data_SuiObject {\n objects: { [key: string]: any }[];\n self?: { [key: string]: any } | undefined;\n timestamp: Date | undefined;\n slot: bigint;\n}\n\nexport interface DataBinding {\n data: Data | undefined;\n handlerType: HandlerType;\n handlerIds: number[];\n}\n\nexport interface StateResult {\n configUpdated: boolean;\n}\n\nexport interface ProcessResult {\n gauges: GaugeResult[];\n counters: CounterResult[];\n /** @deprecated */\n logs: LogResult[];\n events: EventTrackingResult[];\n exports: ExportResult[];\n states: StateResult | undefined;\n}\n\nexport interface RecordMetaData {\n address: string;\n contractName: string;\n blockNumber: bigint;\n transactionHash: string;\n chainId: string;\n transactionIndex: number;\n logIndex: number;\n name: string;\n labels: { [key: string]: string };\n}\n\nexport interface RecordMetaData_LabelsEntry {\n key: string;\n value: string;\n}\n\nexport interface MetricValue {\n bigDecimal?: string | undefined;\n doubleValue?: number | undefined;\n bigInteger?: BigInteger | undefined;\n}\n\nexport interface BigInteger {\n negative: boolean;\n data: Uint8Array;\n}\n\nexport interface RuntimeInfo {\n from: HandlerType;\n}\n\nexport interface GaugeResult {\n metadata: RecordMetaData | undefined;\n metricValue: MetricValue | undefined;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nexport interface CounterResult {\n metadata: RecordMetaData | undefined;\n metricValue: MetricValue | undefined;\n add: boolean;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\n/** @deprecated */\nexport interface LogResult {\n metadata: RecordMetaData | undefined;\n level: LogLevel;\n message: string;\n /** @deprecated */\n attributes: string;\n attributes2: { [key: string]: any } | undefined;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nexport interface EventTrackingResult {\n metadata: RecordMetaData | undefined;\n distinctEntityId: string;\n attributes: { [key: string]: any } | undefined;\n severity: LogLevel;\n message: string;\n runtimeInfo: RuntimeInfo | undefined;\n noMetric: boolean;\n}\n\nexport interface ExportResult {\n metadata: RecordMetaData | undefined;\n payload: string;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nfunction createBaseProjectConfig(): ProjectConfig {\n return { name: \"\", version: \"\" };\n}\n\nexport const ProjectConfig = {\n encode(message: ProjectConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.version !== \"\") {\n writer.uint32(26).string(message.version);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProjectConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProjectConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 3:\n message.version = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProjectConfig {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n version: isSet(object.version) ? String(object.version) : \"\",\n };\n },\n\n toJSON(message: ProjectConfig): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.version !== undefined && (obj.version = message.version);\n return obj;\n },\n\n create(base?: DeepPartial<ProjectConfig>): ProjectConfig {\n return ProjectConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ProjectConfig>): ProjectConfig {\n const message = createBaseProjectConfig();\n message.name = object.name ?? \"\";\n message.version = object.version ?? \"\";\n return message;\n },\n};\n\nfunction createBaseProcessConfigRequest(): ProcessConfigRequest {\n return {};\n}\n\nexport const ProcessConfigRequest = {\n encode(_: ProcessConfigRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProcessConfigRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessConfigRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(_: any): ProcessConfigRequest {\n return {};\n },\n\n toJSON(_: ProcessConfigRequest): unknown {\n const obj: any = {};\n return obj;\n },\n\n create(base?: DeepPartial<ProcessConfigRequest>): ProcessConfigRequest {\n return ProcessConfigRequest.fromPartial(base ?? {});\n },\n\n fromPartial(_: DeepPartial<ProcessConfigRequest>): ProcessConfigRequest {\n const message = createBaseProcessConfigRequest();\n return message;\n },\n};\n\nfunction createBaseProcessConfigResponse(): ProcessConfigResponse {\n return {\n config: undefined,\n contractConfigs: [],\n templateInstances: [],\n accountConfigs: [],\n metricConfigs: [],\n eventTrackingConfigs: [],\n exportConfigs: [],\n };\n}\n\nexport const ProcessConfigResponse = {\n encode(message: ProcessConfigResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.config !== undefined) {\n ProjectConfig.encode(message.config, writer.uint32(10).fork()).ldelim();\n }\n for (const v of message.contractConfigs) {\n ContractConfig.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n for (const v of message.templateInstances) {\n TemplateInstance.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n for (const v of message.accountConfigs) {\n AccountConfig.encode(v!, writer.uint32(34).fork()).ldelim();\n }\n for (const v of message.metricConfigs) {\n MetricConfig.encode(v!, writer.uint32(42).fork()).ldelim();\n }\n for (const v of message.eventTrackingConfigs) {\n EventTrackingConfig.encode(v!, writer.uint32(50).fork()).ldelim();\n }\n for (const v of message.exportConfigs) {\n ExportConfig.encode(v!, writer.uint32(58).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProcessConfigResponse {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessConfigResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.config = ProjectConfig.decode(reader, reader.uint32());\n break;\n case 2:\n message.contractConfigs.push(ContractConfig.decode(reader, reader.uint32()));\n break;\n case 3:\n message.templateInstances.push(TemplateInstance.decode(reader, reader.uint32()));\n break;\n case 4:\n message.accountConfigs.push(AccountConfig.decode(reader, reader.uint32()));\n break;\n case 5:\n message.metricConfigs.push(MetricConfig.decode(reader, reader.uint32()));\n break;\n case 6:\n message.eventTrackingConfigs.push(EventTrackingConfig.decode(reader, reader.uint32()));\n break;\n case 7:\n message.exportConfigs.push(ExportConfig.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessConfigResponse {\n return {\n config: isSet(object.config) ? ProjectConfig.fromJSON(object.config) : undefined,\n contractConfigs: Array.isArray(object?.contractConfigs)\n ? object.contractConfigs.map((e: any) => ContractConfig.fromJSON(e))\n : [],\n templateInstances: Array.isArray(object?.templateInstances)\n ? object.templateInstances.map((e: any) => TemplateInstance.fromJSON(e))\n : [],\n accountConfigs: Array.isArray(object?.accountConfigs)\n ? object.accountConfigs.map((e: any) => AccountConfig.fromJSON(e))\n : [],\n metricConfigs: Array.isArray(object?.metricConfigs)\n ? object.metricConfigs.map((e: any) => MetricConfig.fromJSON(e))\n : [],\n eventTrackingConfigs: Array.isArray(object?.eventTrackingConfigs)\n ? object.eventTrackingConfigs.map((e: any) => EventTrackingConfig.fromJSON(e))\n : [],\n exportConfigs: Array.isArray(object?.exportConfigs)\n ? object.exportConfigs.map((e: any) => ExportConfig.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessConfigResponse): unknown {\n const obj: any = {};\n message.config !== undefined && (obj.config = message.config ? ProjectConfig.toJSON(message.config) : undefined);\n if (message.contractConfigs) {\n obj.contractConfigs = message.contractConfigs.map((e) => e ? ContractConfig.toJSON(e) : undefined);\n } else {\n obj.contractConfigs = [];\n }\n if (message.templateInstances) {\n obj.templateInstances = message.templateInstances.map((e) => e ? TemplateInstance.toJSON(e) : undefined);\n } else {\n obj.templateInstances = [];\n }\n if (message.accountConfigs) {\n obj.accountConfigs = message.accountConfigs.map((e) => e ? AccountConfig.toJSON(e) : undefined);\n } else {\n obj.accountConfigs = [];\n }\n if (message.metricConfigs) {\n obj.metricConfigs = message.metricConfigs.map((e) => e ? MetricConfig.toJSON(e) : undefined);\n } else {\n obj.metricConfigs = [];\n }\n if (message.eventTrackingConfigs) {\n obj.eventTrackingConfigs = message.eventTrackingConfigs.map((e) => e ? EventTrackingConfig.toJSON(e) : undefined);\n } else {\n obj.eventTrackingConfigs = [];\n }\n if (message.exportConfigs) {\n obj.exportConfigs = message.exportConfigs.map((e) => e ? ExportConfig.toJSON(e) : undefined);\n } else {\n obj.exportConfigs = [];\n }\n return obj;\n },\n\n create(base?: DeepPartial<ProcessConfigResponse>): ProcessConfigResponse {\n return ProcessConfigResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ProcessConfigResponse>): ProcessConfigResponse {\n const message = createBaseProcessConfigResponse();\n message.config = (object.config !== undefined && object.config !== null)\n ? ProjectConfig.fromPartial(object.config)\n : undefined;\n message.contractConfigs = object.contractConfigs?.map((e) => ContractConfig.fromPartial(e)) || [];\n message.templateInstances = object.templateInstances?.map((e) => TemplateInstance.fromPartial(e)) || [];\n message.accountConfigs = object.accountConfigs?.map((e) => AccountConfig.fromPartial(e)) || [];\n message.metricConfigs = object.metricConfigs?.map((e) => MetricConfig.fromPartial(e)) || [];\n message.eventTrackingConfigs = object.eventTrackingConfigs?.map((e) => EventTrackingConfig.fromPartial(e)) || [];\n message.exportConfigs = object.exportConfigs?.map((e) => ExportConfig.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseContractConfig(): ContractConfig {\n return {\n contract: undefined,\n intervalConfigs: [],\n logConfigs: [],\n traceConfigs: [],\n transactionConfig: [],\n moveEventConfigs: [],\n moveCallConfigs: [],\n instructionConfig: undefined,\n startBlock: BigInt(\"0\"),\n endBlock: BigInt(\"0\"),\n processorType: \"\",\n };\n}\n\nexport const ContractConfig = {\n encode(message: ContractConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.contract !== undefined) {\n ContractInfo.encode(message.contract, writer.uint32(10).fork()).ldelim();\n }\n for (const v of message.intervalConfigs) {\n OnIntervalConfig.encode(v!, writer.uint32(90).fork()).ldelim();\n }\n for (const v of message.logConfigs) {\n LogHandlerConfig.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n for (const v of message.traceConfigs) {\n TraceHandlerConfig.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n for (const v of message.transactionConfig) {\n TransactionHandlerConfig.encode(v!, writer.uint32(58).fork()).ldelim();\n }\n for (const v of message.moveEventConfigs) {\n MoveEventHandlerConfig.encode(v!, writer.uint32(74).fork()).ldelim();\n }\n for (const v of message.moveCallConfigs) {\n MoveCallHandlerConfig.encode(v!, writer.uint32(82).fork()).ldelim();\n }\n if (message.instructionConfig !== undefined) {\n InstructionHandlerConfig.encode(message.instructionConfig, writer.uint32(50).fork()).ldelim();\n }\n if (message.startBlock !== BigInt(\"0\")) {\n writer.uint32(32).uint64(message.startBlock.toString());\n }\n if (message.endBlock !== BigInt(\"0\")) {\n writer.uint32(40).uint64(message.endBlock.toString());\n }\n if (message.processorType !== \"\") {\n writer.uint32(66).string(message.processorType);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ContractConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseContractConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.contract = ContractInfo.decode(reader, reader.uint32());\n break;\n case 11:\n message.intervalConfigs.push(OnIntervalConfig.decode(reader, reader.uint32()));\n break;\n case 3:\n message.logConfigs.push(LogHandlerConfig.decode(reader, reader.uint32()));\n break;\n case 2:\n message.traceConfigs.push(TraceHandlerConfig.decode(reader, reader.uint32()));\n break;\n case 7:\n message.transactionConfig.push(TransactionHandlerConfig.decode(reader, reader.uint32()));\n break;\n case 9:\n message.moveEventConfigs.push(MoveEventHandlerConfig.decode(reader, reader.uint32()));\n break;\n case 10:\n message.moveCallConfigs.push(MoveCallHandlerConfig.decode(reader, reader.uint32()));\n break;\n case 6:\n message.instructionConfig = InstructionHandlerConfig.decode(reader, reader.uint32());\n break;\n case 4:\n message.startBlock = longToBigint(reader.uint64() as Long);\n break;\n case 5:\n message.endBlock = longToBigint(reader.uint64() as Long);\n break;\n case 8:\n message.processorType = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ContractConfig {\n return {\n contract: isSet(object.contract) ? ContractInfo.fromJSON(object.contract) : undefined,\n intervalConfigs: Array.isArray(object?.intervalConfigs)\n ? object.intervalConfigs.map((e: any) => OnIntervalConfig.fromJSON(e))\n : [],\n logConfigs: Array.isArray(object?.logConfigs)\n ? object.logConfigs.map((e: any) => LogHandlerConfig.fromJSON(e))\n : [],\n traceConfigs: Array.isArray(object?.traceConfigs)\n ? object.traceConfigs.map((e: any) => TraceHandlerConfig.fromJSON(e))\n : [],\n transactionConfig: Array.isArray(object?.transactionConfig)\n ? object.transactionConfig.map((e: any) => TransactionHandlerConfig.fromJSON(e))\n : [],\n moveEventConfigs: Array.isArray(object?.moveEventConfigs)\n ? object.moveEventConfigs.map((e: any) => MoveEventHandlerConfig.fromJSON(e))\n : [],\n moveCallConfigs: Array.isArray(object?.moveCallConfigs)\n ? object.moveCallConfigs.map((e: any) => MoveCallHandlerConfig.fromJSON(e))\n : [],\n instructionConfig: isSet(object.instructionConfig)\n ? InstructionHandlerConfig.fromJSON(object.instructionConfig)\n : undefined,\n startBlock: isSet(object.startBlock) ? BigInt(object.startBlock) : BigInt(\"0\"),\n endBlock: isSet(object.endBlock) ? BigInt(object.endBlock) : BigInt(\"0\"),\n processorType: isSet(object.processorType) ? String(object.processorType) : \"\",\n };\n },\n\n toJSON(message: ContractConfig): unknown {\n const obj: any = {};\n message.contract !== undefined &&\n (obj.contract = message.contract ? ContractInfo.toJSON(message.contract) : undefined);\n if (message.intervalConfigs) {\n obj.intervalConfigs = message.intervalConfigs.map((e) => e ? OnIntervalConfig.toJSON(e) : undefined);\n } else {\n obj.intervalConfigs = [];\n }\n if (message.logConfigs) {\n obj.logConfigs = message.logConfigs.map((e) => e ? LogHandlerConfig.toJSON(e) : undefined);\n } else {\n obj.logConfigs = [];\n }\n if (message.traceConfigs) {\n obj.traceConfigs = message.traceConfigs.map((e) => e ? TraceHandlerConfig.toJSON(e) : undefined);\n } else {\n obj.traceConfigs = [];\n }\n if (message.transactionConfig) {\n obj.transactionConfig = message.transactionConfig.map((e) => e ? TransactionHandlerConfig.toJSON(e) : undefined);\n } else {\n obj.transactionConfig = [];\n }\n if (message.moveEventConfigs) {\n obj.moveEventConfigs = message.moveEventConfigs.map((e) => e ? MoveEventHandlerConfig.toJSON(e) : undefined);\n } else {\n obj.moveEventConfigs = [];\n }\n if (message.moveCallConfigs) {\n obj.moveCallConfigs = message.moveCallConfigs.map((e) => e ? MoveCallHandlerConfig.toJSON(e) : undefined);\n } else {\n obj.moveCallConfigs = [];\n }\n message.instructionConfig !== undefined && (obj.instructionConfig = message.instructionConfig\n ? InstructionHandlerConfig.toJSON(message.instructionConfig)\n : undefined);\n message.startBlock !== undefined && (obj.startBlock = message.startBlock.toString());\n message.endBlock !== undefined && (obj.endBlock = message.endBlock.toString());\n message.processorType !== undefined && (obj.processorType = message.processorType);\n return obj;\n },\n\n create(base?: DeepPartial<ContractConfig>): ContractConfig {\n return ContractConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ContractConfig>): ContractConfig {\n const message = createBaseContractConfig();\n message.contract = (object.contract !== undefined && object.contract !== null)\n ? ContractInfo.fromPartial(object.contract)\n : undefined;\n message.intervalConfigs = object.intervalConfigs?.map((e) => OnIntervalConfig.fromPartial(e)) || [];\n message.logConfigs = object.logConfigs?.map((e) => LogHandlerConfig.fromPartial(e)) || [];\n message.traceConfigs = object.traceConfigs?.map((e) => TraceHandlerConfig.fromPartial(e)) || [];\n message.transactionConfig = object.transactionConfig?.map((e) => TransactionHandlerConfig.fromPartial(e)) || [];\n message.moveEventConfigs = object.moveEventConfigs?.map((e) => MoveEventHandlerConfig.fromPartial(e)) || [];\n message.moveCallConfigs = object.moveCallConfigs?.map((e) => MoveCallHandlerConfig.fromPartial(e)) || [];\n message.instructionConfig = (object.instructionConfig !== undefined && object.instructionConfig !== null)\n ? InstructionHandlerConfig.fromPartial(object.instructionConfig)\n : undefined;\n message.startBlock = object.startBlock ?? BigInt(\"0\");\n message.endBlock = object.endBlock ?? BigInt(\"0\");\n message.processorType = object.processorType ?? \"\";\n return message;\n },\n};\n\nfunction createBaseTotalPerEntityAggregation(): TotalPerEntityAggregation {\n return {};\n}\n\nexport const TotalPerEntityAggregation = {\n encode(_: TotalPerEntityAggregation, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TotalPerEntityAggregation {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTotalPerEntityAggregation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(_: any): TotalPerEntityAggregation {\n return {};\n },\n\n toJSON(_: TotalPerEntityAggregation): unknown {\n const obj: any = {};\n return obj;\n },\n\n create(base?: DeepPartial<TotalPerEntityAggregation>): TotalPerEntityAggregation {\n return TotalPerEntityAggregation.fromPartial(base ?? {});\n },\n\n fromPartial(_: DeepPartial<TotalPerEntityAggregation>): TotalPerEntityAggregation {\n const message = createBaseTotalPerEntityAggregation();\n return message;\n },\n};\n\nfunction createBaseRetentionConfig(): RetentionConfig {\n return { retentionEventName: \"\", days: 0 };\n}\n\nexport const RetentionConfig = {\n encode(message: RetentionConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.retentionEventName !== \"\") {\n writer.uint32(18).string(message.retentionEventName);\n }\n if (message.days !== 0) {\n writer.uint32(24).int32(message.days);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RetentionConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRetentionConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2:\n message.retentionEventName = reader.string();\n break;\n case 3:\n message.days = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RetentionConfig {\n return {\n retentionEventName: isSet(object.retentionEventName) ? String(object.retentionEventName) : \"\",\n days: isSet(object.days) ? Number(object.days) : 0,\n };\n },\n\n toJSON(message: RetentionConfig): unknown {\n const obj: any = {};\n message.retentionEventName !== undefined && (obj.retentionEventName = message.retentionEventName);\n message.days !== undefined && (obj.days = Math.round(message.days));\n return obj;\n },\n\n create(base?: DeepPartial<RetentionConfig>): RetentionConfig {\n return RetentionConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<RetentionConfig>): RetentionConfig {\n const message = createBaseRetentionConfig();\n message.retentionEventName = object.retentionEventName ?? \"\";\n message.days = object.days ?? 0;\n return message;\n },\n};\n\nfunction createBaseEventTrackingConfig(): EventTrackingConfig {\n return {\n eventName: \"\",\n totalByDay: false,\n unique: false,\n totalPerEntity: undefined,\n distinctAggregationByDays: [],\n retentionConfig: undefined,\n };\n}\n\nexport const EventTrackingConfig = {\n encode(message: EventTrackingConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.eventName !== \"\") {\n writer.uint32(10).string(message.eventName);\n }\n if (message.totalByDay === true) {\n writer.uint32(16).bool(message.totalByDay);\n }\n if (message.unique === true) {\n writer.uint32(24).bool(message.unique);\n }\n if (message.totalPerEntity !== undefined) {\n TotalPerEntityAggregation.encode(message.totalPerEntity, writer.uint32(34).fork()).ldelim();\n }\n writer.uint32(42).fork();\n for (const v of message.distinctAggregationByDays) {\n writer.int32(v);\n }\n writer.ldelim();\n if (message.retentionConfig !== undefined) {\n RetentionConfig.encode(message.retentionConfig, writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): EventTrackingConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseEventTrackingConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.eventName = reader.string();\n break;\n case 2:\n message.totalByDay = reader.bool();\n break;\n case 3:\n message.unique = reader.bool();\n break;\n case 4:\n message.totalPerEntity = TotalPerEntityAggregation.decode(reader, reader.uint32());\n break;\n case 5:\n if ((tag & 7) === 2) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.distinctAggregationByDays.push(reader.int32());\n }\n } else {\n message.distinctAggregationByDays.push(reader.int32());\n }\n break;\n case 6:\n message.retentionConfig = RetentionConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): EventTrackingConfig {\n return {\n eventName: isSet(object.eventName) ? String(object.eventName) : \"\",\n totalByDay: isSet(object.totalByDay) ? Boolean(object.totalByDay) : false,\n unique: isSet(object.unique) ? Boolean(object.unique) : false,\n totalPerEntity: isSet(object.totalPerEntity)\n ? TotalPerEntityAggregation.fromJSON(object.totalPerEntity)\n : undefined,\n distinctAggregationByDays: Array.isArray(object?.distinctAggregationByDays)\n ? object.distinctAggregationByDays.map((e: any) => Number(e))\n : [],\n retentionConfig: isSet(object.retentionConfig) ? RetentionConfig.fromJSON(object.retentionConfig) : undefined,\n };\n },\n\n toJSON(message: EventTrackingConfig): unknown {\n const obj: any = {};\n message.eventName !== undefined && (obj.eventName = message.eventName);\n message.totalByDay !== undefined && (obj.totalByDay = message.totalByDay);\n message.unique !== undefined && (obj.unique = message.unique);\n message.totalPerEntity !== undefined && (obj.totalPerEntity = message.totalPerEntity\n ? TotalPerEntityAggregation.toJSON(message.totalPerEntity)\n : undefined);\n if (message.distinctAggregationByDays) {\n obj.distinctAggregationByDays = message.distinctAggregationByDays.map((e) => Math.round(e));\n } else {\n obj.distinctAggregationByDays = [];\n }\n message.retentionConfig !== undefined &&\n (obj.retentionConfig = message.retentionConfig ? RetentionConfig.toJSON(message.retentionConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<EventTrackingConfig>): EventTrackingConfig {\n return EventTrackingConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<EventTrackingConfig>): EventTrackingConfig {\n const message = createBaseEventTrackingConfig();\n message.eventName = object.eventName ?? \"\";\n message.totalByDay = object.totalByDay ?? false;\n message.unique = object.unique ?? false;\n message.totalPerEntity = (object.totalPerEntity !== undefined && object.totalPerEntity !== null)\n ? TotalPerEntityAggregation.fromPartial(object.totalPerEntity)\n : undefined;\n message.distinctAggregationByDays = object.distinctAggregationByDays?.map((e) => e) || [];\n message.retentionConfig = (object.retentionConfig !== undefined && object.retentionConfig !== null)\n ? RetentionConfig.fromPartial(object.retentionConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseExportConfig(): ExportConfig {\n return { name: \"\", channel: \"\" };\n}\n\nexport const ExportConfig = {\n encode(message: ExportConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.channel !== \"\") {\n writer.uint32(18).string(message.channel);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ExportConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseExportConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 2:\n message.channel = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ExportConfig {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n channel: isSet(object.channel) ? String(object.channel) : \"\",\n };\n },\n\n toJSON(message: ExportConfig): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.channel !== undefined && (obj.channel = message.channel);\n return obj;\n },\n\n create(base?: DeepPartial<ExportConfig>): ExportConfig {\n return ExportConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ExportConfig>): ExportConfig {\n const message = createBaseExportConfig();\n message.name = object.name ?? \"\";\n message.channel = object.channel ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMetricConfig(): MetricConfig {\n return {\n name: \"\",\n description: \"\",\n unit: \"\",\n sparse: false,\n persistentBetweenVersion: false,\n type: 0,\n aggregationConfig: undefined,\n };\n}\n\nexport const MetricConfig = {\n encode(message: MetricConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.description !== \"\") {\n writer.uint32(26).string(message.description);\n }\n if (message.unit !== \"\") {\n writer.uint32(18).string(message.unit);\n }\n if (message.sparse === true) {\n writer.uint32(32).bool(message.sparse);\n }\n if (message.persistentBetweenVersion === true) {\n writer.uint32(40).bool(message.persistentBetweenVersion);\n }\n if (message.type !== 0) {\n writer.uint32(56).int32(message.type);\n }\n if (message.aggregationConfig !== undefined) {\n AggregationConfig.encode(message.aggregationConfig, writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MetricConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMetricConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 3:\n message.description = reader.string();\n break;\n case 2:\n message.unit = reader.string();\n break;\n case 4:\n message.sparse = reader.bool();\n break;\n case 5:\n message.persistentBetweenVersion = reader.bool();\n break;\n case 7:\n message.type = reader.int32() as any;\n break;\n case 6:\n message.aggregationConfig = AggregationConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MetricConfig {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n description: isSet(object.description) ? String(object.description) : \"\",\n unit: isSet(object.unit) ? String(object.unit) : \"\",\n sparse: isSet(object.sparse) ? Boolean(object.sparse) : false,\n persistentBetweenVersion: isSet(object.persistentBetweenVersion)\n ? Boolean(object.persistentBetweenVersion)\n : false,\n type: isSet(object.type) ? metricTypeFromJSON(object.type) : 0,\n aggregationConfig: isSet(object.aggregationConfig)\n ? AggregationConfig.fromJSON(object.aggregationConfig)\n : undefined,\n };\n },\n\n toJSON(message: MetricConfig): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.description !== undefined && (obj.description = message.description);\n message.unit !== undefined && (obj.unit = message.unit);\n message.sparse !== undefined && (obj.sparse = message.sparse);\n message.persistentBetweenVersion !== undefined && (obj.persistentBetweenVersion = message.persistentBetweenVersion);\n message.type !== undefined && (obj.type = metricTypeToJSON(message.type));\n message.aggregationConfig !== undefined && (obj.aggregationConfig = message.aggregationConfig\n ? AggregationConfig.toJSON(message.aggregationConfig)\n : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<MetricConfig>): MetricConfig {\n return MetricConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MetricConfig>): MetricConfig {\n const message = createBaseMetricConfig();\n message.name = object.name ?? \"\";\n message.description = object.description ?? \"\";\n message.unit = object.unit ?? \"\";\n message.sparse = object.sparse ?? false;\n message.persistentBetweenVersion = object.persistentBetweenVersion ?? false;\n message.type = object.type ?? 0;\n message.aggregationConfig = (object.aggregationConfig !== undefined && object.aggregationConfig !== null)\n ? AggregationConfig.fromPartial(object.aggregationConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseAggregationConfig(): AggregationConfig {\n return { intervalInMinutes: [], types: [], discardOrigin: false };\n}\n\nexport const AggregationConfig = {\n encode(message: AggregationConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n writer.uint32(10).fork();\n for (const v of message.intervalInMinutes) {\n writer.int32(v);\n }\n writer.ldelim();\n writer.uint32(18).fork();\n for (const v of message.types) {\n writer.int32(v);\n }\n writer.ldelim();\n if (message.discardOrigin === true) {\n writer.uint32(24).bool(message.discardOrigin);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AggregationConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAggregationConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if ((tag & 7) === 2) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.intervalInMinutes.push(reader.int32());\n }\n } else {\n message.intervalInMinutes.push(reader.int32());\n }\n break;\n case 2:\n if ((tag & 7) === 2) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.types.push(reader.int32() as any);\n }\n } else {\n message.types.push(reader.int32() as any);\n }\n break;\n case 3:\n message.discardOrigin = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AggregationConfig {\n return {\n intervalInMinutes: Array.isArray(object?.intervalInMinutes)\n ? object.intervalInMinutes.map((e: any) => Number(e))\n : [],\n types: Array.isArray(object?.types) ? object.types.map((e: any) => aggregationTypeFromJSON(e)) : [],\n discardOrigin: isSet(object.discardOrigin) ? Boolean(object.discardOrigin) : false,\n };\n },\n\n toJSON(message: AggregationConfig): unknown {\n const obj: any = {};\n if (message.intervalInMinutes) {\n obj.intervalInMinutes = message.intervalInMinutes.map((e) => Math.round(e));\n } else {\n obj.intervalInMinutes = [];\n }\n if (message.types) {\n obj.types = message.types.map((e) => aggregationTypeToJSON(e));\n } else {\n obj.types = [];\n }\n message.discardOrigin !== undefined && (obj.discardOrigin = message.discardOrigin);\n return obj;\n },\n\n create(base?: DeepPartial<AggregationConfig>): AggregationConfig {\n return AggregationConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<AggregationConfig>): AggregationConfig {\n const message = createBaseAggregationConfig();\n message.intervalInMinutes = object.intervalInMinutes?.map((e) => e) || [];\n message.types = object.types?.map((e) => e) || [];\n message.discardOrigin = object.discardOrigin ?? false;\n return message;\n },\n};\n\nfunction createBaseAccountConfig(): AccountConfig {\n return {\n chainId: \"\",\n address: \"\",\n startBlock: BigInt(\"0\"),\n intervalConfigs: [],\n aptosIntervalConfigs: [],\n moveIntervalConfigs: [],\n logConfigs: [],\n };\n}\n\nexport const AccountConfig = {\n encode(message: AccountConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.chainId !== \"\") {\n writer.uint32(10).string(message.chainId);\n }\n if (message.address !== \"\") {\n writer.uint32(18).string(message.address);\n }\n if (message.startBlock !== BigInt(\"0\")) {\n writer.uint32(24).uint64(message.startBlock.toString());\n }\n for (const v of message.intervalConfigs) {\n OnIntervalConfig.encode(v!, writer.uint32(34).fork()).ldelim();\n }\n for (const v of message.aptosIntervalConfigs) {\n AptosOnIntervalConfig.encode(v!, writer.uint32(42).fork()).ldelim();\n }\n for (const v of message.moveIntervalConfigs) {\n MoveOnIntervalConfig.encode(v!, writer.uint32(58).fork()).ldelim();\n }\n for (const v of message.logConfigs) {\n LogHandlerConfig.encode(v!, writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AccountConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAccountConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.chainId = reader.string();\n break;\n case 2:\n message.address = reader.string();\n break;\n case 3:\n message.startBlock = longToBigint(reader.uint64() as Long);\n break;\n case 4:\n message.intervalConfigs.push(OnIntervalConfig.decode(reader, reader.uint32()));\n break;\n case 5:\n message.aptosIntervalConfigs.push(AptosOnIntervalConfig.decode(reader, reader.uint32()));\n break;\n case 7:\n message.moveIntervalConfigs.push(MoveOnIntervalConfig.decode(reader, reader.uint32()));\n break;\n case 6:\n message.logConfigs.push(LogHandlerConfig.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AccountConfig {\n return {\n chainId: isSet(object.chainId) ? String(object.chainId) : \"\",\n address: isSet(object.address) ? String(object.address) : \"\",\n startBlock: isSet(object.startBlock) ? BigInt(object.startBlock) : BigInt(\"0\"),\n intervalConfigs: Array.isArray(object?.intervalConfigs)\n ? object.intervalConfigs.map((e: any) => OnIntervalConfig.fromJSON(e))\n : [],\n aptosIntervalConfigs: Array.isArray(object?.aptosIntervalConfigs)\n ? object.aptosIntervalConfigs.map((e: any) => AptosOnIntervalConfig.fromJSON(e))\n : [],\n moveIntervalConfigs: Array.isArray(object?.moveIntervalConfigs)\n ? object.moveIntervalConfigs.map((e: any) => MoveOnIntervalConfig.fromJSON(e))\n : [],\n logConfigs: Array.isArray(object?.logConfigs)\n ? object.logConfigs.map((e: any) => LogHandlerConfig.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: AccountConfig): unknown {\n const obj: any = {};\n message.chainId !== undefined && (obj.chainId = message.chainId);\n message.address !== undefined && (obj.address = message.address);\n message.startBlock !== undefined && (obj.startBlock = message.startBlock.toString());\n if (message.intervalConfigs) {\n obj.intervalConfigs = message.intervalConfigs.map((e) => e ? OnIntervalConfig.toJSON(e) : undefined);\n } else {\n obj.intervalConfigs = [];\n }\n if (message.aptosIntervalConfigs) {\n obj.aptosIntervalConfigs = message.aptosIntervalConfigs.map((e) =>\n e ? AptosOnIntervalConfig.toJSON(e) : undefined\n );\n } else {\n obj.aptosIntervalConfigs = [];\n }\n if (message.moveIntervalConfigs) {\n obj.moveIntervalConfigs = message.moveIntervalConfigs.map((e) => e ? MoveOnIntervalConfig.toJSON(e) : undefined);\n } else {\n obj.moveIntervalConfigs = [];\n }\n if (message.logConfigs) {\n obj.logConfigs = message.logConfigs.map((e) => e ? LogHandlerConfig.toJSON(e) : undefined);\n } else {\n obj.logConfigs = [];\n }\n return obj;\n },\n\n create(base?: DeepPartial<AccountConfig>): AccountConfig {\n return AccountConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<AccountConfig>): AccountConfig {\n const message = createBaseAccountConfig();\n message.chainId = object.chainId ?? \"\";\n message.address = object.address ?? \"\";\n message.startBlock = object.startBlock ?? BigInt(\"0\");\n message.intervalConfigs = object.intervalConfigs?.map((e) => OnIntervalConfig.fromPartial(e)) || [];\n message.aptosIntervalConfigs = object.aptosIntervalConfigs?.map((e) => AptosOnIntervalConfig.fromPartial(e)) || [];\n message.moveIntervalConfigs = object.moveIntervalConfigs?.map((e) => MoveOnIntervalConfig.fromPartial(e)) || [];\n message.logConfigs = object.logConfigs?.map((e) => LogHandlerConfig.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseHandleInterval(): HandleInterval {\n return { recentInterval: 0, backfillInterval: 0 };\n}\n\nexport const HandleInterval = {\n encode(message: HandleInterval, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.recentInterval !== 0) {\n writer.uint32(8).int32(message.recentInterval);\n }\n if (message.backfillInterval !== 0) {\n writer.uint32(16).int32(message.backfillInterval);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): HandleInterval {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseHandleInterval();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.recentInterval = reader.int32();\n break;\n case 2:\n message.backfillInterval = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): HandleInterval {\n return {\n recentInterval: isSet(object.recentInterval) ? Number(object.recentInterval) : 0,\n backfillInterval: isSet(object.backfillInterval) ? Number(object.backfillInterval) : 0,\n };\n },\n\n toJSON(message: HandleInterval): unknown {\n const obj: any = {};\n message.recentInterval !== undefined && (obj.recentInterval = Math.round(message.recentInterval));\n message.backfillInterval !== undefined && (obj.backfillInterval = Math.round(message.backfillInterval));\n return obj;\n },\n\n create(base?: DeepPartial<HandleInterval>): HandleInterval {\n return HandleInterval.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<HandleInterval>): HandleInterval {\n const message = createBaseHandleInterval();\n message.recentInterval = object.recentInterval ?? 0;\n message.backfillInterval = object.backfillInterval ?? 0;\n return message;\n },\n};\n\nfunction createBaseOnIntervalConfig(): OnIntervalConfig {\n return {\n handlerId: 0,\n minutes: 0,\n minutesInterval: undefined,\n slot: 0,\n slotInterval: undefined,\n fetchConfig: undefined,\n };\n}\n\nexport const OnIntervalConfig = {\n encode(message: OnIntervalConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.handlerId !== 0) {\n writer.uint32(8).int32(message.handlerId);\n }\n if (message.minutes !== 0) {\n writer.uint32(16).int32(message.minutes);\n }\n if (message.minutesInterval !== undefined) {\n HandleInterval.encode(message.minutesInterval, writer.uint32(34).fork()).ldelim();\n }\n if (message.slot !== 0) {\n writer.uint32(24).int32(message.slot);\n }\n if (message.slotInterval !== undefined) {\n HandleInterval.encode(message.slotInterval, writer.uint32(42).fork()).ldelim();\n }\n if (message.fetchConfig !== undefined) {\n EthFetchConfig.encode(message.fetchConfig, writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): OnIntervalConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseOnIntervalConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.handlerId = reader.int32();\n break;\n case 2:\n message.minutes = reader.int32();\n break;\n case 4:\n message.minutesInterval = HandleInterval.decode(reader, reader.uint32());\n break;\n case 3:\n message.slot = reader.int32();\n break;\n case 5:\n message.slotInterval = HandleInterval.decode(reader, reader.uint32());\n break;\n case 6:\n message.fetchConfig = EthFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): OnIntervalConfig {\n return {\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n minutes: isSet(object.minutes) ? Number(object.minutes) : 0,\n minutesInterval: isSet(object.minutesInterval) ? HandleInterval.fromJSON(object.minutesInterval) : undefined,\n slot: isSet(object.slot) ? Number(object.slot) : 0,\n slotInterval: isSet(object.slotInterval) ? HandleInterval.fromJSON(object.slotInterval) : undefined,\n fetchConfig: isSet(object.fetchConfig) ? EthFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: OnIntervalConfig): unknown {\n const obj: any = {};\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n message.minutes !== undefined && (obj.minutes = Math.round(message.minutes));\n message.minutesInterval !== undefined &&\n (obj.minutesInterval = message.minutesInterval ? HandleInterval.toJSON(message.minutesInterval) : undefined);\n message.slot !== undefined && (obj.slot = Math.round(message.slot));\n message.slotInterval !== undefined &&\n (obj.slotInterval = message.slotInterval ? HandleInterval.toJSON(message.slotInterval) : undefined);\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? EthFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<OnIntervalConfig>): OnIntervalConfig {\n return OnIntervalConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<OnIntervalConfig>): OnIntervalConfig {\n const message = createBaseOnIntervalConfig();\n message.handlerId = object.handlerId ?? 0;\n message.minutes = object.minutes ?? 0;\n message.minutesInterval = (object.minutesInterval !== undefined && object.minutesInterval !== null)\n ? HandleInterval.fromPartial(object.minutesInterval)\n : undefined;\n message.slot = object.slot ?? 0;\n message.slotInterval = (object.slotInterval !== undefined && object.slotInterval !== null)\n ? HandleInterval.fromPartial(object.slotInterval)\n : undefined;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? EthFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseAptosOnIntervalConfig(): AptosOnIntervalConfig {\n return { intervalConfig: undefined, type: \"\" };\n}\n\nexport const AptosOnIntervalConfig = {\n encode(message: AptosOnIntervalConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.intervalConfig !== undefined) {\n OnIntervalConfig.encode(message.intervalConfig, writer.uint32(10).fork()).ldelim();\n }\n if (message.type !== \"\") {\n writer.uint32(18).string(message.type);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AptosOnIntervalConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAptosOnIntervalConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.intervalConfig = OnIntervalConfig.decode(reader, reader.uint32());\n break;\n case 2:\n message.type = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AptosOnIntervalConfig {\n return {\n intervalConfig: isSet(object.intervalConfig) ? OnIntervalConfig.fromJSON(object.intervalConfig) : undefined,\n type: isSet(object.type) ? String(object.type) : \"\",\n };\n },\n\n toJSON(message: AptosOnIntervalConfig): unknown {\n const obj: any = {};\n message.intervalConfig !== undefined &&\n (obj.intervalConfig = message.intervalConfig ? OnIntervalConfig.toJSON(message.intervalConfig) : undefined);\n message.type !== undefined && (obj.type = message.type);\n return obj;\n },\n\n create(base?: DeepPartial<AptosOnIntervalConfig>): AptosOnIntervalConfig {\n return AptosOnIntervalConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<AptosOnIntervalConfig>): AptosOnIntervalConfig {\n const message = createBaseAptosOnIntervalConfig();\n message.intervalConfig = (object.intervalConfig !== undefined && object.intervalConfig !== null)\n ? OnIntervalConfig.fromPartial(object.intervalConfig)\n : undefined;\n message.type = object.type ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMoveOnIntervalConfig(): MoveOnIntervalConfig {\n return { intervalConfig: undefined, type: \"\", ownerType: 0, fetchConfig: undefined };\n}\n\nexport const MoveOnIntervalConfig = {\n encode(message: MoveOnIntervalConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.intervalConfig !== undefined) {\n OnIntervalConfig.encode(message.intervalConfig, writer.uint32(10).fork()).ldelim();\n }\n if (message.type !== \"\") {\n writer.uint32(18).string(message.type);\n }\n if (message.ownerType !== 0) {\n writer.uint32(24).int32(message.ownerType);\n }\n if (message.fetchConfig !== undefined) {\n MoveAccountFetchConfig.encode(message.fetchConfig, writer.uint32(34).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveOnIntervalConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveOnIntervalConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.intervalConfig = OnIntervalConfig.decode(reader, reader.uint32());\n break;\n case 2:\n message.type = reader.string();\n break;\n case 3:\n message.ownerType = reader.int32() as any;\n break;\n case 4:\n message.fetchConfig = MoveAccountFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveOnIntervalConfig {\n return {\n intervalConfig: isSet(object.intervalConfig) ? OnIntervalConfig.fromJSON(object.intervalConfig) : undefined,\n type: isSet(object.type) ? String(object.type) : \"\",\n ownerType: isSet(object.ownerType) ? moveOwnerTypeFromJSON(object.ownerType) : 0,\n fetchConfig: isSet(object.fetchConfig) ? MoveAccountFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: MoveOnIntervalConfig): unknown {\n const obj: any = {};\n message.intervalConfig !== undefined &&\n (obj.intervalConfig = message.intervalConfig ? OnIntervalConfig.toJSON(message.intervalConfig) : undefined);\n message.type !== undefined && (obj.type = message.type);\n message.ownerType !== undefined && (obj.ownerType = moveOwnerTypeToJSON(message.ownerType));\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? MoveAccountFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<MoveOnIntervalConfig>): MoveOnIntervalConfig {\n return MoveOnIntervalConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveOnIntervalConfig>): MoveOnIntervalConfig {\n const message = createBaseMoveOnIntervalConfig();\n message.intervalConfig = (object.intervalConfig !== undefined && object.intervalConfig !== null)\n ? OnIntervalConfig.fromPartial(object.intervalConfig)\n : undefined;\n message.type = object.type ?? \"\";\n message.ownerType = object.ownerType ?? 0;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? MoveAccountFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseContractInfo(): ContractInfo {\n return { name: \"\", chainId: \"\", address: \"\", abi: \"\" };\n}\n\nexport const ContractInfo = {\n encode(message: ContractInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.chainId !== \"\") {\n writer.uint32(18).string(message.chainId);\n }\n if (message.address !== \"\") {\n writer.uint32(26).string(message.address);\n }\n if (message.abi !== \"\") {\n writer.uint32(34).string(message.abi);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ContractInfo {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseContractInfo();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 2:\n message.chainId = reader.string();\n break;\n case 3:\n message.address = reader.string();\n break;\n case 4:\n message.abi = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ContractInfo {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n chainId: isSet(object.chainId) ? String(object.chainId) : \"\",\n address: isSet(object.address) ? String(object.address) : \"\",\n abi: isSet(object.abi) ? String(object.abi) : \"\",\n };\n },\n\n toJSON(message: ContractInfo): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.chainId !== undefined && (obj.chainId = message.chainId);\n message.address !== undefined && (obj.address = message.address);\n message.abi !== undefined && (obj.abi = message.abi);\n return obj;\n },\n\n create(base?: DeepPartial<ContractInfo>): ContractInfo {\n return ContractInfo.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ContractInfo>): ContractInfo {\n const message = createBaseContractInfo();\n message.name = object.name ?? \"\";\n message.chainId = object.chainId ?? \"\";\n message.address = object.address ?? \"\";\n message.abi = object.abi ?? \"\";\n return message;\n },\n};\n\nfunction createBaseTemplateInstance(): TemplateInstance {\n return { contract: undefined, startBlock: BigInt(\"0\"), endBlock: BigInt(\"0\"), templateId: 0 };\n}\n\nexport const TemplateInstance = {\n encode(message: TemplateInstance, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.contract !== undefined) {\n ContractInfo.encode(message.contract, writer.uint32(10).fork()).ldelim();\n }\n if (message.startBlock !== BigInt(\"0\")) {\n writer.uint32(16).uint64(message.startBlock.toString());\n }\n if (message.endBlock !== BigInt(\"0\")) {\n writer.uint32(24).uint64(message.endBlock.toString());\n }\n if (message.templateId !== 0) {\n writer.uint32(32).int32(message.templateId);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TemplateInstance {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTemplateInstance();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.contract = ContractInfo.decode(reader, reader.uint32());\n break;\n case 2:\n message.startBlock = longToBigint(reader.uint64() as Long);\n break;\n case 3:\n message.endBlock = longToBigint(reader.uint64() as Long);\n break;\n case 4:\n message.templateId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): TemplateInstance {\n return {\n contract: isSet(object.contract) ? ContractInfo.fromJSON(object.contract) : undefined,\n startBlock: isSet(object.startBlock) ? BigInt(object.startBlock) : BigInt(\"0\"),\n endBlock: isSet(object.endBlock) ? BigInt(object.endBlock) : BigInt(\"0\"),\n templateId: isSet(object.templateId) ? Number(object.templateId) : 0,\n };\n },\n\n toJSON(message: TemplateInstance): unknown {\n const obj: any = {};\n message.contract !== undefined &&\n (obj.contract = message.contract ? ContractInfo.toJSON(message.contract) : undefined);\n message.startBlock !== undefined && (obj.startBlock = message.startBlock.toString());\n message.endBlock !== undefined && (obj.endBlock = message.endBlock.toString());\n message.templateId !== undefined && (obj.templateId = Math.round(message.templateId));\n return obj;\n },\n\n create(base?: DeepPartial<TemplateInstance>): TemplateInstance {\n return TemplateInstance.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<TemplateInstance>): TemplateInstance {\n const message = createBaseTemplateInstance();\n message.contract = (object.contract !== undefined && object.contract !== null)\n ? ContractInfo.fromPartial(object.contract)\n : undefined;\n message.startBlock = object.startBlock ?? BigInt(\"0\");\n message.endBlock = object.endBlock ?? BigInt(\"0\");\n message.templateId = object.templateId ?? 0;\n return message;\n },\n};\n\nfunction createBaseStartRequest(): StartRequest {\n return { templateInstances: [] };\n}\n\nexport const StartRequest = {\n encode(message: StartRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.templateInstances) {\n TemplateInstance.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): StartRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseStartRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.templateInstances.push(TemplateInstance.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): StartRequest {\n return {\n templateInstances: Array.isArray(object?.templateInstances)\n ? object.templateInstances.map((e: any) => TemplateInstance.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: StartRequest): unknown {\n const obj: any = {};\n if (message.templateInstances) {\n obj.templateInstances = message.templateInstances.map((e) => e ? TemplateInstance.toJSON(e) : undefined);\n } else {\n obj.templateInstances = [];\n }\n return obj;\n },\n\n create(base?: DeepPartial<StartRequest>): StartRequest {\n return StartRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<StartRequest>): StartRequest {\n const message = createBaseStartRequest();\n message.templateInstances = object.templateInstances?.map((e) => TemplateInstance.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseBlockHandlerConfig(): BlockHandlerConfig {\n return { handlerId: 0 };\n}\n\nexport const BlockHandlerConfig = {\n encode(message: BlockHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.handlerId !== 0) {\n writer.uint32(8).int32(message.handlerId);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): BlockHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBlockHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.handlerId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): BlockHandlerConfig {\n return { handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0 };\n },\n\n toJSON(message: BlockHandlerConfig): unknown {\n const obj: any = {};\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n return obj;\n },\n\n create(base?: DeepPartial<BlockHandlerConfig>): BlockHandlerConfig {\n return BlockHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<BlockHandlerConfig>): BlockHandlerConfig {\n const message = createBaseBlockHandlerConfig();\n message.handlerId = object.handlerId ?? 0;\n return message;\n },\n};\n\nfunction createBaseEthFetchConfig(): EthFetchConfig {\n return { transaction: false, transactionReceipt: false, block: false, trace: false };\n}\n\nexport const EthFetchConfig = {\n encode(message: EthFetchConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.transaction === true) {\n writer.uint32(8).bool(message.transaction);\n }\n if (message.transactionReceipt === true) {\n writer.uint32(16).bool(message.transactionReceipt);\n }\n if (message.block === true) {\n writer.uint32(24).bool(message.block);\n }\n if (message.trace === true) {\n writer.uint32(32).bool(message.trace);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): EthFetchConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseEthFetchConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.transaction = reader.bool();\n break;\n case 2:\n message.transactionReceipt = reader.bool();\n break;\n case 3:\n message.block = reader.bool();\n break;\n case 4:\n message.trace = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): EthFetchConfig {\n return {\n transaction: isSet(object.transaction) ? Boolean(object.transaction) : false,\n transactionReceipt: isSet(object.transactionReceipt) ? Boolean(object.transactionReceipt) : false,\n block: isSet(object.block) ? Boolean(object.block) : false,\n trace: isSet(object.trace) ? Boolean(object.trace) : false,\n };\n },\n\n toJSON(message: EthFetchConfig): unknown {\n const obj: any = {};\n message.transaction !== undefined && (obj.transaction = message.transaction);\n message.transactionReceipt !== undefined && (obj.transactionReceipt = message.transactionReceipt);\n message.block !== undefined && (obj.block = message.block);\n message.trace !== undefined && (obj.trace = message.trace);\n return obj;\n },\n\n create(base?: DeepPartial<EthFetchConfig>): EthFetchConfig {\n return EthFetchConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<EthFetchConfig>): EthFetchConfig {\n const message = createBaseEthFetchConfig();\n message.transaction = object.transaction ?? false;\n message.transactionReceipt = object.transactionReceipt ?? false;\n message.block = object.block ?? false;\n message.trace = object.trace ?? false;\n return message;\n },\n};\n\nfunction createBaseTraceHandlerConfig(): TraceHandlerConfig {\n return { signature: \"\", handlerId: 0, fetchConfig: undefined };\n}\n\nexport const TraceHandlerConfig = {\n encode(message: TraceHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.signature !== \"\") {\n writer.uint32(10).string(message.signature);\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n if (message.fetchConfig !== undefined) {\n EthFetchConfig.encode(message.fetchConfig, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TraceHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTraceHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.signature = reader.string();\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n case 3:\n message.fetchConfig = EthFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): TraceHandlerConfig {\n return {\n signature: isSet(object.signature) ? String(object.signature) : \"\",\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n fetchConfig: isSet(object.fetchConfig) ? EthFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: TraceHandlerConfig): unknown {\n const obj: any = {};\n message.signature !== undefined && (obj.signature = message.signature);\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? EthFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<TraceHandlerConfig>): TraceHandlerConfig {\n return TraceHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<TraceHandlerConfig>): TraceHandlerConfig {\n const message = createBaseTraceHandlerConfig();\n message.signature = object.signature ?? \"\";\n message.handlerId = object.handlerId ?? 0;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? EthFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseTransactionHandlerConfig(): TransactionHandlerConfig {\n return { handlerId: 0, fetchConfig: undefined };\n}\n\nexport const TransactionHandlerConfig = {\n encode(message: TransactionHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.handlerId !== 0) {\n writer.uint32(8).int32(message.handlerId);\n }\n if (message.fetchConfig !== undefined) {\n EthFetchConfig.encode(message.fetchConfig, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TransactionHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTransactionHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.handlerId = reader.int32();\n break;\n case 3:\n message.fetchConfig = EthFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): TransactionHandlerConfig {\n return {\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n fetchConfig: isSet(object.fetchConfig) ? EthFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: TransactionHandlerConfig): unknown {\n const obj: any = {};\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? EthFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<TransactionHandlerConfig>): TransactionHandlerConfig {\n return TransactionHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<TransactionHandlerConfig>): TransactionHandlerConfig {\n const message = createBaseTransactionHandlerConfig();\n message.handlerId = object.handlerId ?? 0;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? EthFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseLogHandlerConfig(): LogHandlerConfig {\n return { filters: [], handlerId: 0, fetchConfig: undefined };\n}\n\nexport const LogHandlerConfig = {\n encode(message: LogHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.filters) {\n LogFilter.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n if (message.fetchConfig !== undefined) {\n EthFetchConfig.encode(message.fetchConfig, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LogHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLogHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.filters.push(LogFilter.decode(reader, reader.uint32()));\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n case 3:\n message.fetchConfig = EthFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): LogHandlerConfig {\n return {\n filters: Array.isArray(object?.filters) ? object.filters.map((e: any) => LogFilter.fromJSON(e)) : [],\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n fetchConfig: isSet(object.fetchConfig) ? EthFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: LogHandlerConfig): unknown {\n const obj: any = {};\n if (message.filters) {\n obj.filters = message.filters.map((e) => e ? LogFilter.toJSON(e) : undefined);\n } else {\n obj.filters = [];\n }\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? EthFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<LogHandlerConfig>): LogHandlerConfig {\n return LogHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LogHandlerConfig>): LogHandlerConfig {\n const message = createBaseLogHandlerConfig();\n message.filters = object.filters?.map((e) => LogFilter.fromPartial(e)) || [];\n message.handlerId = object.handlerId ?? 0;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? EthFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseLogFilter(): LogFilter {\n return { topics: [], address: undefined, addressType: undefined };\n}\n\nexport const LogFilter = {\n encode(message: LogFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.topics) {\n Topic.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.address !== undefined) {\n writer.uint32(18).string(message.address);\n }\n if (message.addressType !== undefined) {\n writer.uint32(24).int32(message.addressType);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LogFilter {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLogFilter();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.topics.push(Topic.decode(reader, reader.uint32()));\n break;\n case 2:\n message.address = reader.string();\n break;\n case 3:\n message.addressType = reader.int32() as any;\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): LogFilter {\n return {\n topics: Array.isArray(object?.topics) ? object.topics.map((e: any) => Topic.fromJSON(e)) : [],\n address: isSet(object.address) ? String(object.address) : undefined,\n addressType: isSet(object.addressType) ? addressTypeFromJSON(object.addressType) : undefined,\n };\n },\n\n toJSON(message: LogFilter): unknown {\n const obj: any = {};\n if (message.topics) {\n obj.topics = message.topics.map((e) => e ? Topic.toJSON(e) : undefined);\n } else {\n obj.topics = [];\n }\n message.address !== undefined && (obj.address = message.address);\n message.addressType !== undefined &&\n (obj.addressType = message.addressType !== undefined ? addressTypeToJSON(message.addressType) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<LogFilter>): LogFilter {\n return LogFilter.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LogFilter>): LogFilter {\n const message = createBaseLogFilter();\n message.topics = object.topics?.map((e) => Topic.fromPartial(e)) || [];\n message.address = object.address ?? undefined;\n message.addressType = object.addressType ?? undefined;\n return message;\n },\n};\n\nfunction createBaseInstructionHandlerConfig(): InstructionHandlerConfig {\n return { innerInstruction: false, parsedInstruction: false, rawDataInstruction: false };\n}\n\nexport const InstructionHandlerConfig = {\n encode(message: InstructionHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.innerInstruction === true) {\n writer.uint32(8).bool(message.innerInstruction);\n }\n if (message.parsedInstruction === true) {\n writer.uint32(16).bool(message.parsedInstruction);\n }\n if (message.rawDataInstruction === true) {\n writer.uint32(24).bool(message.rawDataInstruction);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): InstructionHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInstructionHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.innerInstruction = reader.bool();\n break;\n case 2:\n message.parsedInstruction = reader.bool();\n break;\n case 3:\n message.rawDataInstruction = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): InstructionHandlerConfig {\n return {\n innerInstruction: isSet(object.innerInstruction) ? Boolean(object.innerInstruction) : false,\n parsedInstruction: isSet(object.parsedInstruction) ? Boolean(object.parsedInstruction) : false,\n rawDataInstruction: isSet(object.rawDataInstruction) ? Boolean(object.rawDataInstruction) : false,\n };\n },\n\n toJSON(message: InstructionHandlerConfig): unknown {\n const obj: any = {};\n message.innerInstruction !== undefined && (obj.innerInstruction = message.innerInstruction);\n message.parsedInstruction !== undefined && (obj.parsedInstruction = message.parsedInstruction);\n message.rawDataInstruction !== undefined && (obj.rawDataInstruction = message.rawDataInstruction);\n return obj;\n },\n\n create(base?: DeepPartial<InstructionHandlerConfig>): InstructionHandlerConfig {\n return InstructionHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<InstructionHandlerConfig>): InstructionHandlerConfig {\n const message = createBaseInstructionHandlerConfig();\n message.innerInstruction = object.innerInstruction ?? false;\n message.parsedInstruction = object.parsedInstruction ?? false;\n message.rawDataInstruction = object.rawDataInstruction ?? false;\n return message;\n },\n};\n\nfunction createBaseMoveFetchConfig(): MoveFetchConfig {\n return { resourceChanges: false, allEvents: false };\n}\n\nexport const MoveFetchConfig = {\n encode(message: MoveFetchConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.resourceChanges === true) {\n writer.uint32(8).bool(message.resourceChanges);\n }\n if (message.allEvents === true) {\n writer.uint32(16).bool(message.allEvents);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveFetchConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveFetchConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.resourceChanges = reader.bool();\n break;\n case 2:\n message.allEvents = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveFetchConfig {\n return {\n resourceChanges: isSet(object.resourceChanges) ? Boolean(object.resourceChanges) : false,\n allEvents: isSet(object.allEvents) ? Boolean(object.allEvents) : false,\n };\n },\n\n toJSON(message: MoveFetchConfig): unknown {\n const obj: any = {};\n message.resourceChanges !== undefined && (obj.resourceChanges = message.resourceChanges);\n message.allEvents !== undefined && (obj.allEvents = message.allEvents);\n return obj;\n },\n\n create(base?: DeepPartial<MoveFetchConfig>): MoveFetchConfig {\n return MoveFetchConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveFetchConfig>): MoveFetchConfig {\n const message = createBaseMoveFetchConfig();\n message.resourceChanges = object.resourceChanges ?? false;\n message.allEvents = object.allEvents ?? false;\n return message;\n },\n};\n\nfunction createBaseMoveAccountFetchConfig(): MoveAccountFetchConfig {\n return { owned: false };\n}\n\nexport const MoveAccountFetchConfig = {\n encode(message: MoveAccountFetchConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.owned === true) {\n writer.uint32(8).bool(message.owned);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveAccountFetchConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveAccountFetchConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.owned = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveAccountFetchConfig {\n return { owned: isSet(object.owned) ? Boolean(object.owned) : false };\n },\n\n toJSON(message: MoveAccountFetchConfig): unknown {\n const obj: any = {};\n message.owned !== undefined && (obj.owned = message.owned);\n return obj;\n },\n\n create(base?: DeepPartial<MoveAccountFetchConfig>): MoveAccountFetchConfig {\n return MoveAccountFetchConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveAccountFetchConfig>): MoveAccountFetchConfig {\n const message = createBaseMoveAccountFetchConfig();\n message.owned = object.owned ?? false;\n return message;\n },\n};\n\nfunction createBaseMoveEventHandlerConfig(): MoveEventHandlerConfig {\n return { filters: [], handlerId: 0, fetchConfig: undefined };\n}\n\nexport const MoveEventHandlerConfig = {\n encode(message: MoveEventHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.filters) {\n MoveEventFilter.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n if (message.fetchConfig !== undefined) {\n MoveFetchConfig.encode(message.fetchConfig, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveEventHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveEventHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.filters.push(MoveEventFilter.decode(reader, reader.uint32()));\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n case 3:\n message.fetchConfig = MoveFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveEventHandlerConfig {\n return {\n filters: Array.isArray(object?.filters) ? object.filters.map((e: any) => MoveEventFilter.fromJSON(e)) : [],\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n fetchConfig: isSet(object.fetchConfig) ? MoveFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: MoveEventHandlerConfig): unknown {\n const obj: any = {};\n if (message.filters) {\n obj.filters = message.filters.map((e) => e ? MoveEventFilter.toJSON(e) : undefined);\n } else {\n obj.filters = [];\n }\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? MoveFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<MoveEventHandlerConfig>): MoveEventHandlerConfig {\n return MoveEventHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveEventHandlerConfig>): MoveEventHandlerConfig {\n const message = createBaseMoveEventHandlerConfig();\n message.filters = object.filters?.map((e) => MoveEventFilter.fromPartial(e)) || [];\n message.handlerId = object.handlerId ?? 0;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? MoveFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMoveEventFilter(): MoveEventFilter {\n return { type: \"\", account: \"\" };\n}\n\nexport const MoveEventFilter = {\n encode(message: MoveEventFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.type !== \"\") {\n writer.uint32(10).string(message.type);\n }\n if (message.account !== \"\") {\n writer.uint32(18).string(message.account);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveEventFilter {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveEventFilter();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.type = reader.string();\n break;\n case 2:\n message.account = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveEventFilter {\n return {\n type: isSet(object.type) ? String(object.type) : \"\",\n account: isSet(object.account) ? String(object.account) : \"\",\n };\n },\n\n toJSON(message: MoveEventFilter): unknown {\n const obj: any = {};\n message.type !== undefined && (obj.type = message.type);\n message.account !== undefined && (obj.account = message.account);\n return obj;\n },\n\n create(base?: DeepPartial<MoveEventFilter>): MoveEventFilter {\n return MoveEventFilter.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveEventFilter>): MoveEventFilter {\n const message = createBaseMoveEventFilter();\n message.type = object.type ?? \"\";\n message.account = object.account ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMoveCallHandlerConfig(): MoveCallHandlerConfig {\n return { filters: [], handlerId: 0, fetchConfig: undefined };\n}\n\nexport const MoveCallHandlerConfig = {\n encode(message: MoveCallHandlerConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.filters) {\n MoveCallFilter.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n if (message.fetchConfig !== undefined) {\n MoveFetchConfig.encode(message.fetchConfig, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveCallHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveCallHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.filters.push(MoveCallFilter.decode(reader, reader.uint32()));\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n case 3:\n message.fetchConfig = MoveFetchConfig.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveCallHandlerConfig {\n return {\n filters: Array.isArray(object?.filters) ? object.filters.map((e: any) => MoveCallFilter.fromJSON(e)) : [],\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n fetchConfig: isSet(object.fetchConfig) ? MoveFetchConfig.fromJSON(object.fetchConfig) : undefined,\n };\n },\n\n toJSON(message: MoveCallHandlerConfig): unknown {\n const obj: any = {};\n if (message.filters) {\n obj.filters = message.filters.map((e) => e ? MoveCallFilter.toJSON(e) : undefined);\n } else {\n obj.filters = [];\n }\n message.handlerId !== undefined && (obj.handlerId = Math.round(message.handlerId));\n message.fetchConfig !== undefined &&\n (obj.fetchConfig = message.fetchConfig ? MoveFetchConfig.toJSON(message.fetchConfig) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<MoveCallHandlerConfig>): MoveCallHandlerConfig {\n return MoveCallHandlerConfig.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveCallHandlerConfig>): MoveCallHandlerConfig {\n const message = createBaseMoveCallHandlerConfig();\n message.filters = object.filters?.map((e) => MoveCallFilter.fromPartial(e)) || [];\n message.handlerId = object.handlerId ?? 0;\n message.fetchConfig = (object.fetchConfig !== undefined && object.fetchConfig !== null)\n ? MoveFetchConfig.fromPartial(object.fetchConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMoveCallFilter(): MoveCallFilter {\n return { function: \"\", typeArguments: [], withTypeArguments: false, includeFailed: false };\n}\n\nexport const MoveCallFilter = {\n encode(message: MoveCallFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.function !== \"\") {\n writer.uint32(10).string(message.function);\n }\n for (const v of message.typeArguments) {\n writer.uint32(18).string(v!);\n }\n if (message.withTypeArguments === true) {\n writer.uint32(24).bool(message.withTypeArguments);\n }\n if (message.includeFailed === true) {\n writer.uint32(32).bool(message.includeFailed);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MoveCallFilter {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMoveCallFilter();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.function = reader.string();\n break;\n case 2:\n message.typeArguments.push(reader.string());\n break;\n case 3:\n message.withTypeArguments = reader.bool();\n break;\n case 4:\n message.includeFailed = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MoveCallFilter {\n return {\n function: isSet(object.function) ? String(object.function) : \"\",\n typeArguments: Array.isArray(object?.typeArguments) ? object.typeArguments.map((e: any) => String(e)) : [],\n withTypeArguments: isSet(object.withTypeArguments) ? Boolean(object.withTypeArguments) : false,\n includeFailed: isSet(object.includeFailed) ? Boolean(object.includeFailed) : false,\n };\n },\n\n toJSON(message: MoveCallFilter): unknown {\n const obj: any = {};\n message.function !== undefined && (obj.function = message.function);\n if (message.typeArguments) {\n obj.typeArguments = message.typeArguments.map((e) => e);\n } else {\n obj.typeArguments = [];\n }\n message.withTypeArguments !== undefined && (obj.withTypeArguments = message.withTypeArguments);\n message.includeFailed !== undefined && (obj.includeFailed = message.includeFailed);\n return obj;\n },\n\n create(base?: DeepPartial<MoveCallFilter>): MoveCallFilter {\n return MoveCallFilter.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MoveCallFilter>): MoveCallFilter {\n const message = createBaseMoveCallFilter();\n message.function = object.function ?? \"\";\n message.typeArguments = object.typeArguments?.map((e) => e) || [];\n message.withTypeArguments = object.withTypeArguments ?? false;\n message.includeFailed = object.includeFailed ?? false;\n return message;\n },\n};\n\nfunction createBaseTopic(): Topic {\n return { hashes: [] };\n}\n\nexport const Topic = {\n encode(message: Topic, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.hashes) {\n writer.uint32(10).string(v!);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Topic {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTopic();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.hashes.push(reader.string());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Topic {\n return { hashes: Array.isArray(object?.hashes) ? object.hashes.map((e: any) => String(e)) : [] };\n },\n\n toJSON(message: Topic): unknown {\n const obj: any = {};\n if (message.hashes) {\n obj.hashes = message.hashes.map((e) => e);\n } else {\n obj.hashes = [];\n }\n return obj;\n },\n\n create(base?: DeepPartial<Topic>): Topic {\n return Topic.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Topic>): Topic {\n const message = createBaseTopic();\n message.hashes = object.hashes?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseProcessBindingsRequest(): ProcessBindingsRequest {\n return { bindings: [] };\n}\n\nexport const ProcessBindingsRequest = {\n encode(message: ProcessBindingsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.bindings) {\n DataBinding.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProcessBindingsRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessBindingsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.bindings.push(DataBinding.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessBindingsRequest {\n return {\n bindings: Array.isArray(object?.bindings) ? object.bindings.map((e: any) => DataBinding.fromJSON(e)) : [],\n };\n },\n\n toJSON(message: ProcessBindingsRequest): unknown {\n const obj: any = {};\n if (message.bindings) {\n obj.bindings = message.bindings.map((e) => e ? DataBinding.toJSON(e) : undefined);\n } else {\n obj.bindings = [];\n }\n return obj;\n },\n\n create(base?: DeepPartial<ProcessBindingsRequest>): ProcessBindingsRequest {\n return ProcessBindingsRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ProcessBindingsRequest>): ProcessBindingsRequest {\n const message = createBaseProcessBindingsRequest();\n message.bindings = object.bindings?.map((e) => DataBinding.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseProcessBindingResponse(): ProcessBindingResponse {\n return { result: undefined, configUpdated: false };\n}\n\nexport const ProcessBindingResponse = {\n encode(message: ProcessBindingResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.result !== undefined) {\n ProcessResult.encode(message.result, writer.uint32(10).fork()).ldelim();\n }\n if (message.configUpdated === true) {\n writer.uint32(32).bool(message.configUpdated);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProcessBindingResponse {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessBindingResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.result = ProcessResult.decode(reader, reader.uint32());\n break;\n case 4:\n message.configUpdated = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessBindingResponse {\n return {\n result: isSet(object.result) ? ProcessResult.fromJSON(object.result) : undefined,\n configUpdated: isSet(object.configUpdated) ? Boolean(object.configUpdated) : false,\n };\n },\n\n toJSON(message: ProcessBindingResponse): unknown {\n const obj: any = {};\n message.result !== undefined && (obj.result = message.result ? ProcessResult.toJSON(message.result) : undefined);\n message.configUpdated !== undefined && (obj.configUpdated = message.configUpdated);\n return obj;\n },\n\n create(base?: DeepPartial<ProcessBindingResponse>): ProcessBindingResponse {\n return ProcessBindingResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ProcessBindingResponse>): ProcessBindingResponse {\n const message = createBaseProcessBindingResponse();\n message.result = (object.result !== undefined && object.result !== null)\n ? ProcessResult.fromPartial(object.result)\n : undefined;\n message.configUpdated = object.configUpdated ?? false;\n return message;\n },\n};\n\nfunction createBaseData(): Data {\n return {\n raw: new Uint8Array(),\n ethLog: undefined,\n ethBlock: undefined,\n ethTransaction: undefined,\n ethTrace: undefined,\n solInstruction: undefined,\n aptEvent: undefined,\n aptCall: undefined,\n aptResource: undefined,\n suiEvent: undefined,\n suiCall: undefined,\n suiObject: undefined,\n };\n}\n\nexport const Data = {\n encode(message: Data, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.raw.length !== 0) {\n writer.uint32(10).bytes(message.raw);\n }\n if (message.ethLog !== undefined) {\n Data_EthLog.encode(message.ethLog, writer.uint32(18).fork()).ldelim();\n }\n if (message.ethBlock !== undefined) {\n Data_EthBlock.encode(message.ethBlock, writer.uint32(26).fork()).ldelim();\n }\n if (message.ethTransaction !== undefined) {\n Data_EthTransaction.encode(message.ethTransaction, writer.uint32(34).fork()).ldelim();\n }\n if (message.ethTrace !== undefined) {\n Data_EthTrace.encode(message.ethTrace, writer.uint32(42).fork()).ldelim();\n }\n if (message.solInstruction !== undefined) {\n Data_SolInstruction.encode(message.solInstruction, writer.uint32(50).fork()).ldelim();\n }\n if (message.aptEvent !== undefined) {\n Data_AptEvent.encode(message.aptEvent, writer.uint32(58).fork()).ldelim();\n }\n if (message.aptCall !== undefined) {\n Data_AptCall.encode(message.aptCall, writer.uint32(66).fork()).ldelim();\n }\n if (message.aptResource !== undefined) {\n Data_AptResource.encode(message.aptResource, writer.uint32(74).fork()).ldelim();\n }\n if (message.suiEvent !== undefined) {\n Data_SuiEvent.encode(message.suiEvent, writer.uint32(82).fork()).ldelim();\n }\n if (message.suiCall !== undefined) {\n Data_SuiCall.encode(message.suiCall, writer.uint32(90).fork()).ldelim();\n }\n if (message.suiObject !== undefined) {\n Data_SuiObject.encode(message.suiObject, writer.uint32(98).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.raw = reader.bytes();\n break;\n case 2:\n message.ethLog = Data_EthLog.decode(reader, reader.uint32());\n break;\n case 3:\n message.ethBlock = Data_EthBlock.decode(reader, reader.uint32());\n break;\n case 4:\n message.ethTransaction = Data_EthTransaction.decode(reader, reader.uint32());\n break;\n case 5:\n message.ethTrace = Data_EthTrace.decode(reader, reader.uint32());\n break;\n case 6:\n message.solInstruction = Data_SolInstruction.decode(reader, reader.uint32());\n break;\n case 7:\n message.aptEvent = Data_AptEvent.decode(reader, reader.uint32());\n break;\n case 8:\n message.aptCall = Data_AptCall.decode(reader, reader.uint32());\n break;\n case 9:\n message.aptResource = Data_AptResource.decode(reader, reader.uint32());\n break;\n case 10:\n message.suiEvent = Data_SuiEvent.decode(reader, reader.uint32());\n break;\n case 11:\n message.suiCall = Data_SuiCall.decode(reader, reader.uint32());\n break;\n case 12:\n message.suiObject = Data_SuiObject.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data {\n return {\n raw: isSet(object.raw) ? bytesFromBase64(object.raw) : new Uint8Array(),\n ethLog: isSet(object.ethLog) ? Data_EthLog.fromJSON(object.ethLog) : undefined,\n ethBlock: isSet(object.ethBlock) ? Data_EthBlock.fromJSON(object.ethBlock) : undefined,\n ethTransaction: isSet(object.ethTransaction) ? Data_EthTransaction.fromJSON(object.ethTransaction) : undefined,\n ethTrace: isSet(object.ethTrace) ? Data_EthTrace.fromJSON(object.ethTrace) : undefined,\n solInstruction: isSet(object.solInstruction) ? Data_SolInstruction.fromJSON(object.solInstruction) : undefined,\n aptEvent: isSet(object.aptEvent) ? Data_AptEvent.fromJSON(object.aptEvent) : undefined,\n aptCall: isSet(object.aptCall) ? Data_AptCall.fromJSON(object.aptCall) : undefined,\n aptResource: isSet(object.aptResource) ? Data_AptResource.fromJSON(object.aptResource) : undefined,\n suiEvent: isSet(object.suiEvent) ? Data_SuiEvent.fromJSON(object.suiEvent) : undefined,\n suiCall: isSet(object.suiCall) ? Data_SuiCall.fromJSON(object.suiCall) : undefined,\n suiObject: isSet(object.suiObject) ? Data_SuiObject.fromJSON(object.suiObject) : undefined,\n };\n },\n\n toJSON(message: Data): unknown {\n const obj: any = {};\n message.raw !== undefined &&\n (obj.raw = base64FromBytes(message.raw !== undefined ? message.raw : new Uint8Array()));\n message.ethLog !== undefined && (obj.ethLog = message.ethLog ? Data_EthLog.toJSON(message.ethLog) : undefined);\n message.ethBlock !== undefined &&\n (obj.ethBlock = message.ethBlock ? Data_EthBlock.toJSON(message.ethBlock) : undefined);\n message.ethTransaction !== undefined &&\n (obj.ethTransaction = message.ethTransaction ? Data_EthTransaction.toJSON(message.ethTransaction) : undefined);\n message.ethTrace !== undefined &&\n (obj.ethTrace = message.ethTrace ? Data_EthTrace.toJSON(message.ethTrace) : undefined);\n message.solInstruction !== undefined &&\n (obj.solInstruction = message.solInstruction ? Data_SolInstruction.toJSON(message.solInstruction) : undefined);\n message.aptEvent !== undefined &&\n (obj.aptEvent = message.aptEvent ? Data_AptEvent.toJSON(message.aptEvent) : undefined);\n message.aptCall !== undefined && (obj.aptCall = message.aptCall ? Data_AptCall.toJSON(message.aptCall) : undefined);\n message.aptResource !== undefined &&\n (obj.aptResource = message.aptResource ? Data_AptResource.toJSON(message.aptResource) : undefined);\n message.suiEvent !== undefined &&\n (obj.suiEvent = message.suiEvent ? Data_SuiEvent.toJSON(message.suiEvent) : undefined);\n message.suiCall !== undefined && (obj.suiCall = message.suiCall ? Data_SuiCall.toJSON(message.suiCall) : undefined);\n message.suiObject !== undefined &&\n (obj.suiObject = message.suiObject ? Data_SuiObject.toJSON(message.suiObject) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<Data>): Data {\n return Data.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data>): Data {\n const message = createBaseData();\n message.raw = object.raw ?? new Uint8Array();\n message.ethLog = (object.ethLog !== undefined && object.ethLog !== null)\n ? Data_EthLog.fromPartial(object.ethLog)\n : undefined;\n message.ethBlock = (object.ethBlock !== undefined && object.ethBlock !== null)\n ? Data_EthBlock.fromPartial(object.ethBlock)\n : undefined;\n message.ethTransaction = (object.ethTransaction !== undefined && object.ethTransaction !== null)\n ? Data_EthTransaction.fromPartial(object.ethTransaction)\n : undefined;\n message.ethTrace = (object.ethTrace !== undefined && object.ethTrace !== null)\n ? Data_EthTrace.fromPartial(object.ethTrace)\n : undefined;\n message.solInstruction = (object.solInstruction !== undefined && object.solInstruction !== null)\n ? Data_SolInstruction.fromPartial(object.solInstruction)\n : undefined;\n message.aptEvent = (object.aptEvent !== undefined && object.aptEvent !== null)\n ? Data_AptEvent.fromPartial(object.aptEvent)\n : undefined;\n message.aptCall = (object.aptCall !== undefined && object.aptCall !== null)\n ? Data_AptCall.fromPartial(object.aptCall)\n : undefined;\n message.aptResource = (object.aptResource !== undefined && object.aptResource !== null)\n ? Data_AptResource.fromPartial(object.aptResource)\n : undefined;\n message.suiEvent = (object.suiEvent !== undefined && object.suiEvent !== null)\n ? Data_SuiEvent.fromPartial(object.suiEvent)\n : undefined;\n message.suiCall = (object.suiCall !== undefined && object.suiCall !== null)\n ? Data_SuiCall.fromPartial(object.suiCall)\n : undefined;\n message.suiObject = (object.suiObject !== undefined && object.suiObject !== null)\n ? Data_SuiObject.fromPartial(object.suiObject)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseData_EthLog(): Data_EthLog {\n return {\n log: undefined,\n timestamp: undefined,\n transaction: undefined,\n transactionReceipt: undefined,\n block: undefined,\n };\n}\n\nexport const Data_EthLog = {\n encode(message: Data_EthLog, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.log !== undefined) {\n Struct.encode(Struct.wrap(message.log), writer.uint32(26).fork()).ldelim();\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(34).fork()).ldelim();\n }\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(18).fork()).ldelim();\n }\n if (message.transactionReceipt !== undefined) {\n Struct.encode(Struct.wrap(message.transactionReceipt), writer.uint32(42).fork()).ldelim();\n }\n if (message.block !== undefined) {\n Struct.encode(Struct.wrap(message.block), writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_EthLog {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_EthLog();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 3:\n message.log = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 4:\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n break;\n case 2:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 5:\n message.transactionReceipt = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 6:\n message.block = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_EthLog {\n return {\n log: isObject(object.log) ? object.log : undefined,\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n transaction: isObject(object.transaction) ? object.transaction : undefined,\n transactionReceipt: isObject(object.transactionReceipt) ? object.transactionReceipt : undefined,\n block: isObject(object.block) ? object.block : undefined,\n };\n },\n\n toJSON(message: Data_EthLog): unknown {\n const obj: any = {};\n message.log !== undefined && (obj.log = message.log);\n message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());\n message.transaction !== undefined && (obj.transaction = message.transaction);\n message.transactionReceipt !== undefined && (obj.transactionReceipt = message.transactionReceipt);\n message.block !== undefined && (obj.block = message.block);\n return obj;\n },\n\n create(base?: DeepPartial<Data_EthLog>): Data_EthLog {\n return Data_EthLog.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_EthLog>): Data_EthLog {\n const message = createBaseData_EthLog();\n message.log = object.log ?? undefined;\n message.timestamp = object.timestamp ?? undefined;\n message.transaction = object.transaction ?? undefined;\n message.transactionReceipt = object.transactionReceipt ?? undefined;\n message.block = object.block ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_EthBlock(): Data_EthBlock {\n return { block: undefined };\n}\n\nexport const Data_EthBlock = {\n encode(message: Data_EthBlock, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.block !== undefined) {\n Struct.encode(Struct.wrap(message.block), writer.uint32(18).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_EthBlock {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_EthBlock();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2:\n message.block = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_EthBlock {\n return { block: isObject(object.block) ? object.block : undefined };\n },\n\n toJSON(message: Data_EthBlock): unknown {\n const obj: any = {};\n message.block !== undefined && (obj.block = message.block);\n return obj;\n },\n\n create(base?: DeepPartial<Data_EthBlock>): Data_EthBlock {\n return Data_EthBlock.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_EthBlock>): Data_EthBlock {\n const message = createBaseData_EthBlock();\n message.block = object.block ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_EthTransaction(): Data_EthTransaction {\n return {\n transaction: undefined,\n timestamp: undefined,\n transactionReceipt: undefined,\n block: undefined,\n trace: undefined,\n };\n}\n\nexport const Data_EthTransaction = {\n encode(message: Data_EthTransaction, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(34).fork()).ldelim();\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(42).fork()).ldelim();\n }\n if (message.transactionReceipt !== undefined) {\n Struct.encode(Struct.wrap(message.transactionReceipt), writer.uint32(26).fork()).ldelim();\n }\n if (message.block !== undefined) {\n Struct.encode(Struct.wrap(message.block), writer.uint32(50).fork()).ldelim();\n }\n if (message.trace !== undefined) {\n Struct.encode(Struct.wrap(message.trace), writer.uint32(58).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_EthTransaction {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_EthTransaction();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 4:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 5:\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n break;\n case 3:\n message.transactionReceipt = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 6:\n message.block = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 7:\n message.trace = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_EthTransaction {\n return {\n transaction: isObject(object.transaction) ? object.transaction : undefined,\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n transactionReceipt: isObject(object.transactionReceipt) ? object.transactionReceipt : undefined,\n block: isObject(object.block) ? object.block : undefined,\n trace: isObject(object.trace) ? object.trace : undefined,\n };\n },\n\n toJSON(message: Data_EthTransaction): unknown {\n const obj: any = {};\n message.transaction !== undefined && (obj.transaction = message.transaction);\n message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());\n message.transactionReceipt !== undefined && (obj.transactionReceipt = message.transactionReceipt);\n message.block !== undefined && (obj.block = message.block);\n message.trace !== undefined && (obj.trace = message.trace);\n return obj;\n },\n\n create(base?: DeepPartial<Data_EthTransaction>): Data_EthTransaction {\n return Data_EthTransaction.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_EthTransaction>): Data_EthTransaction {\n const message = createBaseData_EthTransaction();\n message.transaction = object.transaction ?? undefined;\n message.timestamp = object.timestamp ?? undefined;\n message.transactionReceipt = object.transactionReceipt ?? undefined;\n message.block = object.block ?? undefined;\n message.trace = object.trace ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_EthTrace(): Data_EthTrace {\n return {\n trace: undefined,\n timestamp: undefined,\n transaction: undefined,\n transactionReceipt: undefined,\n block: undefined,\n };\n}\n\nexport const Data_EthTrace = {\n encode(message: Data_EthTrace, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.trace !== undefined) {\n Struct.encode(Struct.wrap(message.trace), writer.uint32(34).fork()).ldelim();\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(42).fork()).ldelim();\n }\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(18).fork()).ldelim();\n }\n if (message.transactionReceipt !== undefined) {\n Struct.encode(Struct.wrap(message.transactionReceipt), writer.uint32(26).fork()).ldelim();\n }\n if (message.block !== undefined) {\n Struct.encode(Struct.wrap(message.block), writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_EthTrace {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_EthTrace();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 4:\n message.trace = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 5:\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n break;\n case 2:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 3:\n message.transactionReceipt = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 6:\n message.block = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_EthTrace {\n return {\n trace: isObject(object.trace) ? object.trace : undefined,\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n transaction: isObject(object.transaction) ? object.transaction : undefined,\n transactionReceipt: isObject(object.transactionReceipt) ? object.transactionReceipt : undefined,\n block: isObject(object.block) ? object.block : undefined,\n };\n },\n\n toJSON(message: Data_EthTrace): unknown {\n const obj: any = {};\n message.trace !== undefined && (obj.trace = message.trace);\n message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());\n message.transaction !== undefined && (obj.transaction = message.transaction);\n message.transactionReceipt !== undefined && (obj.transactionReceipt = message.transactionReceipt);\n message.block !== undefined && (obj.block = message.block);\n return obj;\n },\n\n create(base?: DeepPartial<Data_EthTrace>): Data_EthTrace {\n return Data_EthTrace.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_EthTrace>): Data_EthTrace {\n const message = createBaseData_EthTrace();\n message.trace = object.trace ?? undefined;\n message.timestamp = object.timestamp ?? undefined;\n message.transaction = object.transaction ?? undefined;\n message.transactionReceipt = object.transactionReceipt ?? undefined;\n message.block = object.block ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_SolInstruction(): Data_SolInstruction {\n return { instructionData: \"\", slot: BigInt(\"0\"), programAccountId: \"\", accounts: [], parsed: undefined };\n}\n\nexport const Data_SolInstruction = {\n encode(message: Data_SolInstruction, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.instructionData !== \"\") {\n writer.uint32(10).string(message.instructionData);\n }\n if (message.slot !== BigInt(\"0\")) {\n writer.uint32(16).uint64(message.slot.toString());\n }\n if (message.programAccountId !== \"\") {\n writer.uint32(26).string(message.programAccountId);\n }\n for (const v of message.accounts) {\n writer.uint32(42).string(v!);\n }\n if (message.parsed !== undefined) {\n Struct.encode(Struct.wrap(message.parsed), writer.uint32(34).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_SolInstruction {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_SolInstruction();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.instructionData = reader.string();\n break;\n case 2:\n message.slot = longToBigint(reader.uint64() as Long);\n break;\n case 3:\n message.programAccountId = reader.string();\n break;\n case 5:\n message.accounts.push(reader.string());\n break;\n case 4:\n message.parsed = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_SolInstruction {\n return {\n instructionData: isSet(object.instructionData) ? String(object.instructionData) : \"\",\n slot: isSet(object.slot) ? BigInt(object.slot) : BigInt(\"0\"),\n programAccountId: isSet(object.programAccountId) ? String(object.programAccountId) : \"\",\n accounts: Array.isArray(object?.accounts) ? object.accounts.map((e: any) => String(e)) : [],\n parsed: isObject(object.parsed) ? object.parsed : undefined,\n };\n },\n\n toJSON(message: Data_SolInstruction): unknown {\n const obj: any = {};\n message.instructionData !== undefined && (obj.instructionData = message.instructionData);\n message.slot !== undefined && (obj.slot = message.slot.toString());\n message.programAccountId !== undefined && (obj.programAccountId = message.programAccountId);\n if (message.accounts) {\n obj.accounts = message.accounts.map((e) => e);\n } else {\n obj.accounts = [];\n }\n message.parsed !== undefined && (obj.parsed = message.parsed);\n return obj;\n },\n\n create(base?: DeepPartial<Data_SolInstruction>): Data_SolInstruction {\n return Data_SolInstruction.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_SolInstruction>): Data_SolInstruction {\n const message = createBaseData_SolInstruction();\n message.instructionData = object.instructionData ?? \"\";\n message.slot = object.slot ?? BigInt(\"0\");\n message.programAccountId = object.programAccountId ?? \"\";\n message.accounts = object.accounts?.map((e) => e) || [];\n message.parsed = object.parsed ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_AptEvent(): Data_AptEvent {\n return { transaction: undefined };\n}\n\nexport const Data_AptEvent = {\n encode(message: Data_AptEvent, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(18).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_AptEvent {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_AptEvent();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_AptEvent {\n return { transaction: isObject(object.transaction) ? object.transaction : undefined };\n },\n\n toJSON(message: Data_AptEvent): unknown {\n const obj: any = {};\n message.transaction !== undefined && (obj.transaction = message.transaction);\n return obj;\n },\n\n create(base?: DeepPartial<Data_AptEvent>): Data_AptEvent {\n return Data_AptEvent.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_AptEvent>): Data_AptEvent {\n const message = createBaseData_AptEvent();\n message.transaction = object.transaction ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_AptCall(): Data_AptCall {\n return { transaction: undefined };\n}\n\nexport const Data_AptCall = {\n encode(message: Data_AptCall, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(18).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_AptCall {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_AptCall();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_AptCall {\n return { transaction: isObject(object.transaction) ? object.transaction : undefined };\n },\n\n toJSON(message: Data_AptCall): unknown {\n const obj: any = {};\n message.transaction !== undefined && (obj.transaction = message.transaction);\n return obj;\n },\n\n create(base?: DeepPartial<Data_AptCall>): Data_AptCall {\n return Data_AptCall.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_AptCall>): Data_AptCall {\n const message = createBaseData_AptCall();\n message.transaction = object.transaction ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData_AptResource(): Data_AptResource {\n return { resources: [], version: BigInt(\"0\"), timestampMicros: BigInt(\"0\") };\n}\n\nexport const Data_AptResource = {\n encode(message: Data_AptResource, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.resources) {\n Struct.encode(Struct.wrap(v!), writer.uint32(34).fork()).ldelim();\n }\n if (message.version !== BigInt(\"0\")) {\n writer.uint32(16).int64(message.version.toString());\n }\n if (message.timestampMicros !== BigInt(\"0\")) {\n writer.uint32(40).int64(message.timestampMicros.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_AptResource {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_AptResource();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 4:\n message.resources.push(Struct.unwrap(Struct.decode(reader, reader.uint32())));\n break;\n case 2:\n message.version = longToBigint(reader.int64() as Long);\n break;\n case 5:\n message.timestampMicros = longToBigint(reader.int64() as Long);\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_AptResource {\n return {\n resources: Array.isArray(object?.resources) ? [...object.resources] : [],\n version: isSet(object.version) ? BigInt(object.version) : BigInt(\"0\"),\n timestampMicros: isSet(object.timestampMicros) ? BigInt(object.timestampMicros) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: Data_AptResource): unknown {\n const obj: any = {};\n if (message.resources) {\n obj.resources = message.resources.map((e) => e);\n } else {\n obj.resources = [];\n }\n message.version !== undefined && (obj.version = message.version.toString());\n message.timestampMicros !== undefined && (obj.timestampMicros = message.timestampMicros.toString());\n return obj;\n },\n\n create(base?: DeepPartial<Data_AptResource>): Data_AptResource {\n return Data_AptResource.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_AptResource>): Data_AptResource {\n const message = createBaseData_AptResource();\n message.resources = object.resources?.map((e) => e) || [];\n message.version = object.version ?? BigInt(\"0\");\n message.timestampMicros = object.timestampMicros ?? BigInt(\"0\");\n return message;\n },\n};\n\nfunction createBaseData_SuiEvent(): Data_SuiEvent {\n return { transaction: undefined, timestamp: undefined, slot: BigInt(\"0\") };\n}\n\nexport const Data_SuiEvent = {\n encode(message: Data_SuiEvent, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(10).fork()).ldelim();\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(18).fork()).ldelim();\n }\n if (message.slot !== BigInt(\"0\")) {\n writer.uint32(24).uint64(message.slot.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_SuiEvent {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_SuiEvent();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 2:\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n break;\n case 3:\n message.slot = longToBigint(reader.uint64() as Long);\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_SuiEvent {\n return {\n transaction: isObject(object.transaction) ? object.transaction : undefined,\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n slot: isSet(object.slot) ? BigInt(object.slot) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: Data_SuiEvent): unknown {\n const obj: any = {};\n message.transaction !== undefined && (obj.transaction = message.transaction);\n message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());\n message.slot !== undefined && (obj.slot = message.slot.toString());\n return obj;\n },\n\n create(base?: DeepPartial<Data_SuiEvent>): Data_SuiEvent {\n return Data_SuiEvent.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_SuiEvent>): Data_SuiEvent {\n const message = createBaseData_SuiEvent();\n message.transaction = object.transaction ?? undefined;\n message.timestamp = object.timestamp ?? undefined;\n message.slot = object.slot ?? BigInt(\"0\");\n return message;\n },\n};\n\nfunction createBaseData_SuiCall(): Data_SuiCall {\n return { transaction: undefined, timestamp: undefined, slot: BigInt(\"0\") };\n}\n\nexport const Data_SuiCall = {\n encode(message: Data_SuiCall, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.transaction !== undefined) {\n Struct.encode(Struct.wrap(message.transaction), writer.uint32(10).fork()).ldelim();\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(18).fork()).ldelim();\n }\n if (message.slot !== BigInt(\"0\")) {\n writer.uint32(24).uint64(message.slot.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_SuiCall {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_SuiCall();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.transaction = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 2:\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n break;\n case 3:\n message.slot = longToBigint(reader.uint64() as Long);\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_SuiCall {\n return {\n transaction: isObject(object.transaction) ? object.transaction : undefined,\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n slot: isSet(object.slot) ? BigInt(object.slot) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: Data_SuiCall): unknown {\n const obj: any = {};\n message.transaction !== undefined && (obj.transaction = message.transaction);\n message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());\n message.slot !== undefined && (obj.slot = message.slot.toString());\n return obj;\n },\n\n create(base?: DeepPartial<Data_SuiCall>): Data_SuiCall {\n return Data_SuiCall.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_SuiCall>): Data_SuiCall {\n const message = createBaseData_SuiCall();\n message.transaction = object.transaction ?? undefined;\n message.timestamp = object.timestamp ?? undefined;\n message.slot = object.slot ?? BigInt(\"0\");\n return message;\n },\n};\n\nfunction createBaseData_SuiObject(): Data_SuiObject {\n return { objects: [], self: undefined, timestamp: undefined, slot: BigInt(\"0\") };\n}\n\nexport const Data_SuiObject = {\n encode(message: Data_SuiObject, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.objects) {\n Struct.encode(Struct.wrap(v!), writer.uint32(10).fork()).ldelim();\n }\n if (message.self !== undefined) {\n Struct.encode(Struct.wrap(message.self), writer.uint32(34).fork()).ldelim();\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(18).fork()).ldelim();\n }\n if (message.slot !== BigInt(\"0\")) {\n writer.uint32(24).uint64(message.slot.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data_SuiObject {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData_SuiObject();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.objects.push(Struct.unwrap(Struct.decode(reader, reader.uint32())));\n break;\n case 4:\n message.self = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 2:\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n break;\n case 3:\n message.slot = longToBigint(reader.uint64() as Long);\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data_SuiObject {\n return {\n objects: Array.isArray(object?.objects) ? [...object.objects] : [],\n self: isObject(object.self) ? object.self : undefined,\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n slot: isSet(object.slot) ? BigInt(object.slot) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: Data_SuiObject): unknown {\n const obj: any = {};\n if (message.objects) {\n obj.objects = message.objects.map((e) => e);\n } else {\n obj.objects = [];\n }\n message.self !== undefined && (obj.self = message.self);\n message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());\n message.slot !== undefined && (obj.slot = message.slot.toString());\n return obj;\n },\n\n create(base?: DeepPartial<Data_SuiObject>): Data_SuiObject {\n return Data_SuiObject.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<Data_SuiObject>): Data_SuiObject {\n const message = createBaseData_SuiObject();\n message.objects = object.objects?.map((e) => e) || [];\n message.self = object.self ?? undefined;\n message.timestamp = object.timestamp ?? undefined;\n message.slot = object.slot ?? BigInt(\"0\");\n return message;\n },\n};\n\nfunction createBaseDataBinding(): DataBinding {\n return { data: undefined, handlerType: 0, handlerIds: [] };\n}\n\nexport const DataBinding = {\n encode(message: DataBinding, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.data !== undefined) {\n Data.encode(message.data, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerType !== 0) {\n writer.uint32(24).int32(message.handlerType);\n }\n writer.uint32(34).fork();\n for (const v of message.handlerIds) {\n writer.int32(v);\n }\n writer.ldelim();\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): DataBinding {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDataBinding();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.data = Data.decode(reader, reader.uint32());\n break;\n case 3:\n message.handlerType = reader.int32() as any;\n break;\n case 4:\n if ((tag & 7) === 2) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.handlerIds.push(reader.int32());\n }\n } else {\n message.handlerIds.push(reader.int32());\n }\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): DataBinding {\n return {\n data: isSet(object.data) ? Data.fromJSON(object.data) : undefined,\n handlerType: isSet(object.handlerType) ? handlerTypeFromJSON(object.handlerType) : 0,\n handlerIds: Array.isArray(object?.handlerIds) ? object.handlerIds.map((e: any) => Number(e)) : [],\n };\n },\n\n toJSON(message: DataBinding): unknown {\n const obj: any = {};\n message.data !== undefined && (obj.data = message.data ? Data.toJSON(message.data) : undefined);\n message.handlerType !== undefined && (obj.handlerType = handlerTypeToJSON(message.handlerType));\n if (message.handlerIds) {\n obj.handlerIds = message.handlerIds.map((e) => Math.round(e));\n } else {\n obj.handlerIds = [];\n }\n return obj;\n },\n\n create(base?: DeepPartial<DataBinding>): DataBinding {\n return DataBinding.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<DataBinding>): DataBinding {\n const message = createBaseDataBinding();\n message.data = (object.data !== undefined && object.data !== null) ? Data.fromPartial(object.data) : undefined;\n message.handlerType = object.handlerType ?? 0;\n message.handlerIds = object.handlerIds?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseStateResult(): StateResult {\n return { configUpdated: false };\n}\n\nexport const StateResult = {\n encode(message: StateResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.configUpdated === true) {\n writer.uint32(8).bool(message.configUpdated);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): StateResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseStateResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.configUpdated = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): StateResult {\n return { configUpdated: isSet(object.configUpdated) ? Boolean(object.configUpdated) : false };\n },\n\n toJSON(message: StateResult): unknown {\n const obj: any = {};\n message.configUpdated !== undefined && (obj.configUpdated = message.configUpdated);\n return obj;\n },\n\n create(base?: DeepPartial<StateResult>): StateResult {\n return StateResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<StateResult>): StateResult {\n const message = createBaseStateResult();\n message.configUpdated = object.configUpdated ?? false;\n return message;\n },\n};\n\nfunction createBaseProcessResult(): ProcessResult {\n return { gauges: [], counters: [], logs: [], events: [], exports: [], states: undefined };\n}\n\nexport const ProcessResult = {\n encode(message: ProcessResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.gauges) {\n GaugeResult.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n for (const v of message.counters) {\n CounterResult.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n for (const v of message.logs) {\n LogResult.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n for (const v of message.events) {\n EventTrackingResult.encode(v!, writer.uint32(34).fork()).ldelim();\n }\n for (const v of message.exports) {\n ExportResult.encode(v!, writer.uint32(42).fork()).ldelim();\n }\n if (message.states !== undefined) {\n StateResult.encode(message.states, writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProcessResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.gauges.push(GaugeResult.decode(reader, reader.uint32()));\n break;\n case 2:\n message.counters.push(CounterResult.decode(reader, reader.uint32()));\n break;\n case 3:\n message.logs.push(LogResult.decode(reader, reader.uint32()));\n break;\n case 4:\n message.events.push(EventTrackingResult.decode(reader, reader.uint32()));\n break;\n case 5:\n message.exports.push(ExportResult.decode(reader, reader.uint32()));\n break;\n case 6:\n message.states = StateResult.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessResult {\n return {\n gauges: Array.isArray(object?.gauges) ? object.gauges.map((e: any) => GaugeResult.fromJSON(e)) : [],\n counters: Array.isArray(object?.counters) ? object.counters.map((e: any) => CounterResult.fromJSON(e)) : [],\n logs: Array.isArray(object?.logs) ? object.logs.map((e: any) => LogResult.fromJSON(e)) : [],\n events: Array.isArray(object?.events) ? object.events.map((e: any) => EventTrackingResult.fromJSON(e)) : [],\n exports: Array.isArray(object?.exports) ? object.exports.map((e: any) => ExportResult.fromJSON(e)) : [],\n states: isSet(object.states) ? StateResult.fromJSON(object.states) : undefined,\n };\n },\n\n toJSON(message: ProcessResult): unknown {\n const obj: any = {};\n if (message.gauges) {\n obj.gauges = message.gauges.map((e) => e ? GaugeResult.toJSON(e) : undefined);\n } else {\n obj.gauges = [];\n }\n if (message.counters) {\n obj.counters = message.counters.map((e) => e ? CounterResult.toJSON(e) : undefined);\n } else {\n obj.counters = [];\n }\n if (message.logs) {\n obj.logs = message.logs.map((e) => e ? LogResult.toJSON(e) : undefined);\n } else {\n obj.logs = [];\n }\n if (message.events) {\n obj.events = message.events.map((e) => e ? EventTrackingResult.toJSON(e) : undefined);\n } else {\n obj.events = [];\n }\n if (message.exports) {\n obj.exports = message.exports.map((e) => e ? ExportResult.toJSON(e) : undefined);\n } else {\n obj.exports = [];\n }\n message.states !== undefined && (obj.states = message.states ? StateResult.toJSON(message.states) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<ProcessResult>): ProcessResult {\n return ProcessResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ProcessResult>): ProcessResult {\n const message = createBaseProcessResult();\n message.gauges = object.gauges?.map((e) => GaugeResult.fromPartial(e)) || [];\n message.counters = object.counters?.map((e) => CounterResult.fromPartial(e)) || [];\n message.logs = object.logs?.map((e) => LogResult.fromPartial(e)) || [];\n message.events = object.events?.map((e) => EventTrackingResult.fromPartial(e)) || [];\n message.exports = object.exports?.map((e) => ExportResult.fromPartial(e)) || [];\n message.states = (object.states !== undefined && object.states !== null)\n ? StateResult.fromPartial(object.states)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseRecordMetaData(): RecordMetaData {\n return {\n address: \"\",\n contractName: \"\",\n blockNumber: BigInt(\"0\"),\n transactionHash: \"\",\n chainId: \"\",\n transactionIndex: 0,\n logIndex: 0,\n name: \"\",\n labels: {},\n };\n}\n\nexport const RecordMetaData = {\n encode(message: RecordMetaData, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n if (message.contractName !== \"\") {\n writer.uint32(74).string(message.contractName);\n }\n if (message.blockNumber !== BigInt(\"0\")) {\n writer.uint32(16).uint64(message.blockNumber.toString());\n }\n if (message.transactionHash !== \"\") {\n writer.uint32(50).string(message.transactionHash);\n }\n if (message.chainId !== \"\") {\n writer.uint32(42).string(message.chainId);\n }\n if (message.transactionIndex !== 0) {\n writer.uint32(24).int32(message.transactionIndex);\n }\n if (message.logIndex !== 0) {\n writer.uint32(32).int32(message.logIndex);\n }\n if (message.name !== \"\") {\n writer.uint32(82).string(message.name);\n }\n Object.entries(message.labels).forEach(([key, value]) => {\n RecordMetaData_LabelsEntry.encode({ key: key as any, value }, writer.uint32(58).fork()).ldelim();\n });\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RecordMetaData {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRecordMetaData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.address = reader.string();\n break;\n case 9:\n message.contractName = reader.string();\n break;\n case 2:\n message.blockNumber = longToBigint(reader.uint64() as Long);\n break;\n case 6:\n message.transactionHash = reader.string();\n break;\n case 5:\n message.chainId = reader.string();\n break;\n case 3:\n message.transactionIndex = reader.int32();\n break;\n case 4:\n message.logIndex = reader.int32();\n break;\n case 10:\n message.name = reader.string();\n break;\n case 7:\n const entry7 = RecordMetaData_LabelsEntry.decode(reader, reader.uint32());\n if (entry7.value !== undefined) {\n message.labels[entry7.key] = entry7.value;\n }\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RecordMetaData {\n return {\n address: isSet(object.address) ? String(object.address) : \"\",\n contractName: isSet(object.contractName) ? String(object.contractName) : \"\",\n blockNumber: isSet(object.blockNumber) ? BigInt(object.blockNumber) : BigInt(\"0\"),\n transactionHash: isSet(object.transactionHash) ? String(object.transactionHash) : \"\",\n chainId: isSet(object.chainId) ? String(object.chainId) : \"\",\n transactionIndex: isSet(object.transactionIndex) ? Number(object.transactionIndex) : 0,\n logIndex: isSet(object.logIndex) ? Number(object.logIndex) : 0,\n name: isSet(object.name) ? String(object.name) : \"\",\n labels: isObject(object.labels)\n ? Object.entries(object.labels).reduce<{ [key: string]: string }>((acc, [key, value]) => {\n acc[key] = String(value);\n return acc;\n }, {})\n : {},\n };\n },\n\n toJSON(message: RecordMetaData): unknown {\n const obj: any = {};\n message.address !== undefined && (obj.address = message.address);\n message.contractName !== undefined && (obj.contractName = message.contractName);\n message.blockNumber !== undefined && (obj.blockNumber = message.blockNumber.toString());\n message.transactionHash !== undefined && (obj.transactionHash = message.transactionHash);\n message.chainId !== undefined && (obj.chainId = message.chainId);\n message.transactionIndex !== undefined && (obj.transactionIndex = Math.round(message.transactionIndex));\n message.logIndex !== undefined && (obj.logIndex = Math.round(message.logIndex));\n message.name !== undefined && (obj.name = message.name);\n obj.labels = {};\n if (message.labels) {\n Object.entries(message.labels).forEach(([k, v]) => {\n obj.labels[k] = v;\n });\n }\n return obj;\n },\n\n create(base?: DeepPartial<RecordMetaData>): RecordMetaData {\n return RecordMetaData.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<RecordMetaData>): RecordMetaData {\n const message = createBaseRecordMetaData();\n message.address = object.address ?? \"\";\n message.contractName = object.contractName ?? \"\";\n message.blockNumber = object.blockNumber ?? BigInt(\"0\");\n message.transactionHash = object.transactionHash ?? \"\";\n message.chainId = object.chainId ?? \"\";\n message.transactionIndex = object.transactionIndex ?? 0;\n message.logIndex = object.logIndex ?? 0;\n message.name = object.name ?? \"\";\n message.labels = Object.entries(object.labels ?? {}).reduce<{ [key: string]: string }>((acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = String(value);\n }\n return acc;\n }, {});\n return message;\n },\n};\n\nfunction createBaseRecordMetaData_LabelsEntry(): RecordMetaData_LabelsEntry {\n return { key: \"\", value: \"\" };\n}\n\nexport const RecordMetaData_LabelsEntry = {\n encode(message: RecordMetaData_LabelsEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== \"\") {\n writer.uint32(18).string(message.value);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RecordMetaData_LabelsEntry {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRecordMetaData_LabelsEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.key = reader.string();\n break;\n case 2:\n message.value = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RecordMetaData_LabelsEntry {\n return { key: isSet(object.key) ? String(object.key) : \"\", value: isSet(object.value) ? String(object.value) : \"\" };\n },\n\n toJSON(message: RecordMetaData_LabelsEntry): unknown {\n const obj: any = {};\n message.key !== undefined && (obj.key = message.key);\n message.value !== undefined && (obj.value = message.value);\n return obj;\n },\n\n create(base?: DeepPartial<RecordMetaData_LabelsEntry>): RecordMetaData_LabelsEntry {\n return RecordMetaData_LabelsEntry.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<RecordMetaData_LabelsEntry>): RecordMetaData_LabelsEntry {\n const message = createBaseRecordMetaData_LabelsEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMetricValue(): MetricValue {\n return { bigDecimal: undefined, doubleValue: undefined, bigInteger: undefined };\n}\n\nexport const MetricValue = {\n encode(message: MetricValue, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.bigDecimal !== undefined) {\n writer.uint32(10).string(message.bigDecimal);\n }\n if (message.doubleValue !== undefined) {\n writer.uint32(17).double(message.doubleValue);\n }\n if (message.bigInteger !== undefined) {\n BigInteger.encode(message.bigInteger, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MetricValue {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMetricValue();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.bigDecimal = reader.string();\n break;\n case 2:\n message.doubleValue = reader.double();\n break;\n case 3:\n message.bigInteger = BigInteger.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MetricValue {\n return {\n bigDecimal: isSet(object.bigDecimal) ? String(object.bigDecimal) : undefined,\n doubleValue: isSet(object.doubleValue) ? Number(object.doubleValue) : undefined,\n bigInteger: isSet(object.bigInteger) ? BigInteger.fromJSON(object.bigInteger) : undefined,\n };\n },\n\n toJSON(message: MetricValue): unknown {\n const obj: any = {};\n message.bigDecimal !== undefined && (obj.bigDecimal = message.bigDecimal);\n message.doubleValue !== undefined && (obj.doubleValue = message.doubleValue);\n message.bigInteger !== undefined &&\n (obj.bigInteger = message.bigInteger ? BigInteger.toJSON(message.bigInteger) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<MetricValue>): MetricValue {\n return MetricValue.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<MetricValue>): MetricValue {\n const message = createBaseMetricValue();\n message.bigDecimal = object.bigDecimal ?? undefined;\n message.doubleValue = object.doubleValue ?? undefined;\n message.bigInteger = (object.bigInteger !== undefined && object.bigInteger !== null)\n ? BigInteger.fromPartial(object.bigInteger)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseBigInteger(): BigInteger {\n return { negative: false, data: new Uint8Array() };\n}\n\nexport const BigInteger = {\n encode(message: BigInteger, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.negative === true) {\n writer.uint32(8).bool(message.negative);\n }\n if (message.data.length !== 0) {\n writer.uint32(18).bytes(message.data);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): BigInteger {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBigInteger();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.negative = reader.bool();\n break;\n case 2:\n message.data = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): BigInteger {\n return {\n negative: isSet(object.negative) ? Boolean(object.negative) : false,\n data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(),\n };\n },\n\n toJSON(message: BigInteger): unknown {\n const obj: any = {};\n message.negative !== undefined && (obj.negative = message.negative);\n message.data !== undefined &&\n (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array()));\n return obj;\n },\n\n create(base?: DeepPartial<BigInteger>): BigInteger {\n return BigInteger.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<BigInteger>): BigInteger {\n const message = createBaseBigInteger();\n message.negative = object.negative ?? false;\n message.data = object.data ?? new Uint8Array();\n return message;\n },\n};\n\nfunction createBaseRuntimeInfo(): RuntimeInfo {\n return { from: 0 };\n}\n\nexport const RuntimeInfo = {\n encode(message: RuntimeInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.from !== 0) {\n writer.uint32(8).int32(message.from);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RuntimeInfo {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRuntimeInfo();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.from = reader.int32() as any;\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RuntimeInfo {\n return { from: isSet(object.from) ? handlerTypeFromJSON(object.from) : 0 };\n },\n\n toJSON(message: RuntimeInfo): unknown {\n const obj: any = {};\n message.from !== undefined && (obj.from = handlerTypeToJSON(message.from));\n return obj;\n },\n\n create(base?: DeepPartial<RuntimeInfo>): RuntimeInfo {\n return RuntimeInfo.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<RuntimeInfo>): RuntimeInfo {\n const message = createBaseRuntimeInfo();\n message.from = object.from ?? 0;\n return message;\n },\n};\n\nfunction createBaseGaugeResult(): GaugeResult {\n return { metadata: undefined, metricValue: undefined, runtimeInfo: undefined };\n}\n\nexport const GaugeResult = {\n encode(message: GaugeResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(message.metadata, writer.uint32(10).fork()).ldelim();\n }\n if (message.metricValue !== undefined) {\n MetricValue.encode(message.metricValue, writer.uint32(18).fork()).ldelim();\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(message.runtimeInfo, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): GaugeResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGaugeResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.metricValue = MetricValue.decode(reader, reader.uint32());\n break;\n case 3:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): GaugeResult {\n return {\n metadata: isSet(object.metadata) ? RecordMetaData.fromJSON(object.metadata) : undefined,\n metricValue: isSet(object.metricValue) ? MetricValue.fromJSON(object.metricValue) : undefined,\n runtimeInfo: isSet(object.runtimeInfo) ? RuntimeInfo.fromJSON(object.runtimeInfo) : undefined,\n };\n },\n\n toJSON(message: GaugeResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata ? RecordMetaData.toJSON(message.metadata) : undefined);\n message.metricValue !== undefined &&\n (obj.metricValue = message.metricValue ? MetricValue.toJSON(message.metricValue) : undefined);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo ? RuntimeInfo.toJSON(message.runtimeInfo) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<GaugeResult>): GaugeResult {\n return GaugeResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<GaugeResult>): GaugeResult {\n const message = createBaseGaugeResult();\n message.metadata = (object.metadata !== undefined && object.metadata !== null)\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.metricValue = (object.metricValue !== undefined && object.metricValue !== null)\n ? MetricValue.fromPartial(object.metricValue)\n : undefined;\n message.runtimeInfo = (object.runtimeInfo !== undefined && object.runtimeInfo !== null)\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseCounterResult(): CounterResult {\n return { metadata: undefined, metricValue: undefined, add: false, runtimeInfo: undefined };\n}\n\nexport const CounterResult = {\n encode(message: CounterResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(message.metadata, writer.uint32(10).fork()).ldelim();\n }\n if (message.metricValue !== undefined) {\n MetricValue.encode(message.metricValue, writer.uint32(18).fork()).ldelim();\n }\n if (message.add === true) {\n writer.uint32(24).bool(message.add);\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(message.runtimeInfo, writer.uint32(34).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): CounterResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCounterResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.metricValue = MetricValue.decode(reader, reader.uint32());\n break;\n case 3:\n message.add = reader.bool();\n break;\n case 4:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): CounterResult {\n return {\n metadata: isSet(object.metadata) ? RecordMetaData.fromJSON(object.metadata) : undefined,\n metricValue: isSet(object.metricValue) ? MetricValue.fromJSON(object.metricValue) : undefined,\n add: isSet(object.add) ? Boolean(object.add) : false,\n runtimeInfo: isSet(object.runtimeInfo) ? RuntimeInfo.fromJSON(object.runtimeInfo) : undefined,\n };\n },\n\n toJSON(message: CounterResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata ? RecordMetaData.toJSON(message.metadata) : undefined);\n message.metricValue !== undefined &&\n (obj.metricValue = message.metricValue ? MetricValue.toJSON(message.metricValue) : undefined);\n message.add !== undefined && (obj.add = message.add);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo ? RuntimeInfo.toJSON(message.runtimeInfo) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<CounterResult>): CounterResult {\n return CounterResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<CounterResult>): CounterResult {\n const message = createBaseCounterResult();\n message.metadata = (object.metadata !== undefined && object.metadata !== null)\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.metricValue = (object.metricValue !== undefined && object.metricValue !== null)\n ? MetricValue.fromPartial(object.metricValue)\n : undefined;\n message.add = object.add ?? false;\n message.runtimeInfo = (object.runtimeInfo !== undefined && object.runtimeInfo !== null)\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseLogResult(): LogResult {\n return { metadata: undefined, level: 0, message: \"\", attributes: \"\", attributes2: undefined, runtimeInfo: undefined };\n}\n\nexport const LogResult = {\n encode(message: LogResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(message.metadata, writer.uint32(10).fork()).ldelim();\n }\n if (message.level !== 0) {\n writer.uint32(16).int32(message.level);\n }\n if (message.message !== \"\") {\n writer.uint32(26).string(message.message);\n }\n if (message.attributes !== \"\") {\n writer.uint32(50).string(message.attributes);\n }\n if (message.attributes2 !== undefined) {\n Struct.encode(Struct.wrap(message.attributes2), writer.uint32(58).fork()).ldelim();\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(message.runtimeInfo, writer.uint32(34).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LogResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLogResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.level = reader.int32() as any;\n break;\n case 3:\n message.message = reader.string();\n break;\n case 6:\n message.attributes = reader.string();\n break;\n case 7:\n message.attributes2 = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 4:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): LogResult {\n return {\n metadata: isSet(object.metadata) ? RecordMetaData.fromJSON(object.metadata) : undefined,\n level: isSet(object.level) ? logLevelFromJSON(object.level) : 0,\n message: isSet(object.message) ? String(object.message) : \"\",\n attributes: isSet(object.attributes) ? String(object.attributes) : \"\",\n attributes2: isObject(object.attributes2) ? object.attributes2 : undefined,\n runtimeInfo: isSet(object.runtimeInfo) ? RuntimeInfo.fromJSON(object.runtimeInfo) : undefined,\n };\n },\n\n toJSON(message: LogResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata ? RecordMetaData.toJSON(message.metadata) : undefined);\n message.level !== undefined && (obj.level = logLevelToJSON(message.level));\n message.message !== undefined && (obj.message = message.message);\n message.attributes !== undefined && (obj.attributes = message.attributes);\n message.attributes2 !== undefined && (obj.attributes2 = message.attributes2);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo ? RuntimeInfo.toJSON(message.runtimeInfo) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<LogResult>): LogResult {\n return LogResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LogResult>): LogResult {\n const message = createBaseLogResult();\n message.metadata = (object.metadata !== undefined && object.metadata !== null)\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.level = object.level ?? 0;\n message.message = object.message ?? \"\";\n message.attributes = object.attributes ?? \"\";\n message.attributes2 = object.attributes2 ?? undefined;\n message.runtimeInfo = (object.runtimeInfo !== undefined && object.runtimeInfo !== null)\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseEventTrackingResult(): EventTrackingResult {\n return {\n metadata: undefined,\n distinctEntityId: \"\",\n attributes: undefined,\n severity: 0,\n message: \"\",\n runtimeInfo: undefined,\n noMetric: false,\n };\n}\n\nexport const EventTrackingResult = {\n encode(message: EventTrackingResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(message.metadata, writer.uint32(10).fork()).ldelim();\n }\n if (message.distinctEntityId !== \"\") {\n writer.uint32(18).string(message.distinctEntityId);\n }\n if (message.attributes !== undefined) {\n Struct.encode(Struct.wrap(message.attributes), writer.uint32(50).fork()).ldelim();\n }\n if (message.severity !== 0) {\n writer.uint32(56).int32(message.severity);\n }\n if (message.message !== \"\") {\n writer.uint32(66).string(message.message);\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(message.runtimeInfo, writer.uint32(42).fork()).ldelim();\n }\n if (message.noMetric === true) {\n writer.uint32(24).bool(message.noMetric);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): EventTrackingResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseEventTrackingResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.distinctEntityId = reader.string();\n break;\n case 6:\n message.attributes = Struct.unwrap(Struct.decode(reader, reader.uint32()));\n break;\n case 7:\n message.severity = reader.int32() as any;\n break;\n case 8:\n message.message = reader.string();\n break;\n case 5:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n case 3:\n message.noMetric = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): EventTrackingResult {\n return {\n metadata: isSet(object.metadata) ? RecordMetaData.fromJSON(object.metadata) : undefined,\n distinctEntityId: isSet(object.distinctEntityId) ? String(object.distinctEntityId) : \"\",\n attributes: isObject(object.attributes) ? object.attributes : undefined,\n severity: isSet(object.severity) ? logLevelFromJSON(object.severity) : 0,\n message: isSet(object.message) ? String(object.message) : \"\",\n runtimeInfo: isSet(object.runtimeInfo) ? RuntimeInfo.fromJSON(object.runtimeInfo) : undefined,\n noMetric: isSet(object.noMetric) ? Boolean(object.noMetric) : false,\n };\n },\n\n toJSON(message: EventTrackingResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata ? RecordMetaData.toJSON(message.metadata) : undefined);\n message.distinctEntityId !== undefined && (obj.distinctEntityId = message.distinctEntityId);\n message.attributes !== undefined && (obj.attributes = message.attributes);\n message.severity !== undefined && (obj.severity = logLevelToJSON(message.severity));\n message.message !== undefined && (obj.message = message.message);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo ? RuntimeInfo.toJSON(message.runtimeInfo) : undefined);\n message.noMetric !== undefined && (obj.noMetric = message.noMetric);\n return obj;\n },\n\n create(base?: DeepPartial<EventTrackingResult>): EventTrackingResult {\n return EventTrackingResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<EventTrackingResult>): EventTrackingResult {\n const message = createBaseEventTrackingResult();\n message.metadata = (object.metadata !== undefined && object.metadata !== null)\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.distinctEntityId = object.distinctEntityId ?? \"\";\n message.attributes = object.attributes ?? undefined;\n message.severity = object.severity ?? 0;\n message.message = object.message ?? \"\";\n message.runtimeInfo = (object.runtimeInfo !== undefined && object.runtimeInfo !== null)\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n message.noMetric = object.noMetric ?? false;\n return message;\n },\n};\n\nfunction createBaseExportResult(): ExportResult {\n return { metadata: undefined, payload: \"\", runtimeInfo: undefined };\n}\n\nexport const ExportResult = {\n encode(message: ExportResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(message.metadata, writer.uint32(10).fork()).ldelim();\n }\n if (message.payload !== \"\") {\n writer.uint32(18).string(message.payload);\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(message.runtimeInfo, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ExportResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseExportResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.payload = reader.string();\n break;\n case 3:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ExportResult {\n return {\n metadata: isSet(object.metadata) ? RecordMetaData.fromJSON(object.metadata) : undefined,\n payload: isSet(object.payload) ? String(object.payload) : \"\",\n runtimeInfo: isSet(object.runtimeInfo) ? RuntimeInfo.fromJSON(object.runtimeInfo) : undefined,\n };\n },\n\n toJSON(message: ExportResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata ? RecordMetaData.toJSON(message.metadata) : undefined);\n message.payload !== undefined && (obj.payload = message.payload);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo ? RuntimeInfo.toJSON(message.runtimeInfo) : undefined);\n return obj;\n },\n\n create(base?: DeepPartial<ExportResult>): ExportResult {\n return ExportResult.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<ExportResult>): ExportResult {\n const message = createBaseExportResult();\n message.metadata = (object.metadata !== undefined && object.metadata !== null)\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.payload = object.payload ?? \"\";\n message.runtimeInfo = (object.runtimeInfo !== undefined && object.runtimeInfo !== null)\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nexport type ProcessorDefinition = typeof ProcessorDefinition;\nexport const ProcessorDefinition = {\n name: \"Processor\",\n fullName: \"processor.Processor\",\n methods: {\n start: {\n name: \"Start\",\n requestType: StartRequest,\n requestStream: false,\n responseType: Empty,\n responseStream: false,\n options: {},\n },\n stop: {\n name: \"Stop\",\n requestType: Empty,\n requestStream: false,\n responseType: Empty,\n responseStream: false,\n options: {},\n },\n getConfig: {\n name: \"GetConfig\",\n requestType: ProcessConfigRequest,\n requestStream: false,\n responseType: ProcessConfigResponse,\n responseStream: false,\n options: {},\n },\n processBindings: {\n name: \"ProcessBindings\",\n requestType: ProcessBindingsRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n processBindingsStream: {\n name: \"ProcessBindingsStream\",\n requestType: DataBinding,\n requestStream: true,\n responseType: ProcessBindingResponse,\n responseStream: true,\n options: {},\n },\n },\n} as const;\n\nexport interface ProcessorServiceImplementation<CallContextExt = {}> {\n start(request: StartRequest, context: CallContext & CallContextExt): Promise<DeepPartial<Empty>>;\n stop(request: Empty, context: CallContext & CallContextExt): Promise<DeepPartial<Empty>>;\n getConfig(\n request: ProcessConfigRequest,\n context: CallContext & CallContextExt,\n ): Promise<DeepPartial<ProcessConfigResponse>>;\n processBindings(\n request: ProcessBindingsRequest,\n context: CallContext & CallContextExt,\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n processBindingsStream(\n request: AsyncIterable<DataBinding>,\n context: CallContext & CallContextExt,\n ): ServerStreamingMethodResult<DeepPartial<ProcessBindingResponse>>;\n}\n\nexport interface ProcessorClient<CallOptionsExt = {}> {\n start(request: DeepPartial<StartRequest>, options?: CallOptions & CallOptionsExt): Promise<Empty>;\n stop(request: DeepPartial<Empty>, options?: CallOptions & CallOptionsExt): Promise<Empty>;\n getConfig(\n request: DeepPartial<ProcessConfigRequest>,\n options?: CallOptions & CallOptionsExt,\n ): Promise<ProcessConfigResponse>;\n processBindings(\n request: DeepPartial<ProcessBindingsRequest>,\n options?: CallOptions & CallOptionsExt,\n ): Promise<ProcessBindingResponse>;\n processBindingsStream(\n request: AsyncIterable<DeepPartial<DataBinding>>,\n options?: CallOptions & CallOptionsExt,\n ): AsyncIterable<ProcessBindingResponse>;\n}\n\ndeclare var self: any | undefined;\ndeclare var window: any | undefined;\ndeclare var global: any | undefined;\nvar tsProtoGlobalThis: any = (() => {\n if (typeof globalThis !== \"undefined\") {\n return globalThis;\n }\n if (typeof self !== \"undefined\") {\n return self;\n }\n if (typeof window !== \"undefined\") {\n return window;\n }\n if (typeof global !== \"undefined\") {\n return global;\n }\n throw \"Unable to locate global object\";\n})();\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if (tsProtoGlobalThis.Buffer) {\n return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = tsProtoGlobalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction base64FromBytes(arr: Uint8Array): string {\n if (tsProtoGlobalThis.Buffer) {\n return tsProtoGlobalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(String.fromCharCode(byte));\n });\n return tsProtoGlobalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = Number(t.seconds.toString()) * 1_000;\n millis += t.nanos / 1_000_000;\n return new Date(millis);\n}\n\nfunction fromJsonTimestamp(o: any): Date {\n if (o instanceof Date) {\n return o;\n } else if (typeof o === \"string\") {\n return new Date(o);\n } else {\n return fromTimestamp(Timestamp.fromJSON(o));\n }\n}\n\nfunction longToBigint(long: Long) {\n return BigInt(long.toString());\n}\n\nif (_m0.util.Long !== Long) {\n _m0.util.Long = Long as any;\n _m0.configure();\n}\n\nfunction isObject(value: any): boolean {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\nexport type ServerStreamingMethodResult<Response> = { [Symbol.asyncIterator](): AsyncIterator<Response, void> };\n"]}