fixparser
Version:
FIX.Latest / 5.0 SP2 Parser / AI Agent Trading
4 lines • 14.2 MB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../../node_modules/ws/lib/constants.js", "../../../../node_modules/ws/lib/buffer-util.js", "../../../../node_modules/ws/lib/limiter.js", "../../../../node_modules/ws/lib/permessage-deflate.js", "../../../../node_modules/ws/lib/validation.js", "../../../../node_modules/ws/lib/receiver.js", "../../../../node_modules/ws/lib/sender.js", "../../../../node_modules/ws/lib/event-target.js", "../../../../node_modules/ws/lib/extension.js", "../../../../node_modules/ws/lib/websocket.js", "../../../../node_modules/ws/lib/stream.js", "../../../../node_modules/ws/lib/subprotocol.js", "../../../../node_modules/ws/lib/websocket-server.js", "../../src/FIXServer.ts", "../../../fixparser-common/src/MessageBuffer.ts", "../../../fixparser-common/src/uuidv4.ts", "../../../../node_modules/ws/wrapper.mjs", "../../src/FIXParser.ts", "../../src/spec/SpecEnums.ts", "../../src/enums/EnumType.ts", "../../src/enums/Enums.ts", "../../src/fields/Field.ts", "../../src/fieldtypes/Field.ts", "../../src/spec/MessageType.json", "../../src/messagetype/MessageType.ts", "../../src/spec/SpecFields.ts", "../../src/spec/SpecCategories.ts", "../../src/fields/categories/CategoryType.ts", "../../src/fields/categories/Categories.ts", "../../src/spec/SpecDatatypes.ts", "../../src/fields/datatypes/Datatypes.ts", "../../src/spec/SpecSections.ts", "../../src/fields/sections/SectionType.ts", "../../src/fields/sections/Sections.ts", "../../src/fields/Fields.ts", "../../../../node_modules/openpgp/dist/openpgp.mjs", "../../src/licensemanager/LicenseManagerUtils.ts", "../../src/licensemanager/LicenseManager.ts", "../../src/spec/SpecComponents.ts", "../../src/components/Components.ts", "../../src/fieldtypes/Message.ts", "../../src/spec/SpecGroups.ts", "../../src/groups/Groups.ts", "../../src/fieldtypes/AccountType.ts", "../../src/fieldtypes/AcctIDSource.ts", "../../src/fieldtypes/Adjustment.ts", "../../src/fieldtypes/AdjustmentType.ts", "../../src/fieldtypes/AdvSide.ts", "../../src/fieldtypes/AdvTransType.ts", "../../src/fieldtypes/AffirmStatus.ts", "../../src/fieldtypes/AggregatedBook.ts", "../../src/fieldtypes/AggressorIndicator.ts", "../../src/fieldtypes/AlgoCertificateReportStatus.ts", "../../src/fieldtypes/AlgoCertificateReportTransType.ts", "../../src/fieldtypes/AlgoCertificateReportType.ts", "../../src/fieldtypes/AlgoCertificateRequestStatus.ts", "../../src/fieldtypes/AlgoCertificateRequestTransType.ts", "../../src/fieldtypes/AlgoCertificateRequestType.ts", "../../src/fieldtypes/AlgoCertificateStatus.ts", "../../src/fieldtypes/AlgorithmicTradeIndicator.ts", "../../src/fieldtypes/AllocAccountType.ts", "../../src/fieldtypes/AllocationRollupInstruction.ts", "../../src/fieldtypes/AllocCancReplaceReason.ts", "../../src/fieldtypes/AllocGroupStatus.ts", "../../src/fieldtypes/AllocGroupSubQtyType.ts", "../../src/fieldtypes/AllocHandlInst.ts", "../../src/fieldtypes/AllocIntermedReqType.ts", "../../src/fieldtypes/AllocLinkType.ts", "../../src/fieldtypes/AllocMethod.ts", "../../src/fieldtypes/AllocNoOrdersType.ts", "../../src/fieldtypes/AllocPositionEffect.ts", "../../src/fieldtypes/AllocRejCode.ts", "../../src/fieldtypes/AllocReportType.ts", "../../src/fieldtypes/AllocRequestStatus.ts", "../../src/fieldtypes/AllocReversalStatus.ts", "../../src/fieldtypes/AllocSettlInstType.ts", "../../src/fieldtypes/AllocStatus.ts", "../../src/fieldtypes/AllocTransType.ts", "../../src/fieldtypes/AllocType.ts", "../../src/fieldtypes/ApplLevelRecoveryIndicator.ts", "../../src/fieldtypes/ApplQueueAction.ts", "../../src/fieldtypes/ApplQueueResolution.ts", "../../src/fieldtypes/ApplReportType.ts", "../../src/fieldtypes/ApplReqType.ts", "../../src/fieldtypes/ApplResponseError.ts", "../../src/fieldtypes/ApplResponseType.ts", "../../src/fieldtypes/ApplVerID.ts", "../../src/fieldtypes/AsOfIndicator.ts", "../../src/fieldtypes/AssetClass.ts", "../../src/fieldtypes/AssetGroup.ts", "../../src/fieldtypes/AssetSubClass.ts", "../../src/fieldtypes/AssetValuationModel.ts", "../../src/fieldtypes/AssignmentMethod.ts", "../../src/fieldtypes/AttachmentEncodingType.ts", "../../src/fieldtypes/AuctionInstruction.ts", "../../src/fieldtypes/AuctionType.ts", "../../src/fieldtypes/AveragePriceType.ts", "../../src/fieldtypes/AvgPxIndicator.ts", "../../src/fieldtypes/BasisPxType.ts", "../../src/fieldtypes/BatchProcessMode.ts", "../../src/fieldtypes/BeginString.ts", "../../src/fieldtypes/Benchmark.ts", "../../src/fieldtypes/BenchmarkCurveName.ts", "../../src/fieldtypes/BidDescriptorType.ts", "../../src/fieldtypes/BidRequestTransType.ts", "../../src/fieldtypes/BidTradeType.ts", "../../src/fieldtypes/BidType.ts", "../../src/fieldtypes/BlockTrdAllocIndicator.ts", "../../src/fieldtypes/BookingType.ts", "../../src/fieldtypes/BookingUnit.ts", "../../src/fieldtypes/BusinessDayConvention.ts", "../../src/fieldtypes/BusinessRejectReason.ts", "../../src/fieldtypes/CalculationMethod.ts", "../../src/fieldtypes/CancellationRights.ts", "../../src/fieldtypes/CashMargin.ts", "../../src/fieldtypes/CashSettlPriceDefault.ts", "../../src/fieldtypes/CashSettlQuoteMethod.ts", "../../src/fieldtypes/CashSettlValuationMethod.ts", "../../src/fieldtypes/ClearedIndicator.ts", "../../src/fieldtypes/ClearingAccountType.ts", "../../src/fieldtypes/ClearingFeeIndicator.ts", "../../src/fieldtypes/ClearingInstruction.ts", "../../src/fieldtypes/ClearingIntention.ts", "../../src/fieldtypes/ClearingRequirementException.ts", "../../src/fieldtypes/CollAction.ts", "../../src/fieldtypes/CollApplType.ts", "../../src/fieldtypes/CollAsgnReason.ts", "../../src/fieldtypes/CollAsgnRejectReason.ts", "../../src/fieldtypes/CollAsgnRespType.ts", "../../src/fieldtypes/CollAsgnTransType.ts", "../../src/fieldtypes/CollateralAmountType.ts", "../../src/fieldtypes/CollateralReinvestmentType.ts", "../../src/fieldtypes/CollInquiryQualifier.ts", "../../src/fieldtypes/CollInquiryResult.ts", "../../src/fieldtypes/CollInquiryStatus.ts", "../../src/fieldtypes/CollRptRejectReason.ts", "../../src/fieldtypes/CollRptStatus.ts", "../../src/fieldtypes/CollStatus.ts", "../../src/fieldtypes/CommissionAmountSubType.ts", "../../src/fieldtypes/CommissionAmountType.ts", "../../src/fieldtypes/CommodityFinalPriceType.ts", "../../src/fieldtypes/CommType.ts", "../../src/fieldtypes/ComplexEventCondition.ts", "../../src/fieldtypes/ComplexEventCreditEventNotifyingParty.ts", "../../src/fieldtypes/ComplexEventDateOffsetDayType.ts", "../../src/fieldtypes/ComplexEventPeriodType.ts", "../../src/fieldtypes/ComplexEventPriceBoundaryMethod.ts", "../../src/fieldtypes/ComplexEventPriceTimeType.ts", "../../src/fieldtypes/ComplexEventPVFinalPriceElectionFallback.ts", "../../src/fieldtypes/ComplexEventQuoteBasis.ts", "../../src/fieldtypes/ComplexEventType.ts", "../../src/fieldtypes/ComplexOptPayoutTime.ts", "../../src/fieldtypes/ConfirmationMethod.ts", "../../src/fieldtypes/ConfirmRejReason.ts", "../../src/fieldtypes/ConfirmStatus.ts", "../../src/fieldtypes/ConfirmTransType.ts", "../../src/fieldtypes/ConfirmType.ts", "../../src/fieldtypes/ContAmtType.ts", "../../src/fieldtypes/ContingencyType.ts", "../../src/fieldtypes/ContractMultiplierUnit.ts", "../../src/fieldtypes/ContractRefPosType.ts", "../../src/fieldtypes/CorporateAction.ts", "../../src/fieldtypes/CouponDayCount.ts", "../../src/fieldtypes/CouponFrequencyUnit.ts", "../../src/fieldtypes/CouponType.ts", "../../src/fieldtypes/CoveredOrUncovered.ts", "../../src/fieldtypes/CPProgram.ts", "../../src/fieldtypes/CrossedIndicator.ts", "../../src/fieldtypes/CrossPrioritization.ts", "../../src/fieldtypes/CrossType.ts", "../../src/fieldtypes/CurrencyCodeSource.ts", "../../src/fieldtypes/CustOrderCapacity.ts", "../../src/fieldtypes/CustOrderHandlingInst.ts", "../../src/fieldtypes/CustomerOrFirm.ts", "../../src/fieldtypes/CustomerPriority.ts", "../../src/fieldtypes/CxlRejReason.ts", "../../src/fieldtypes/CxlRejResponseTo.ts", "../../src/fieldtypes/DateRollConvention.ts", "../../src/fieldtypes/DayBookingInst.ts", "../../src/fieldtypes/DealingCapacity.ts", "../../src/fieldtypes/DeleteReason.ts", "../../src/fieldtypes/DeliveryForm.ts", "../../src/fieldtypes/DeliveryScheduleSettlDay.ts", "../../src/fieldtypes/DeliveryScheduleSettlFlowType.ts", "../../src/fieldtypes/DeliveryScheduleSettlHolidaysProcessingInstruction.ts", "../../src/fieldtypes/DeliveryScheduleSettlTimeType.ts", "../../src/fieldtypes/DeliveryScheduleToleranceType.ts", "../../src/fieldtypes/DeliveryScheduleType.ts", "../../src/fieldtypes/DeliveryStreamDeliveryPointSource.ts", "../../src/fieldtypes/DeliveryStreamDeliveryRestriction.ts", "../../src/fieldtypes/DeliveryStreamElectingPartySide.ts", "../../src/fieldtypes/DeliveryStreamTitleTransferCondition.ts", "../../src/fieldtypes/DeliveryStreamToleranceOptionSide.ts", "../../src/fieldtypes/DeliveryStreamType.ts", "../../src/fieldtypes/DeliveryType.ts", "../../src/fieldtypes/DeskType.ts", "../../src/fieldtypes/DeskTypeSource.ts", "../../src/fieldtypes/DisclosureInstruction.ts", "../../src/fieldtypes/DisclosureType.ts", "../../src/fieldtypes/DiscretionInst.ts", "../../src/fieldtypes/DiscretionLimitType.ts", "../../src/fieldtypes/DiscretionMoveType.ts", "../../src/fieldtypes/DiscretionOffsetType.ts", "../../src/fieldtypes/DiscretionRoundDirection.ts", "../../src/fieldtypes/DiscretionScope.ts", "../../src/fieldtypes/DisplayMethod.ts", "../../src/fieldtypes/DisplayWhen.ts", "../../src/fieldtypes/DistribPaymentMethod.ts", "../../src/fieldtypes/DividendAmountType.ts", "../../src/fieldtypes/DividendComposition.ts", "../../src/fieldtypes/DividendEntitlementEvent.ts", "../../src/fieldtypes/DKReason.ts", "../../src/fieldtypes/DlvyInstType.ts", "../../src/fieldtypes/DueToRelated.ts", "../../src/fieldtypes/DuplicateClOrdIDIndicator.ts", "../../src/fieldtypes/EmailType.ts", "../../src/fieldtypes/EncryptMethod.ts", "../../src/fieldtypes/EntitlementAttribDatatype.ts", "../../src/fieldtypes/EntitlementRequestResult.ts", "../../src/fieldtypes/EntitlementStatus.ts", "../../src/fieldtypes/EntitlementSubType.ts", "../../src/fieldtypes/EntitlementType.ts", "../../src/fieldtypes/EventInitiatorType.ts", "../../src/fieldtypes/EventTimeUnit.ts", "../../src/fieldtypes/EventType.ts", "../../src/fieldtypes/ExchangeForPhysical.ts", "../../src/fieldtypes/ExDestinationIDSource.ts", "../../src/fieldtypes/ExDestinationType.ts", "../../src/fieldtypes/ExecAckStatus.ts", "../../src/fieldtypes/ExecInst.ts", "../../src/fieldtypes/ExecMethod.ts", "../../src/fieldtypes/ExecPriceType.ts", "../../src/fieldtypes/ExecRestatementReason.ts", "../../src/fieldtypes/ExecTransType.ts", "../../src/fieldtypes/ExecType.ts", "../../src/fieldtypes/ExecTypeReason.ts", "../../src/fieldtypes/ExerciseConfirmationMethod.ts", "../../src/fieldtypes/ExerciseMethod.ts", "../../src/fieldtypes/ExerciseStyle.ts", "../../src/fieldtypes/ExpirationCycle.ts", "../../src/fieldtypes/ExpirationQtyType.ts", "../../src/fieldtypes/ExtraordinaryEventAdjustmentMethod.ts", "../../src/fieldtypes/FinancialStatus.ts", "../../src/fieldtypes/FlowScheduleType.ts", "../../src/fieldtypes/ForexReq.ts", "../../src/fieldtypes/FundingSource.ts", "../../src/fieldtypes/FundRenewWaiv.ts", "../../src/fieldtypes/FXBenchmark.ts", "../../src/fieldtypes/GapFillFlag.ts", "../../src/fieldtypes/GTBookingInst.ts", "../../src/fieldtypes/HaltReason.ts", "../../src/fieldtypes/HandlInst.ts", "../../src/fieldtypes/IDSource.ts", "../../src/fieldtypes/ImpliedMarketIndicator.ts", "../../src/fieldtypes/IncTaxInd.ts", "../../src/fieldtypes/IndividualAllocType.ts", "../../src/fieldtypes/InstrAttribType.ts", "../../src/fieldtypes/InstrmtAssignmentMethod.ts", "../../src/fieldtypes/InstrumentScopeOperator.ts", "../../src/fieldtypes/InTheMoneyCondition.ts", "../../src/fieldtypes/InViewOfCommon.ts", "../../src/fieldtypes/IOINaturalFlag.ts", "../../src/fieldtypes/IOIQltyInd.ts", "../../src/fieldtypes/IOIQty.ts", "../../src/fieldtypes/IOIQualifier.ts", "../../src/fieldtypes/IOIShares.ts", "../../src/fieldtypes/IOITransType.ts", "../../src/fieldtypes/IRSDirection.ts", "../../src/fieldtypes/LastCapacity.ts", "../../src/fieldtypes/LastFragment.ts", "../../src/fieldtypes/LastLiquidityInd.ts", "../../src/fieldtypes/LastRptRequested.ts", "../../src/fieldtypes/LegalConfirm.ts", "../../src/fieldtypes/LegSwapType.ts", "../../src/fieldtypes/LienSeniority.ts", "../../src/fieldtypes/LimitAmtType.ts", "../../src/fieldtypes/LiquidityIndType.ts", "../../src/fieldtypes/ListExecInstType.ts", "../../src/fieldtypes/ListMethod.ts", "../../src/fieldtypes/ListOrderStatus.ts", "../../src/fieldtypes/ListRejectReason.ts", "../../src/fieldtypes/ListStatusType.ts", "../../src/fieldtypes/ListUpdateAction.ts", "../../src/fieldtypes/LoanFacility.ts", "../../src/fieldtypes/LocateReqd.ts", "../../src/fieldtypes/LockType.ts", "../../src/fieldtypes/LotType.ts", "../../src/fieldtypes/MarginAmtType.ts", "../../src/fieldtypes/MarginDirection.ts", "../../src/fieldtypes/MarginReqmtInqQualifier.ts", "../../src/fieldtypes/MarginReqmtInqResult.ts", "../../src/fieldtypes/MarginReqmtRptType.ts", "../../src/fieldtypes/MarketCondition.ts", "../../src/fieldtypes/MarketDisruptionFallbackProvision.ts", "../../src/fieldtypes/MarketDisruptionFallbackUnderlierType.ts", "../../src/fieldtypes/MarketDisruptionProvision.ts", "../../src/fieldtypes/MarketMakerActivity.ts", "../../src/fieldtypes/MarketSegmentRelationship.ts", "../../src/fieldtypes/MarketSegmentStatus.ts", "../../src/fieldtypes/MarketSegmentSubType.ts", "../../src/fieldtypes/MarketSegmentType.ts", "../../src/fieldtypes/MassActionReason.ts", "../../src/fieldtypes/MassActionRejectReason.ts", "../../src/fieldtypes/MassActionResponse.ts", "../../src/fieldtypes/MassActionScope.ts", "../../src/fieldtypes/MassActionType.ts", "../../src/fieldtypes/MassCancelRejectReason.ts", "../../src/fieldtypes/MassCancelRequestType.ts", "../../src/fieldtypes/MassCancelResponse.ts", "../../src/fieldtypes/MassOrderRequestResult.ts", "../../src/fieldtypes/MassOrderRequestStatus.ts", "../../src/fieldtypes/MassStatusReqType.ts", "../../src/fieldtypes/MatchExceptionElementType.ts", "../../src/fieldtypes/MatchExceptionToleranceValueType.ts", "../../src/fieldtypes/MatchExceptionType.ts", "../../src/fieldtypes/MatchInst.ts", "../../src/fieldtypes/MatchingDataPointIndicator.ts", "../../src/fieldtypes/MatchStatus.ts", "../../src/fieldtypes/MatchType.ts", "../../src/fieldtypes/MaturityMonthYearFormat.ts", "../../src/fieldtypes/MaturityMonthYearIncrementUnits.ts", "../../src/fieldtypes/MDBookType.ts", "../../src/fieldtypes/MDEntryType.ts", "../../src/fieldtypes/MDImplicitDelete.ts", "../../src/fieldtypes/MDOriginType.ts", "../../src/fieldtypes/MDReportEvent.ts", "../../src/fieldtypes/MDReqRejReason.ts", "../../src/fieldtypes/MDSecSizeType.ts", "../../src/fieldtypes/MDStatisticIntervalType.ts", "../../src/fieldtypes/MDStatisticRatioType.ts", "../../src/fieldtypes/MDStatisticRequestResult.ts", "../../src/fieldtypes/MDStatisticScope.ts", "../../src/fieldtypes/MDStatisticScopeType.ts", "../../src/fieldtypes/MDStatisticStatus.ts", "../../src/fieldtypes/MDStatisticSubScope.ts", "../../src/fieldtypes/MDStatisticType.ts", "../../src/fieldtypes/MDStatisticValueType.ts", "../../src/fieldtypes/MDUpdateAction.ts", "../../src/fieldtypes/MDUpdateType.ts", "../../src/fieldtypes/MDValueTier.ts", "../../src/fieldtypes/MessageEncoding.ts", "../../src/fieldtypes/MetricsCalculationPriceSource.ts", "../../src/fieldtypes/MinQtyMethod.ts", "../../src/fieldtypes/MiscFeeBasis.ts", "../../src/fieldtypes/MiscFeeQualifier.ts", "../../src/fieldtypes/MiscFeeType.ts", "../../src/fieldtypes/ModelType.ts", "../../src/fieldtypes/MoneyLaunderingStatus.ts", "../../src/fieldtypes/MsgDirection.ts", "../../src/fieldtypes/MsgType.ts", "../../src/fieldtypes/MultiJurisdictionReportingIndicator.ts", "../../src/fieldtypes/MultiLegReportingType.ts", "../../src/fieldtypes/MultiLegRptTypeReq.ts", "../../src/fieldtypes/MultilegModel.ts", "../../src/fieldtypes/MultilegPriceMethod.ts", "../../src/fieldtypes/NBBOEntryType.ts", "../../src/fieldtypes/NBBOSource.ts", "../../src/fieldtypes/NegotiationMethod.ts", "../../src/fieldtypes/NetGrossInd.ts", "../../src/fieldtypes/NetworkRequestType.ts", "../../src/fieldtypes/NetworkStatusResponseType.ts", "../../src/fieldtypes/NewsCategory.ts", "../../src/fieldtypes/NewsRefType.ts", "../../src/fieldtypes/NonCashDividendTreatment.ts", "../../src/fieldtypes/NonDeliverableFixingDateType.ts", "../../src/fieldtypes/NoSides.ts", "../../src/fieldtypes/NotAffectedReason.ts", "../../src/fieldtypes/NotifyBrokerOfCredit.ts", "../../src/fieldtypes/ObligationType.ts", "../../src/fieldtypes/OddLot.ts", "../../src/fieldtypes/OffsetInstruction.ts", "../../src/fieldtypes/OffshoreIndicator.ts", "../../src/fieldtypes/OpenClose.ts", "../../src/fieldtypes/OpenCloseSettleFlag.ts", "../../src/fieldtypes/OpenCloseSettlFlag.ts", "../../src/fieldtypes/OptionExerciseDateType.ts", "../../src/fieldtypes/OptPayoutType.ts", "../../src/fieldtypes/OrderAttributeType.ts", "../../src/fieldtypes/OrderCapacity.ts", "../../src/fieldtypes/OrderCategory.ts", "../../src/fieldtypes/OrderDelayUnit.ts", "../../src/fieldtypes/OrderEntryAction.ts", "../../src/fieldtypes/OrderEventReason.ts", "../../src/fieldtypes/OrderEventType.ts", "../../src/fieldtypes/OrderHandlingInstSource.ts", "../../src/fieldtypes/OrderOrigination.ts", "../../src/fieldtypes/OrderOwnershipIndicator.ts", "../../src/fieldtypes/OrderRelationship.ts", "../../src/fieldtypes/OrderResponseLevel.ts", "../../src/fieldtypes/OrderRestrictions.ts", "../../src/fieldtypes/OrdRejReason.ts", "../../src/fieldtypes/OrdStatus.ts", "../../src/fieldtypes/OrdType.ts", "../../src/fieldtypes/OrigCustOrderCapacity.ts", "../../src/fieldtypes/OwnershipType.ts", "../../src/fieldtypes/OwnerType.ts", "../../src/fieldtypes/PartyActionRejectReason.ts", "../../src/fieldtypes/PartyActionResponse.ts", "../../src/fieldtypes/PartyActionType.ts", "../../src/fieldtypes/PartyDetailDefinitionStatus.ts", "../../src/fieldtypes/PartyDetailRequestResult.ts", "../../src/fieldtypes/PartyDetailRequestStatus.ts", "../../src/fieldtypes/PartyDetailRoleQualifier.ts", "../../src/fieldtypes/PartyDetailStatus.ts", "../../src/fieldtypes/PartyIDSource.ts", "../../src/fieldtypes/PartyRelationship.ts", "../../src/fieldtypes/PartyRiskLimitStatus.ts", "../../src/fieldtypes/PartyRole.ts", "../../src/fieldtypes/PartySubIDType.ts", "../../src/fieldtypes/PaymentDateOffsetDayType.ts", "../../src/fieldtypes/PaymentForwardStartType.ts", "../../src/fieldtypes/PaymentMethod.ts", "../../src/fieldtypes/PaymentPaySide.ts", "../../src/fieldtypes/PaymentScheduleStepRelativeTo.ts", "../../src/fieldtypes/PaymentScheduleType.ts", "../../src/fieldtypes/PaymentSettlStyle.ts", "../../src/fieldtypes/PaymentStreamAveragingMethod.ts", "../../src/fieldtypes/PaymentStreamCapRateBuySide.ts", "../../src/fieldtypes/PaymentStreamCompoundingMethod.ts", "../../src/fieldtypes/PaymentStreamDiscountType.ts", "../../src/fieldtypes/PaymentStreamFloorRateBuySide.ts", "../../src/fieldtypes/PaymentStreamFRADiscounting.ts", "../../src/fieldtypes/PaymentStreamInflationInterpolationMethod.ts", "../../src/fieldtypes/PaymentStreamInflationLagDayType.ts", "../../src/fieldtypes/PaymentStreamInflationLagUnit.ts", "../../src/fieldtypes/PaymentStreamInterpolationPeriod.ts", "../../src/fieldtypes/PaymentStreamLinkStrikePriceType.ts", "../../src/fieldtypes/PaymentStreamNegativeRateTreatment.ts", "../../src/fieldtypes/PaymentStreamPaymentDateOffsetDayType.ts", "../../src/fieldtypes/PaymentStreamPaymentDateOffsetUnit.ts", "../../src/fieldtypes/PaymentStreamPaymentFrequencyUnit.ts", "../../src/fieldtypes/PaymentStreamPricingDayDistribution.ts", "../../src/fieldtypes/PaymentStreamPricingDayOfWeek.ts", "../../src/fieldtypes/PaymentStreamRateIndexCurveUnit.ts", "../../src/fieldtypes/PaymentStreamRateIndexSource.ts", "../../src/fieldtypes/PaymentStreamRateSpreadPositionType.ts", "../../src/fieldtypes/PaymentStreamRateSpreadType.ts", "../../src/fieldtypes/PaymentStreamRateTreatment.ts", "../../src/fieldtypes/PaymentStreamRealizedVarianceMethod.ts", "../../src/fieldtypes/PaymentStreamResetWeeklyRollConvention.ts", "../../src/fieldtypes/PaymentStreamSettlLevel.ts", "../../src/fieldtypes/PaymentStreamType.ts", "../../src/fieldtypes/PaymentStubLength.ts", "../../src/fieldtypes/PaymentStubType.ts", "../../src/fieldtypes/PaymentSubType.ts", "../../src/fieldtypes/PaymentType.ts", "../../src/fieldtypes/PayReportStatus.ts", "../../src/fieldtypes/PayReportTransType.ts", "../../src/fieldtypes/PayRequestStatus.ts", "../../src/fieldtypes/PayRequestTransType.ts", "../../src/fieldtypes/PegLimitType.ts", "../../src/fieldtypes/PegMoveType.ts", "../../src/fieldtypes/PegOffsetType.ts", "../../src/fieldtypes/PegPriceType.ts", "../../src/fieldtypes/PegRoundDirection.ts", "../../src/fieldtypes/PegScope.ts", "../../src/fieldtypes/PosAmtReason.ts", "../../src/fieldtypes/PosAmtType.ts", "../../src/fieldtypes/PositionCapacity.ts", "../../src/fieldtypes/PositionEffect.ts", "../../src/fieldtypes/PosMaintAction.ts", "../../src/fieldtypes/PosMaintResult.ts", "../../src/fieldtypes/PosMaintStatus.ts", "../../src/fieldtypes/PosQtyStatus.ts", "../../src/fieldtypes/PosReqResult.ts", "../../src/fieldtypes/PosReqStatus.ts", "../../src/fieldtypes/PosReqType.ts", "../../src/fieldtypes/PossDupFlag.ts", "../../src/fieldtypes/PossResend.ts", "../../src/fieldtypes/PosTransType.ts", "../../src/fieldtypes/PosType.ts", "../../src/fieldtypes/PostTradePaymentDebitOrCredit.ts", "../../src/fieldtypes/PostTradePaymentStatus.ts", "../../src/fieldtypes/PreallocMethod.ts", "../../src/fieldtypes/PreviouslyReported.ts", "../../src/fieldtypes/PriceLimitType.ts", "../../src/fieldtypes/PriceMovementType.ts", "../../src/fieldtypes/PriceProtectionScope.ts", "../../src/fieldtypes/PriceQualifier.ts", "../../src/fieldtypes/PriceQuoteMethod.ts", "../../src/fieldtypes/PriceType.ts", "../../src/fieldtypes/PriorityIndicator.ts", "../../src/fieldtypes/PrivateQuote.ts", "../../src/fieldtypes/ProcessCode.ts", "../../src/fieldtypes/Product.ts", "../../src/fieldtypes/ProgRptReqs.ts", "../../src/fieldtypes/ProtectionTermEventDayType.ts", "../../src/fieldtypes/ProtectionTermEventQualifier.ts", "../../src/fieldtypes/ProtectionTermEventUnit.ts", "../../src/fieldtypes/ProvisionBreakFeeElection.ts", "../../src/fieldtypes/ProvisionCalculationAgent.ts", "../../src/fieldtypes/ProvisionCashSettlMethod.ts", "../../src/fieldtypes/ProvisionCashSettlPaymentDateType.ts", "../../src/fieldtypes/ProvisionCashSettlQuoteType.ts", "../../src/fieldtypes/ProvisionDateTenorUnit.ts", "../../src/fieldtypes/ProvisionOptionExerciseEarliestDateOffsetUnit.ts", "../../src/fieldtypes/ProvisionOptionExerciseFixedDateType.ts", "../../src/fieldtypes/ProvisionOptionSinglePartyBuyerSide.ts", "../../src/fieldtypes/ProvisionType.ts", "../../src/fieldtypes/PublishTrdIndicator.ts", "../../src/fieldtypes/PutOrCall.ts", "../../src/fieldtypes/QtyType.ts", "../../src/fieldtypes/QuoteAckStatus.ts", "../../src/fieldtypes/QuoteAttributeType.ts", "../../src/fieldtypes/QuoteCancelType.ts", "../../src/fieldtypes/QuoteCondition.ts", "../../src/fieldtypes/QuoteEntryRejectReason.ts", "../../src/fieldtypes/QuoteEntryStatus.ts", "../../src/fieldtypes/QuoteModelType.ts", "../../src/fieldtypes/QuotePriceType.ts", "../../src/fieldtypes/QuoteRejectReason.ts", "../../src/fieldtypes/QuoteRequestRejectReason.ts", "../../src/fieldtypes/QuoteRequestType.ts", "../../src/fieldtypes/QuoteResponseLevel.ts", "../../src/fieldtypes/QuoteRespType.ts", "../../src/fieldtypes/QuoteSideIndicator.ts", "../../src/fieldtypes/QuoteStatus.ts", "../../src/fieldtypes/QuoteType.ts", "../../src/fieldtypes/RateSource.ts", "../../src/fieldtypes/RateSourceType.ts", "../../src/fieldtypes/ReferenceDataDateType.ts", "../../src/fieldtypes/ReferenceEntityType.ts", "../../src/fieldtypes/RefOrderIDSource.ts", "../../src/fieldtypes/RefOrdIDReason.ts", "../../src/fieldtypes/RefRiskLimitCheckIDType.ts", "../../src/fieldtypes/RegistRejReasonCode.ts", "../../src/fieldtypes/RegistStatus.ts", "../../src/fieldtypes/RegistTransType.ts", "../../src/fieldtypes/RegulatoryReportType.ts", "../../src/fieldtypes/RegulatoryTradeIDEvent.ts", "../../src/fieldtypes/RegulatoryTradeIDScope.ts", "../../src/fieldtypes/RegulatoryTradeIDSource.ts", "../../src/fieldtypes/RegulatoryTradeIDType.ts", "../../src/fieldtypes/RegulatoryTransactionType.ts", "../../src/fieldtypes/RelatedInstrumentType.ts", "../../src/fieldtypes/RelatedOrderIDSource.ts", "../../src/fieldtypes/RelatedPositionIDSource.ts", "../../src/fieldtypes/RelatedPriceSource.ts", "../../src/fieldtypes/RelatedTradeIDSource.ts", "../../src/fieldtypes/RelativeValueSide.ts", "../../src/fieldtypes/RelativeValueType.ts", "../../src/fieldtypes/ReleaseInstruction.ts", "../../src/fieldtypes/RemunerationIndicator.ts", "../../src/fieldtypes/ReportToExch.ts", "../../src/fieldtypes/RequestResult.ts", "../../src/fieldtypes/ResetSeqNumFlag.ts", "../../src/fieldtypes/RespondentType.ts", "../../src/fieldtypes/ResponseTransportType.ts", "../../src/fieldtypes/RestructuringType.ts", "../../src/fieldtypes/ReturnRateDateMode.ts", "../../src/fieldtypes/ReturnRatePriceBasis.ts", "../../src/fieldtypes/ReturnRatePriceSequence.ts", "../../src/fieldtypes/ReturnRatePriceType.ts", "../../src/fieldtypes/ReturnRateQuoteTimeType.ts", "../../src/fieldtypes/ReturnRateValuationPriceOption.ts", "../../src/fieldtypes/ReturnTrigger.ts", "../../src/fieldtypes/RiskLimitAction.ts", "../../src/fieldtypes/RiskLimitCheckModelType.ts", "../../src/fieldtypes/RiskLimitCheckRequestResult.ts", "../../src/fieldtypes/RiskLimitCheckRequestStatus.ts", "../../src/fieldtypes/RiskLimitCheckRequestType.ts", "../../src/fieldtypes/RiskLimitCheckStatus.ts", "../../src/fieldtypes/RiskLimitCheckTransType.ts", "../../src/fieldtypes/RiskLimitCheckType.ts", "../../src/fieldtypes/RiskLimitReportRejectReason.ts", "../../src/fieldtypes/RiskLimitReportStatus.ts", "../../src/fieldtypes/RiskLimitRequestResult.ts", "../../src/fieldtypes/RiskLimitRequestType.ts", "../../src/fieldtypes/RiskLimitType.ts", "../../src/fieldtypes/RoundingDirection.ts", "../../src/fieldtypes/RoutingArrangementIndicator.ts", "../../src/fieldtypes/RoutingType.ts", "../../src/fieldtypes/Rule80A.ts", "../../src/fieldtypes/Scope.ts", "../../src/fieldtypes/SecurityClassificationReason.ts", "../../src/fieldtypes/SecurityIDSource.ts", "../../src/fieldtypes/SecurityListRequestType.ts", "../../src/fieldtypes/SecurityListType.ts", "../../src/fieldtypes/SecurityListTypeSource.ts", "../../src/fieldtypes/SecurityRejectReason.ts", "../../src/fieldtypes/SecurityRequestResult.ts", "../../src/fieldtypes/SecurityRequestType.ts", "../../src/fieldtypes/SecurityResponseType.ts", "../../src/fieldtypes/SecurityStatus.ts", "../../src/fieldtypes/SecurityTradingEvent.ts", "../../src/fieldtypes/SecurityTradingStatus.ts", "../../src/fieldtypes/SecurityType.ts", "../../src/fieldtypes/SecurityUpdateAction.ts", "../../src/fieldtypes/SelfMatchPreventionInstruction.ts", "../../src/fieldtypes/Seniority.ts", "../../src/fieldtypes/SessionRejectReason.ts", "../../src/fieldtypes/SessionStatus.ts", "../../src/fieldtypes/SettlCurrFxRateCalc.ts", "../../src/fieldtypes/SettlDeliveryType.ts", "../../src/fieldtypes/SettlDisruptionProvision.ts", "../../src/fieldtypes/SettlInstMode.ts", "../../src/fieldtypes/SettlInstReqRejCode.ts", "../../src/fieldtypes/SettlInstSource.ts", "../../src/fieldtypes/SettlInstTransType.ts", "../../src/fieldtypes/SettlLocation.ts", "../../src/fieldtypes/SettlMethod.ts", "../../src/fieldtypes/SettlmntTyp.ts", "../../src/fieldtypes/SettlObligMode.ts", "../../src/fieldtypes/SettlObligSource.ts", "../../src/fieldtypes/SettlObligTransType.ts", "../../src/fieldtypes/SettlPriceDeterminationMethod.ts", "../../src/fieldtypes/SettlPriceType.ts", "../../src/fieldtypes/SettlSessID.ts", "../../src/fieldtypes/SettlStatusReportStatus.ts", "../../src/fieldtypes/SettlStatusRequestStatus.ts", "../../src/fieldtypes/SettlSubMethod.ts", "../../src/fieldtypes/SettlType.ts", "../../src/fieldtypes/ShortSaleExemptionReason.ts", "../../src/fieldtypes/ShortSaleReason.ts", "../../src/fieldtypes/ShortSaleRestriction.ts", "../../src/fieldtypes/Side.ts", "../../src/fieldtypes/SideClearingTradePriceType.ts", "../../src/fieldtypes/SideMultiLegReportingType.ts", "../../src/fieldtypes/SideValueInd.ts", "../../src/fieldtypes/SingleQuoteIndicator.ts", "../../src/fieldtypes/SolicitedFlag.ts", "../../src/fieldtypes/StandInstDbType.ts", "../../src/fieldtypes/StatsType.ts", "../../src/fieldtypes/StatusValue.ts", "../../src/fieldtypes/StipulationType.ts", "../../src/fieldtypes/StrategyParameterType.ts", "../../src/fieldtypes/StrategyType.ts", "../../src/fieldtypes/StreamAsgnAckType.ts", "../../src/fieldtypes/StreamAsgnRejReason.ts", "../../src/fieldtypes/StreamAsgnReqType.ts", "../../src/fieldtypes/StreamAsgnType.ts", "../../src/fieldtypes/StreamCommodityDataSourceIDType.ts", "../../src/fieldtypes/StreamCommodityNearbySettlDayUnit.ts", "../../src/fieldtypes/StreamCommoditySettlDateRollUnit.ts", "../../src/fieldtypes/StreamNotionalAdjustments.ts", "../../src/fieldtypes/StreamNotionalCommodityFrequency.ts", "../../src/fieldtypes/StreamType.ts", "../../src/fieldtypes/StrikeIndexQuote.ts", "../../src/fieldtypes/StrikePriceBoundaryMethod.ts", "../../src/fieldtypes/StrikePriceDeterminationMethod.ts", "../../src/fieldtypes/SubscriptionRequestType.ts", "../../src/fieldtypes/SwapClass.ts", "../../src/fieldtypes/SwapSubClass.ts", "../../src/fieldtypes/SymbolSfx.ts", "../../src/fieldtypes/TargetStrategy.ts", "../../src/fieldtypes/TaxAdvantageType.ts", "../../src/fieldtypes/TaxonomyType.ts", "../../src/fieldtypes/TerminationType.ts", "../../src/fieldtypes/TestActionRequestStatus.ts", "../../src/fieldtypes/TestActionType.ts", "../../src/fieldtypes/TestGatewayDetailType.ts", "../../src/fieldtypes/TestMessageIndicator.ts", "../../src/fieldtypes/TestSuiteActivityState.ts", "../../src/fieldtypes/TestSuiteRequestStatus.ts", "../../src/fieldtypes/TestSuiteRequestTransType.ts", "../../src/fieldtypes/TestSuiteStatus.ts", "../../src/fieldtypes/TestThresholdType.ts", "../../src/fieldtypes/ThrottleAction.ts", "../../src/fieldtypes/ThrottleCountIndicator.ts", "../../src/fieldtypes/ThrottleInst.ts", "../../src/fieldtypes/ThrottleStatus.ts", "../../src/fieldtypes/ThrottleType.ts", "../../src/fieldtypes/TickDirection.ts", "../../src/fieldtypes/TickRuleType.ts", "../../src/fieldtypes/TimeInForce.ts", "../../src/fieldtypes/TimeUnit.ts", "../../src/fieldtypes/TradeAggregationRejectReason.ts", "../../src/fieldtypes/TradeAggregationRequestStatus.ts", "../../src/fieldtypes/TradeAggregationTransType.ts", "../../src/fieldtypes/TradeAllocGroupInstruction.ts", "../../src/fieldtypes/TradeAllocIndicator.ts", "../../src/fieldtypes/TradeAllocStatus.ts", "../../src/fieldtypes/TradeCollateralization.ts", "../../src/fieldtypes/TradeCondition.ts", "../../src/fieldtypes/TradeContingency.ts", "../../src/fieldtypes/TradeContinuation.ts", "../../src/fieldtypes/TradedFlatSwitch.ts", "../../src/fieldtypes/TradeHandlingInstr.ts", "../../src/fieldtypes/TradeMatchAckStatus.ts", "../../src/fieldtypes/TradeMatchRejectReason.ts", "../../src/fieldtypes/TradePriceCondition.ts", "../../src/fieldtypes/TradePriceNegotiationMethod.ts", "../../src/fieldtypes/TradePublishIndicator.ts", "../../src/fieldtypes/TradeQtyType.ts", "../../src/fieldtypes/TradeReportingIndicator.ts", "../../src/fieldtypes/TradeReportRejectReason.ts", "../../src/fieldtypes/TradeReportTransType.ts", "../../src/fieldtypes/TradeReportType.ts", "../../src/fieldtypes/TradeRequestResult.ts", "../../src/fieldtypes/TradeRequestStatus.ts", "../../src/fieldtypes/TradeRequestType.ts", "../../src/fieldtypes/TradeType.ts", "../../src/fieldtypes/TradeVolType.ts", "../../src/fieldtypes/TradingCapacity.ts", "../../src/fieldtypes/TradingSessionID.ts", "../../src/fieldtypes/TradingSessionSubID.ts", "../../src/fieldtypes/TradSesControl.ts", "../../src/fieldtypes/TradSesEvent.ts", "../../src/fieldtypes/TradSesMethod.ts", "../../src/fieldtypes/TradSesMode.ts", "../../src/fieldtypes/TradSesStatus.ts", "../../src/fieldtypes/TradSesStatusRejReason.ts", "../../src/fieldtypes/TransactionAttributeType.ts", "../../src/fieldtypes/TransferRejectReason.ts", "../../src/fieldtypes/TransferReportType.ts", "../../src/fieldtypes/TransferScope.ts", "../../src/fieldtypes/TransferStatus.ts", "../../src/fieldtypes/TransferTransType.ts", "../../src/fieldtypes/TransferType.ts", "../../src/fieldtypes/TrdAckStatus.ts", "../../src/fieldtypes/TrdRegPublicationReason.ts", "../../src/fieldtypes/TrdRegPublicationType.ts", "../../src/fieldtypes/TrdRegTimestampManualIndicator.ts", "../../src/fieldtypes/TrdRegTimestampType.ts", "../../src/fieldtypes/TrdRptStatus.ts", "../../src/fieldtypes/TrdSubType.ts", "../../src/fieldtypes/TrdType.ts", "../../src/fieldtypes/TriggerAction.ts", "../../src/fieldtypes/Triggered.ts", "../../src/fieldtypes/TriggerOrderType.ts", "../../src/fieldtypes/TriggerPriceDirection.ts", "../../src/fieldtypes/TriggerPriceType.ts", "../../src/fieldtypes/TriggerPriceTypeScope.ts", "../../src/fieldtypes/TriggerScope.ts", "../../src/fieldtypes/TriggerType.ts", "../../src/fieldtypes/UnderlyingCashType.ts", "../../src/fieldtypes/UnderlyingFXRateCalc.ts", "../../src/fieldtypes/UnderlyingNotionalAdjustments.ts", "../../src/fieldtypes/UnderlyingObligationType.ts", "../../src/fieldtypes/UnderlyingPriceDeterminationMethod.ts", "../../src/fieldtypes/UnderlyingSettlementType.ts", "../../src/fieldtypes/UnitOfMeasure.ts", "../../src/fieldtypes/UnsolicitedIndicator.ts", "../../src/fieldtypes/UpfrontPriceType.ts", "../../src/fieldtypes/Urgency.ts", "../../src/fieldtypes/UserRequestType.ts", "../../src/fieldtypes/UserStatus.ts", "../../src/fieldtypes/ValuationMethod.ts", "../../src/fieldtypes/ValueCheckAction.ts", "../../src/fieldtypes/ValueCheckType.ts", "../../src/fieldtypes/VenueType.ts", "../../src/fieldtypes/VerificationMethod.ts", "../../src/fieldtypes/WorkingIndicator.ts", "../../src/fieldtypes/YieldType.ts", "../../src/util/timestamp.ts", "../../src/util/util.ts", "../../src/message/Message.ts", "../../src/FIXParserBase.ts", "../../../fixparser-plugin-log-console/src/ConsoleLogTransport.ts", "../../src/logger/Logger.ts", "../../src/messagetemplates/MessageTemplates.ts", "../../src/session/SessionLogon.ts", "../../src/session/SessionLogout.ts", "../../src/session/SessionResendRequest.ts", "../../src/session/SessionSequence.ts", "../../src/session/SessionSequenceReset.ts", "../../src/session/SessionTestRequest.ts", "../../src/session/ClientMessageProcessor.ts", "../../src/util/FrameDecoder.ts", "../../src/session/SessionFirstMessage.ts", "../../src/session/ServerMessageProcessor.ts"],
"sourcesContent": ["'use strict';\n\nconst BINARY_TYPES = ['nodebuffer', 'arraybuffer', 'fragments'];\nconst hasBlob = typeof Blob !== 'undefined';\n\nif (hasBlob) BINARY_TYPES.push('blob');\n\nmodule.exports = {\n BINARY_TYPES,\n EMPTY_BUFFER: Buffer.alloc(0),\n GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',\n hasBlob,\n kForOnEventAttribute: Symbol('kIsForOnEventAttribute'),\n kListener: Symbol('kListener'),\n kStatusCode: Symbol('status-code'),\n kWebSocket: Symbol('websocket'),\n NOOP: () => {}\n};\n", "'use strict';\n\nconst { EMPTY_BUFFER } = require('./constants');\n\nconst FastBuffer = Buffer[Symbol.species];\n\n/**\n * Merges an array of buffers into a new buffer.\n *\n * @param {Buffer[]} list The array of buffers to concat\n * @param {Number} totalLength The total length of buffers in the list\n * @return {Buffer} The resulting buffer\n * @public\n */\nfunction concat(list, totalLength) {\n if (list.length === 0) return EMPTY_BUFFER;\n if (list.length === 1) return list[0];\n\n const target = Buffer.allocUnsafe(totalLength);\n let offset = 0;\n\n for (let i = 0; i < list.length; i++) {\n const buf = list[i];\n target.set(buf, offset);\n offset += buf.length;\n }\n\n if (offset < totalLength) {\n return new FastBuffer(target.buffer, target.byteOffset, offset);\n }\n\n return target;\n}\n\n/**\n * Masks a buffer using the given mask.\n *\n * @param {Buffer} source The buffer to mask\n * @param {Buffer} mask The mask to use\n * @param {Buffer} output The buffer where to store the result\n * @param {Number} offset The offset at which to start writing\n * @param {Number} length The number of bytes to mask.\n * @public\n */\nfunction _mask(source, mask, output, offset, length) {\n for (let i = 0; i < length; i++) {\n output[offset + i] = source[i] ^ mask[i & 3];\n }\n}\n\n/**\n * Unmasks a buffer using the given mask.\n *\n * @param {Buffer} buffer The buffer to unmask\n * @param {Buffer} mask The mask to use\n * @public\n */\nfunction _unmask(buffer, mask) {\n for (let i = 0; i < buffer.length; i++) {\n buffer[i] ^= mask[i & 3];\n }\n}\n\n/**\n * Converts a buffer to an `ArrayBuffer`.\n *\n * @param {Buffer} buf The buffer to convert\n * @return {ArrayBuffer} Converted buffer\n * @public\n */\nfunction toArrayBuffer(buf) {\n if (buf.length === buf.buffer.byteLength) {\n return buf.buffer;\n }\n\n return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.length);\n}\n\n/**\n * Converts `data` to a `Buffer`.\n *\n * @param {*} data The data to convert\n * @return {Buffer} The buffer\n * @throws {TypeError}\n * @public\n */\nfunction toBuffer(data) {\n toBuffer.readOnly = true;\n\n if (Buffer.isBuffer(data)) return data;\n\n let buf;\n\n if (data instanceof ArrayBuffer) {\n buf = new FastBuffer(data);\n } else if (ArrayBuffer.isView(data)) {\n buf = new FastBuffer(data.buffer, data.byteOffset, data.byteLength);\n } else {\n buf = Buffer.from(data);\n toBuffer.readOnly = false;\n }\n\n return buf;\n}\n\nmodule.exports = {\n concat,\n mask: _mask,\n toArrayBuffer,\n toBuffer,\n unmask: _unmask\n};\n\n/* istanbul ignore else */\nif (!process.env.WS_NO_BUFFER_UTIL) {\n try {\n const bufferUtil = require('bufferutil');\n\n module.exports.mask = function (source, mask, output, offset, length) {\n if (length < 48) _mask(source, mask, output, offset, length);\n else bufferUtil.mask(source, mask, output, offset, length);\n };\n\n module.exports.unmask = function (buffer, mask) {\n if (buffer.length < 32) _unmask(buffer, mask);\n else bufferUtil.unmask(buffer, mask);\n };\n } catch (e) {\n // Continue regardless of the error.\n }\n}\n", "'use strict';\n\nconst kDone = Symbol('kDone');\nconst kRun = Symbol('kRun');\n\n/**\n * A very simple job queue with adjustable concurrency. Adapted from\n * https://github.com/STRML/async-limiter\n */\nclass Limiter {\n /**\n * Creates a new `Limiter`.\n *\n * @param {Number} [concurrency=Infinity] The maximum number of jobs allowed\n * to run concurrently\n */\n constructor(concurrency) {\n this[kDone] = () => {\n this.pending--;\n this[kRun]();\n };\n this.concurrency = concurrency || Infinity;\n this.jobs = [];\n this.pending = 0;\n }\n\n /**\n * Adds a job to the queue.\n *\n * @param {Function} job The job to run\n * @public\n */\n add(job) {\n this.jobs.push(job);\n this[kRun]();\n }\n\n /**\n * Removes a job from the queue and runs it if possible.\n *\n * @private\n */\n [kRun]() {\n if (this.pending === this.concurrency) return;\n\n if (this.jobs.length) {\n const job = this.jobs.shift();\n\n this.pending++;\n job(this[kDone]);\n }\n }\n}\n\nmodule.exports = Limiter;\n", "'use strict';\n\nconst zlib = require('zlib');\n\nconst bufferUtil = require('./buffer-util');\nconst Limiter = require('./limiter');\nconst { kStatusCode } = require('./constants');\n\nconst FastBuffer = Buffer[Symbol.species];\nconst TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]);\nconst kPerMessageDeflate = Symbol('permessage-deflate');\nconst kTotalLength = Symbol('total-length');\nconst kCallback = Symbol('callback');\nconst kBuffers = Symbol('buffers');\nconst kError = Symbol('error');\n\n//\n// We limit zlib concurrency, which prevents severe memory fragmentation\n// as documented in https://github.com/nodejs/node/issues/8871#issuecomment-250915913\n// and https://github.com/websockets/ws/issues/1202\n//\n// Intentionally global; it's the global thread pool that's an issue.\n//\nlet zlibLimiter;\n\n/**\n * permessage-deflate implementation.\n */\nclass PerMessageDeflate {\n /**\n * Creates a PerMessageDeflate instance.\n *\n * @param {Object} [options] Configuration options\n * @param {(Boolean|Number)} [options.clientMaxWindowBits] Advertise support\n * for, or request, a custom client window size\n * @param {Boolean} [options.clientNoContextTakeover=false] Advertise/\n * acknowledge disabling of client context takeover\n * @param {Number} [options.concurrencyLimit=10] The number of concurrent\n * calls to zlib\n * @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the\n * use of a custom server window size\n * @param {Boolean} [options.serverNoContextTakeover=false] Request/accept\n * disabling of server context takeover\n * @param {Number} [options.threshold=1024] Size (in bytes) below which\n * messages should not be compressed if context takeover is disabled\n * @param {Object} [options.zlibDeflateOptions] Options to pass to zlib on\n * deflate\n * @param {Object} [options.zlibInflateOptions] Options to pass to zlib on\n * inflate\n * @param {Boolean} [isServer=false] Create the instance in either server or\n * client mode\n * @param {Number} [maxPayload=0] The maximum allowed message length\n */\n constructor(options, isServer, maxPayload) {\n this._maxPayload = maxPayload | 0;\n this._options = options || {};\n this._threshold =\n this._options.threshold !== undefined ? this._options.threshold : 1024;\n this._isServer = !!isServer;\n this._deflate = null;\n this._inflate = null;\n\n this.params = null;\n\n if (!zlibLimiter) {\n const concurrency =\n this._options.concurrencyLimit !== undefined\n ? this._options.concurrencyLimit\n : 10;\n zlibLimiter = new Limiter(concurrency);\n }\n }\n\n /**\n * @type {String}\n */\n static get extensionName() {\n return 'permessage-deflate';\n }\n\n /**\n * Create an extension negotiation offer.\n *\n * @return {Object} Extension parameters\n * @public\n */\n offer() {\n const params = {};\n\n if (this._options.serverNoContextTakeover) {\n params.server_no_context_takeover = true;\n }\n if (this._options.clientNoContextTakeover) {\n params.client_no_context_takeover = true;\n }\n if (this._options.serverMaxWindowBits) {\n params.server_max_window_bits = this._options.serverMaxWindowBits;\n }\n if (this._options.clientMaxWindowBits) {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n } else if (this._options.clientMaxWindowBits == null) {\n params.client_max_window_bits = true;\n }\n\n return params;\n }\n\n /**\n * Accept an extension negotiation offer/response.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Object} Accepted configuration\n * @public\n */\n accept(configurations) {\n configurations = this.normalizeParams(configurations);\n\n this.params = this._isServer\n ? this.acceptAsServer(configurations)\n : this.acceptAsClient(configurations);\n\n return this.params;\n }\n\n /**\n * Releases all resources used by the extension.\n *\n * @public\n */\n cleanup() {\n if (this._inflate) {\n this._inflate.close();\n this._inflate = null;\n }\n\n if (this._deflate) {\n const callback = this._deflate[kCallback];\n\n this._deflate.close();\n this._deflate = null;\n\n if (callback) {\n callback(\n new Error(\n 'The deflate stream was closed while data was being processed'\n )\n );\n }\n }\n }\n\n /**\n * Accept an extension negotiation offer.\n *\n * @param {Array} offers The extension negotiation offers\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsServer(offers) {\n const opts = this._options;\n const accepted = offers.find((params) => {\n if (\n (opts.serverNoContextTakeover === false &&\n params.server_no_context_takeover) ||\n (params.server_max_window_bits &&\n (opts.serverMaxWindowBits === false ||\n (typeof opts.serverMaxWindowBits === 'number' &&\n opts.serverMaxWindowBits > params.server_max_window_bits))) ||\n (typeof opts.clientMaxWindowBits === 'number' &&\n !params.client_max_window_bits)\n ) {\n return false;\n }\n\n return true;\n });\n\n if (!accepted) {\n throw new Error('None of the extension offers can be accepted');\n }\n\n if (opts.serverNoContextTakeover) {\n accepted.server_no_context_takeover = true;\n }\n if (opts.clientNoContextTakeover) {\n accepted.client_no_context_takeover = true;\n }\n if (typeof opts.serverMaxWindowBits === 'number') {\n accepted.server_max_window_bits = opts.serverMaxWindowBits;\n }\n if (typeof opts.clientMaxWindowBits === 'number') {\n accepted.client_max_window_bits = opts.clientMaxWindowBits;\n } else if (\n accepted.client_max_window_bits === true ||\n opts.clientMaxWindowBits === false\n ) {\n delete accepted.client_max_window_bits;\n }\n\n return accepted;\n }\n\n /**\n * Accept the extension negotiation response.\n *\n * @param {Array} response The extension negotiation response\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsClient(response) {\n const params = response[0];\n\n if (\n this._options.clientNoContextTakeover === false &&\n params.client_no_context_takeover\n ) {\n throw new Error('Unexpected parameter \"client_no_context_takeover\"');\n }\n\n if (!params.client_max_window_bits) {\n if (typeof this._options.clientMaxWindowBits === 'number') {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n }\n } else if (\n this._options.clientMaxWindowBits === false ||\n (typeof this._options.clientMaxWindowBits === 'number' &&\n params.client_max_window_bits > this._options.clientMaxWindowBits)\n ) {\n throw new Error(\n 'Unexpected or invalid parameter \"client_max_window_bits\"'\n );\n }\n\n return params;\n }\n\n /**\n * Normalize parameters.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Array} The offers/response with normalized parameters\n * @private\n */\n normalizeParams(configurations) {\n configurations.forEach((params) => {\n Object.keys(params).forEach((key) => {\n let value = params[key];\n\n if (value.length > 1) {\n throw new Error(`Parameter \"${key}\" must have only a single value`);\n }\n\n value = value[0];\n\n if (key === 'client_max_window_bits') {\n if (value !== true) {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (!this._isServer) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else if (key === 'server_max_window_bits') {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (\n key === 'client_no_context_takeover' ||\n key === 'server_no_context_takeover'\n ) {\n if (value !== true) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else {\n throw new Error(`Unknown parameter \"${key}\"`);\n }\n\n params[key] = value;\n });\n });\n\n return configurations;\n }\n\n /**\n * Decompress data. Concurrency limited.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n decompress(data, fin, callback) {\n zlibLimiter.add((done) => {\n this._decompress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Compress data. Concurrency limited.\n *\n * @param {(Buffer|String)} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n compress(data, fin, callback) {\n zlibLimiter.add((done) => {\n this._compress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Decompress data.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _decompress(data, fin, callback) {\n const endpoint = this._isServer ? 'client' : 'server';\n\n if (!this._inflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits =\n typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._inflate = zlib.createInflateRaw({\n ...this._options.zlibInflateOptions,\n windowBits\n });\n this._inflate[kPerMessageDeflate] = this;\n this._inflate[kTot