<commit_before>module Krypt
  class KryptError < StandardError; end

  module Asn1
    class Asn1Error < KryptError; end
    class ParseError < Asn1Error; end
    class SerializeError < Asn1Error; end

    END_OF_CONTENTS = 0
    BOOLEAN = 1
    ...
    BMP_STRING = 30

    UNIVERSAL_TAG_NAME = ["END_OF_CONTENTS", "BOOLEAN", ... ]

    def self.decode(str_or_file_or_readable)
    end

    class Asn1Data
      attr_accessor :tag, :tag_class, :value
      attr_reader :infinite_length

      def initialize(value, tag, tag_class); end
      def to_der; end
      def encode_to(io); end #=> self
    end

    class Primitive < Asn1Data
    end

    class Constructive < Asn1Data
      attr_writer :infinite_length # ?
      def each; end
    end

    class EndOfContents < Primitive; end
    class Boolean < Primitive; end
    class Integer < Primitive; end
    class Enumerated < Primitive; end
    class BitString < Primitive; end
    class OctetString < Primitive; end
    class Utf8String < Primitive; end
    class NumericString < Primitive; end
    class PrintableString < Primitive; end
    class T61String < Primitive; end
    class VideotexString < Primitive; end
    class Ia5String < Primitive; end
    class GraphicString < Primitive; end
    class Iso64String < Primitive; end
    class GeneralString < Primitive; end
    class UniversalString < Primitive; end
    class BmpString < Primitive; end
    class Null < Primitive; end
    class ObjectId < Primitive; end
    class UtcTime < Primitive; end
    class GeneralizedTime < Primitive; end

    class Sequence < Constructive; end
    class Set < Constructive; end

    class Parser
      def next(io); end #=> Header
    end
<commit_msg>Update MEMO to follow renaming<commit_after>module Krypt
  class KryptError < StandardError; end

  module ASN1
    class ASN1Error < KryptError; end
    class ParseError < ASN1Error; end
    class SerializeError < ASN1Error; end

    END_OF_CONTENTS = 0
    BOOLEAN = 1
    ...
    BMP_STRING = 30

    UNIVERSAL_TAG_NAME = ["END_OF_CONTENTS", "BOOLEAN", ... ]

    def self.decode(str_or_file_or_readable)
    end

    class ASN1Data
      attr_accessor :tag, :tag_class, :value
      attr_reader :infinite_length

      def initialize(value, tag, tag_class); end
      def to_der; end
      def encode_to(io); end #=> self
    end

    class Primitive < ASN1Data
    end

    class Constructive < ASN1Data
      attr_writer :infinite_length # ?
      def each; end
    end

    class EndOfContents < Primitive; end
    class Boolean < Primitive; end
    class Integer < Primitive; end
    class Enumerated < Primitive; end
    class BitString < Primitive; end
    class OctetString < Primitive; end
    class UTF8String < Primitive; end
    class NumericString < Primitive; end
    class PrintableString < Primitive; end
    class T61String < Primitive; end
    class VideotexString < Primitive; end
    class IA5String < Primitive; end
    class GraphicString < Primitive; end
    class ISO64String < Primitive; end
    class GeneralString < Primitive; end
    class UniversalString < Primitive; end
    class BMPString < Primitive; end
    class Null < Primitive; end
    class ObjectId < Primitive; end
    class UTCTime < Primitive; end
    class GeneralizedTime < Primitive; end

    class Sequence < Constructive; end
    class Set < Constructive; end

    class Parser
      def next(io); end #=> Header
    end

{'fraction_non_alphanumeric': 0.06302888824044353, 'fraction_numerical': 0.009921213889699446, 'mean_word_length': 2.882219705549264, 'pattern_counts': {'":': 0, '<': 61, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3361620', 'n_tokens_mistral': 1087, 'n_tokens_neox': 1043, 'n_words': 334}