using System; using System.Collections; using System.Threading; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1 { // Token: 0x02001EA2 RID: 7842 [Token(Token = "0x2001EA2")] internal class LazyDerSet : DerSet { // Token: 0x0600C4C5 RID: 50373 RVA: 0x002C70E8 File Offset: 0x002C52E8 [Token(Token = "0x600C4C5")] [Address(RVA = "0x2F824D0", Offset = "0x2F814D0", VA = "0x182F824D0")] internal LazyDerSet(byte[] encoded) { this.encoded = encoded; } // Token: 0x0600C4C6 RID: 50374 RVA: 0x002C7104 File Offset: 0x002C5304 [Token(Token = "0x600C4C6")] [Address(RVA = "0x2F823D0", Offset = "0x2F813D0", VA = "0x182F823D0")] private void Parse() { int num = 0; byte[] array = this.encoded; if (array != 0) { Asn1Object asn1Object = new LazyAsn1InputStream(array).ReadObject(); if (asn1Object != 0) { base.AddObject(asn1Object); } this.encoded = num; } Monitor.Exit(this); if (num == 0) { return; } throw new NullReferenceException(); } // Token: 0x17001E57 RID: 7767 [Token(Token = "0x17001E57")] public override Asn1Encodable this[int index] { [Token(Token = "0x600C4C7")] [Address(RVA = "0x2F82560", Offset = "0x2F81560", VA = "0x182F82560", Slot = "11")] get { this.Parse(); return base[index]; } } // Token: 0x0600C4C8 RID: 50376 RVA: 0x002C7168 File Offset: 0x002C5368 [Token(Token = "0x600C4C8")] [Address(RVA = "0x2F823B0", Offset = "0x2F813B0", VA = "0x182F823B0", Slot = "10")] public override IEnumerator GetEnumerator() { this.Parse(); return base.GetEnumerator(); } // Token: 0x17001E58 RID: 7768 // (get) Token: 0x0600C4C9 RID: 50377 RVA: 0x002C7184 File Offset: 0x002C5384 [Token(Token = "0x17001E58")] public override int Count { [Token(Token = "0x600C4C9")] [Address(RVA = "0x2F82540", Offset = "0x2F81540", VA = "0x182F82540", Slot = "12")] get { this.Parse(); return base.Count; } } // Token: 0x0600C4CA RID: 50378 RVA: 0x002C71A0 File Offset: 0x002C53A0 [Token(Token = "0x600C4CA")] [Address(RVA = "0x2F822E0", Offset = "0x2F812E0", VA = "0x182F822E0", Slot = "6")] internal override void Encode(DerOutputStream derOut) { int num; do { num = 0; byte[] array = this.encoded; if (array != 0) { derOut.WriteEncoded(49, array); } base.Encode(derOut); Monitor.Exit(this); } while (num != 0); } // Token: 0x04007B8B RID: 31627 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4007B8B")] private byte[] encoded; } }