ž Ñ;; ¢((jð‚uDU2±­ÏcÍ8 "      comgithubdoyaaaaakenkotlincsvclientBufferedLineReaderDEFINEDbrReaderkotlinUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingCompanionBOMCharINSTANCE_RECEIVERisEmptyLineBooleantextStringBuilderORORisEmptyANDANDinternalirEQEQIntlengthGET_PROPERTYgetGET_ARRAY_ELEMENTreadLineWithTerminatorStringsbDO_WHILE_LOOPcreadIFchtoCharappendmarkc2resettoStringclose°  "          b       %$  &    L  7   comgithubdoyaaaaakenkotlincsvclientCsvFileReaderDEFINEDctxdslcontextCsvReaderContextreaderReaderloggerutilLoggerkotlinUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingBufferedLineReaderrowNumLongparserCsvParserCharquoteCharGET_PROPERTYdelimiterescapeCharreadNextDeprecatedStringWe are considering making it a private method. If you have feedback, please comment on Issue #100.collectionsListreadUntilNextCsvRowreadAllAsSequencesequencesSequencefieldsNumIntexpectedNumFieldsInRowmapIndexedNotNullgenerateSequenceFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAFunction2ParameterNameindexidxrowIFBooleaninternalirEQEQsizeEQnumFieldsInRowELVISIR_TEMPORARY_VARIABLEtmp0_elvis_lhsgreaterGTExcessFieldsRowBehaviourexcessFieldsRowBehaviourTRIMinfotrimming excess rows. [csv row num = plusPLUS, fields num = , fields num of row = ]subListORORskipMissMatchedRowIGNOREskipMismatchedRowCSVFieldNumDifferentExceptionnotEXCLEQInsufficientFieldsRowBehaviourinsufficientFieldsRowBehaviourEMPTY_STRINGnumOfMissingFieldsminusMINUSFunction1itskip miss matched row. [csv row num = , fields num of first row = readAllWithHeaderAsSequenceMapSuppressArrayDEPRECATIONheadersemptySequenceautoRenameDuplicateHeadersdeduplicateHeadersduplicatedfindDuplicateMalformedCSVExceptionheader '' is duplicated. please consider to use 'autoRenameDuplicateHeaders' option.mapfieldstoMapPairzipcloseleftOvernextLinereadLineWithTerminatorPOSTFIX_INCRtmp0_thistmp1inctextisNotEmpty"" on the tail of file is left on the way of parsing rowANDANDskipEmptyLineisBlankvalueisEmptytmp2_elvis_lhsparseRowsetMutableSetmutableSetOfforEachhcontainsaddoccurrencesMutableMapmutableMapOfalsoheadercountgetOrPutWHEN_resultsdistinctCSVAutoRenameFailedExceptionINSTANCE_RECEIVER comgithubdoyaaaaakenkotlincsvclient comgithubdoyaaaaakenkotlincsvclient    comgithubdoyaaaaakenkotlincsvclientICsvFileWriterDEFINEDwriteRowkotlinUnitrowcollectionsListAnyentryArraywriteRowsrowssequencesSequenceflushcloseINSTANCE_RECEIVER5 "       comgithubdoyaaaaakenkotlincsvclientReaderDEFINEDreadkotlinIntmarkUnitreadAheadLimitresetcloseINSTANCE_RECEIVERAnyStringReaderImpldataStringPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingnextCharIFBooleaninternalirEQEQGET_PROPERTYlengthcodeChargetGET_ARRAY_ELEMENTPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0_thistmp1incEQ     comgithubdoyaaaaakenkotlincsvdslcsvReaderDEFINEDclientCsvReaderinitkotlinExtensionFunctionTypeFunction1contextCsvReaderContextUnitLOCAL_FUNCTION_FOR_LAMBDA$this$nullNothingLAMBDAapply     comgithubdoyaaaaakenkotlincsvdslcsvWriterDEFINEDclientCsvWriterinitkotlinExtensionFunctionTypeFunction1contextCsvWriterContextUnitLOCAL_FUNCTION_FOR_LAMBDA$this$nullNothingLAMBDAapplyK         N $     $comgithubdoyaaaaakenkotlincsvdslcontextICsvReaderContextutilCsvDslMarkerDEFINEDloggerDEFAULT_PROPERTY_ACCESSORLoggercharsetkotlinStringquoteCharChardelimiterescapeCharskipEmptyLineBooleanskipMissMatchedRowDeprecatedUse insufficientFieldsRowBehaviour and excessRowsBehaviour to specify 'ignore'autoRenameDuplicateHeadersinsufficientFieldsRowBehaviourInsufficientFieldsRowBehaviourexcessFieldsRowBehaviourExcessFieldsRowBehaviourINSTANCE_RECEIVERAnyUnitEnumERRORIGNOREEMPTY_STRINGvaluesENUM_CLASS_SPECIAL_MEMBERArrayvalueOfvalueTRIMCsvReaderContextPROPERTY_BACKING_FIELDLoggerNopNothingConstdefaultCharsetGET_PROPERTY'      comgithubdoyaaaaakenkotlincsvdslcontextCsvWriteQuoteContextutilCsvDslMarkerDEFINEDkotlinUnitAnycharPROPERTY_BACKING_FIELDCharDEFAULT_PROPERTY_ACCESSORNothingmodeWriteQuoteModeCANONICALINSTANCE_RECEIVEREnumALLNON_NUMERICvaluesENUM_CLASS_SPECIAL_MEMBERArrayvalueOfvalueString:         comgithubdoyaaaaakenkotlincsvdslcontextICsvWriterContextutilCsvDslMarkerDEFINEDcharsetDEFAULT_PROPERTY_ACCESSORkotlinStringdelimiterCharnullCodelineTerminatoroutputLastLineTerminatorBooleanprependBOMquoteCsvWriteQuoteContextINSTANCE_RECEIVERAnyCsvWriterContextUnitPROPERTY_BACKING_FIELDConstdefaultCharsetGET_PROPERTYNothing initExtensionFunctionTypeFunction1invokeINVOKEVARIABLE_AS_FUNCTIONG    "       comgithubdoyaaaaakenkotlincsvparserCsvParserDEFINEDquoteCharkotlinChardelimiterescapeCharUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingparseRowcollectionsListStringlinerowNumLongstateMachineParseStateMachineGET_PROPERTYlastChtextfirstOrNullskipCountzipWithNextFunction2ParameterNameabLOCAL_FUNCTION_FOR_LAMBDAchnextChIFBooleaninternalirgreaterGTInttoLongPOSTFIX_DECRIR_TEMPORARY_VARIABLEtmp0decminusMINUSreadEQLAMBDAANDANDnotEXCLEQEQEQrequireNotNullgetResultINSTANCE_RECEIVERv   "              0 8  comgithubdoyaaaaakenkotlincsvparserParseStateMachineDEFINEDquoteCharkotlinChardelimiterescapeCharUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingstateParseStateSTARTfieldscollectionsArrayListStringfieldtextStringBuilderposLongreadchnextChrowNumprevPosGET_PROPERTYWHENIR_TEMPORARY_VARIABLEtmp0_subjectBooleaninternalirEQEQtmp1_subjectutilConstBOMEQQUOTE_STARTflushFieldDELIMITERWHEN_COMMAENDIFPLUSEQtmp2_thisplusIntappendFIELDtmp3_thistmp4_subjectnotEXCLEQCSVParseFormatExceptionmust appear escapeChar() after escapeChar()tmp5_thistmp6_thistmp7_thistmp8_subjecttmp9_thistmp10_thisQUOTED_FIELDANDANDend of quote doesn't existescape character must appear consecutively twicetmp11_thistmp12_thisQUOTE_ENDtmp13_thistmp14_subjecttmp15_thismust appear delimiter or line terminator after quote endtmp16_thisunexpected errorminusMINUSgetResultListaddtoListtoStringclearINSTANCE_RECEIVEREnumvaluesENUM_CLASS_SPECIAL_MEMBERArrayvalueOfvalue0 ! "   ?comgithubdoyaaaaakenkotlincsvutilMalformedCSVExceptionDEFINEDmessagekotlinStringUnitRuntimeExceptionINSTANCE_RECEIVERCSVParseFormatExceptionrowNumLongcolIndexcharCharException happened on parsing csv [rowNum = , colIndex = , char = ]PROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingCSVFieldNumDifferentExceptionfieldNumIntfieldNumOnFailedRowcsvRowNumFields num seems to be on each row, but on th csv row, fields num is .CSVAutoRenameFailedExceptionauto renaming by 'autoRenameDuplicateHeaders' option is failed.  comgithubdoyaaaaakenkotlincsvutilConstDEFINEDkotlinUnitAnydefaultCharsetPROPERTY_BACKING_FIELDStringUTF-8DEFAULT_PROPERTY_ACCESSORNothingBOMCharINSTANCE_RECEIVER    comgithubdoyaaaaakenkotlincsvutilCsvDslMarkerkotlinDslMarkerDEFINEDUnitAnyINSTANCE_RECEIVERAnnotation comgithubdoyaaaaakenkotlincsvutilloggerLoggerDEFINEDinfokotlinUnitmessageStringINSTANCE_RECEIVERAny  comgithubdoyaaaaakenkotlincsvutilloggerLoggerNopDEFINEDkotlinUnitAnyinfomessageStringNothingLoggerINSTANCE_RECEIVERB  "     $       comgithubdoyaaaaakenkotlincsvclientCsvReaderDEFINEDctxdslcontextCsvReaderContextkotlinUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingautoRenameDuplicateHeadersDELEGATED_MEMBERBooleanICsvReaderContextcharsetStringdelimiterCharescapeCharexcessFieldsRowBehaviourExcessFieldsRowBehaviourinsufficientFieldsRowBehaviourInsufficientFieldsRowBehaviourloggerutilLoggerquoteCharskipEmptyLineskipMissMatchedRowreadAllcollectionsListdatasequencestoListSequenceCsvFileReaderreadAllAsSequenceGET_PROPERTYStringReaderImplreadAllWithHeaderMapreadAllWithHeaderAsSequenceINSTANCE_RECEIVER%     comgithubdoyaaaaakenkotlincsvclientCsvWriterDEFINEDctxdslcontextCsvWriterContextkotlinUnitAnyopentargetFileNameStringappendBooleanwriteExtensionFunctionTypeFunction1ICsvFileWriterNothingTODONot ImplementedwriteAllrowscollectionsListwriteAllAsyncopenAsynccoroutinesSuspendFunction1INSTANCE_RECEIVER