digraph "classes" {
charset="utf-8"
rankdir=BT
"0" [label="{AESCompressor|AES_CBC_BLOCKSIZE : int\lbuf\lcipher\lcycles : int\lflushed : bool\liv\lmethod\lsalt : bytes\l|compress(data)\lencode_filter_properties()\lflush()\l}", shape="record"];
"1" [label="{AESDecompressor|buf\lcipher\l|decompress(data)\l}", shape="record"];
"2" [label="{ArchiveCallback|\l|}", shape="record"];
"4" [label="{ArchiveFile|archivable\lcompressed\lcrc32\lemptystream\lfilename\lfolder\lid\lis_directory\lis_junction\lis_socket\lis_symlink\llastwritetime\lorigin\lposix_mode\lreadonly\lst_fmt\luncompressed\l|file_properties()\l}", shape="record"];
"5" [label="{ArchiveFileList|files_list : list\lindex : int\loffset : int\l|append(file_info)\l}", shape="record"];
"7" [label="{ArchiveInfo|blocks\lfilename\lheader_size\lmethod_names\lsize\lsolid\luncompressed\l|}", shape="record"];
"13" [label="{Buffer|view : memoryview\l|add(data)\lget()\lreset()\lset(data)\l}", shape="record"];
"16" [label="{Callback|\l|report_end(processing_file_path, wrote_bytes)\lreport_postprocess()\lreport_start(processing_file_path, processing_bytes)\lreport_start_preparation()\lreport_warning(message)\l}", shape="record"];
"19" [label="{CompressionMethod|ARM\lARMT\lBCJ\lBCJ_ARM\lBCJ_ARMT\lBCJ_IA64\lBCJ_PPC\lBCJ_SPARC\lCOPY\lCRYPT_AES256_SHA256\lCRYPT_RAR29AES\lCRYPT_ZIPCRYPT\lDELTA\lIA64\lLZMA\lLZMA2\lMISC_BROTLI\lMISC_BZIP2\lMISC_DEFLATE\lMISC_DEFLATE64\lMISC_LIZARD\lMISC_LZ4\lMISC_LZH\lMISC_LZS\lMISC_Z\lMISC_ZIP\lMISC_ZSTD\lNSIS_BZIP2\lNSIS_DEFLATE\lP7Z_BCJ\lP7Z_BCJ2\lPPC\lPPMD\lSPARC\lSWAP2\lSWAP4\l|}", shape="record"];
"20" [label="{CompressorChain|digest : int\lfilters : list\lmethods_map\lpacksize : int\lunpacksizes\l|add_filter(filter)\lcompress(data)\lflush()\l}", shape="record"];
"22" [label="{CopyCompressor|\l|compress(data)\lflush()\l}", shape="record"];
"23" [label="{CopyDecompressor|\l|decompress(data)\l}", shape="record"];
"26" [label="{DecompressorChain|filters : list\l|add_filter(filter)\ldecompress(data, max_length)\l}", shape="record"];
"27" [label="{DeflateCompressor|\l|compress(data)\lflush()\l}", shape="record"];
"28" [label="{DeflateDecompressor|flushed : bool\l|decompress(data)\l}", shape="record"];
"30" [label="{ExtractCallback|\l|}", shape="record"];
"31" [label="{FileInfo|archivable\lcompressed\lcrc32\lcreationtime\lfilename\lis_directory\luncompressed\l|}", shape="record"];
"32" [label="{FilesInfo|emptyfiles : list\lfiles : list\l|retrieve(cls, file)\lwrite(file)\l}", shape="record"];
"33" [label="{Folder|bindpairs : list\lcoders : list\lcompressor : NoneType\lcrc : int, NoneType\ldecompressor : NoneType\ldigestdefined : bool\lfiles : NoneType\lpacked_indices : list\lsolid : bool\lunpacksizes : list\l|get_compressor()\lget_decompressor(packsize, reset)\lget_unpack_size()\lis_simple(coder)\lprepare_coderinfo(filters)\lretrieve(cls, file)\lwrite(file)\l}", shape="record"];
"34" [label="{Header|files_info : NoneType\lmain_streams : NoneType\lsize : int\lsolid : bool\l|build_header(folders)\lretrieve(cls, fp, buffer, start_pos)\lwrite(file, afterheader, encoded, encrypted)\l}", shape="record"];
"35" [label="{HeaderStreamsInfo|packinfo\lunpackinfo\l|write(file)\l}", shape="record"];
"37" [label="{ISevenZipCompressor|\l|compress(data)\lflush()\l}", shape="record"];
"38" [label="{ISevenZipDecompressor|\l|decompress(data)\l}", shape="record"];
"41" [label="{MemIO|parent\l|close()\lflush()\lmkdir(parents, exist_ok)\lopen(mode)\lread(length)\lseek(position)\lwrite(data)\l}", shape="record"];
"44" [label="{NullIO|parent\l|close()\lflush()\lmkdir()\lopen(mode)\lread(length)\lwrite(data)\l}", shape="record"];
"45" [label="{PackInfo|crcs : list\lenable_digests : bool\lnumstreams : int\lpackpos : int\lpackpositions\lpacksizes : list\l|retrieve(cls, file)\lwrite(file)\l}", shape="record"];
"53" [label="{SevenZipCompressor|cchain\lcoders : list\ldigest\lfilters : NoneType, list\lmethods_map\lpacksize\lunpacksizes\l|compress(data)\lflush()\l}", shape="record"];
"54" [label="{SevenZipDecompressor|cchain\lconsumed : int\lcrc\ldigest : NoneType, int\linput_size\lmethods_map\lunpacksizes\l|check_crc()\ldecompress(data, max_length)\l}", shape="record"];
"55" [label="{SevenZipFile|afterheader\ldereference : bool\lencoded_header_mode : bool\lfilename : str\lfiles : NoneType\lfolder : NoneType\lfp\lheader : NoneType\lmode : str\lpassword : NoneType\lpassword_protected : bool\lq\lreporterd : NoneType\lsig_header : NoneType\lworker : NoneType\l|archiveinfo()\lclose()\lextract(path, targets)\lextractall(path, callback)\lgetnames()\llist()\lread(targets)\lreadall()\lreporter(callback)\lreset()\lset_encoded_header_mode(mode)\ltest()\ltestzip()\lwrite(file, arcname)\lwriteall(path, arcname)\l}", shape="record"];
"56" [label="{SignatureHeader|nextheadercrc : int\lnextheaderofs : int\lnextheadersize : int\lstartheadercrc : int\lversion : tuple\l|calccrc(length, header_crc)\lretrieve(cls, file)\lwrite(file)\l}", shape="record"];
"57" [label="{StreamsInfo|packinfo : NoneType\lsubstreamsinfo : NoneType\lunpackinfo : NoneType\l|read(file)\lretrieve(cls, file)\lwrite(file)\l}", shape="record"];
"58" [label="{SubstreamsInfo|digests : list\ldigestsdefined : list\lnum_unpackstreams_folders : list\lunpacksizes : list, NoneType\l|retrieve(cls, file, numfolders, folders)\lwrite(file, numfolders)\l}", shape="record"];
"59" [label="{SupportedMethods|formats : list\lmethods : list\l|get_coder(cls, filter)\lget_filter_id(cls, coder)\lget_method_id(cls, filter)\lis_compressor(cls, filter)\lis_crypto(cls, filter)\lis_native_coder(cls, coder)\lis_native_filter(cls, filter)\l}", shape="record"];
"64" [label="{UnpackInfo|datastreamidx : NoneType\lfolders : list\lnumfolders : NoneType, int\l|retrieve(cls, file)\lwrite(file)\l}", shape="record"];
"66" [label="{Worker|files\lheader\lsrc_start\ltarget_filepath : dict\l|archive(fp, folder, deref)\ldecompress(fp, folder, fq, size, compressed_size, src_end)\lextract(fp, parallel, q)\lextract_single(fp, files, src_start, src_end, q)\lregister_filelike(id, fileish)\l}", shape="record"];
"67" [label="{ZstdCompressor|\l|compress(data)\lflush()\l}", shape="record"];
"69" [label="{ZstdDecompressor|\l|decompress(data)\l}", shape="record"];
"0" -> "37" [arrowhead="empty", arrowtail="none"];
"1" -> "38" [arrowhead="empty", arrowtail="none"];
"2" -> "16" [arrowhead="empty", arrowtail="none"];
"22" -> "37" [arrowhead="empty", arrowtail="none"];
"23" -> "38" [arrowhead="empty", arrowtail="none"];
"27" -> "37" [arrowhead="empty", arrowtail="none"];
"28" -> "38" [arrowhead="empty", arrowtail="none"];
"30" -> "16" [arrowhead="empty", arrowtail="none"];
"35" -> "57" [arrowhead="empty", arrowtail="none"];
"37" -> "20" [arrowhead="empty", arrowtail="none"];
"38" -> "26" [arrowhead="empty", arrowtail="none"];
"67" -> "37" [arrowhead="empty", arrowtail="none"];
"69" -> "38" [arrowhead="empty", arrowtail="none"];
"5" -> "55" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="files", style="solid"];
"5" -> "55" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="files", style="solid"];
"13" -> "0" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="buf", style="solid"];
"13" -> "1" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="buf", style="solid"];
"20" -> "53" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="cchain", style="solid"];
"26" -> "54" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="cchain", style="solid"];
"32" -> "34" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="files_info", style="solid"];
"32" -> "34" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="files_info", style="solid"];
"33" -> "64" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="folders", style="solid"];
"34" -> "55" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="header", style="solid"];
"34" -> "55" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="header", style="solid"];
"45" -> "35" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="packinfo", style="solid"];
"45" -> "57" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="packinfo", style="solid"];
"45" -> "57" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="packinfo", style="solid"];
"53" -> "33" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="compressor", style="solid"];
"54" -> "33" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="decompressor", style="solid"];
"56" -> "55" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="sig_header", style="solid"];
"56" -> "55" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="sig_header", style="solid"];
"57" -> "34" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="additional_streams", style="solid"];
"57" -> "34" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="main_streams", style="solid"];
"57" -> "34" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="main_streams", style="solid"];
"58" -> "57" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="substreamsinfo", style="solid"];
"58" -> "57" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="substreamsinfo", style="solid"];
"64" -> "35" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="unpackinfo", style="solid"];
"64" -> "57" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="unpackinfo", style="solid"];
"64" -> "57" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="unpackinfo", style="solid"];
"66" -> "55" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="worker", style="solid"];
}
