Parse EMV Tag-Length-Value data structures.
TLV (Tag-Length-Value) is the binary data-encoding scheme that powers EMV chip card communication, ISO 7816 smart cards, and the vast majority of contactless payment protocols. Each data element is encoded as three back-to-back fields: a Tag identifying the semantic meaning of the data, a Length specifying how many bytes the value occupies, and the Value containing the actual bytes. This format is self-describing and extensible — a parser that does not recognize a tag can still skip it cleanly using the Length field. The EMV specifications (originally Europay, Mastercard, Visa; now maintained by EMVCo with American Express, Discover, JCB, UnionPay) define hundreds of tags spanning card authentication, transaction processing, terminal risk management, and issuer-to-card script commands. Tags fall into two classes: primitive tags carry raw data directly (e.g., tag 5A is the Application PAN), while constructed tags are containers whose value field is itself a sequence of nested TLV objects (e.g., tag 70 is the Application Proprietary Template that wraps several primitives). Tags can be one or two bytes; lengths can be one byte (≤127) or use BER encoding for longer values. Our parser handles all variants automatically and resolves tag names from the full EMV tag dictionary.