summaryrefslogtreecommitdiff
path: root/doc/libtasn1.ps
diff options
context:
space:
mode:
authorPawel Kowalski <p.kowalski2@partner.samsung.com>2019-08-28 14:31:23 +0200
committerPawel Kowalski <p.kowalski2@partner.samsung.com>2019-08-28 16:56:31 +0200
commitdee455252ad321c660b411b4ecd65aa5e08f8fc1 (patch)
treeb55f9ec039e963e42605e9e9bdc186354cf9df42 /doc/libtasn1.ps
parent5c7e0aaf17a296535495e3431db6a86ad64064b3 (diff)
parent26bea900a531662c6028ecc06f4adea825658434 (diff)
downloadlibtasn1-dee455252ad321c660b411b4ecd65aa5e08f8fc1.tar.gz
libtasn1-dee455252ad321c660b411b4ecd65aa5e08f8fc1.tar.bz2
libtasn1-dee455252ad321c660b411b4ecd65aa5e08f8fc1.zip
Change-Id: I6d4b47b2072db8e7c45daa6e269e2f0cc6f54a7f
Diffstat (limited to 'doc/libtasn1.ps')
-rw-r--r--doc/libtasn1.ps3905
1 files changed, 1961 insertions, 1944 deletions
diff --git a/doc/libtasn1.ps b/doc/libtasn1.ps
index 735c14c..b0c8398 100644
--- a/doc/libtasn1.ps
+++ b/doc/libtasn1.ps
@@ -1,18 +1,18 @@
%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.996 Copyright 2016 Radical Eye Software
+%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
%%Title: libtasn1.dvi
-%%CreationDate: Tue Jan 16 17:47:03 2018
+%%CreationDate: Fri Jul 19 19:09:57 2019
%%Pages: 36
%%PageOrder: Ascend
-%%BoundingBox: 0 0 596 842
+%%BoundingBox: 0 0 612 792
%%DocumentFonts: CMBX12 CMR10 CMTT12 CMSY10 CMMI12 CMMI10 CMTT10 CMSS10
%%+ CMSL10 CMSLTT10 CMB10 CMTT9 CMR9 CMMI9
-%%DocumentPaperSizes: a4
+%%DocumentPaperSizes: Letter
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -q -o libtasn1.ps libtasn1.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2018.01.16:1847
+%DVIPSSource: TeX output 2019.07.19:2109
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -1360,6 +1360,7 @@ dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
+dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
@@ -1564,223 +1565,227 @@ C3C67E71D8BE2B8D5784E8A6F19A9A8929DF9833440E160945274682F435DFAC
575048CC768BB8F13AA21C6B125E6073611BE138AE06D13E62E7EDE3D0239474
E040B3E446165FFE60E20B75D2A5F9EE021B22256621C290A8F3342F0347B8EC
CFA6AD68D47C05268EE3AC8683F4840D736EAB585C6284018DC94FC103B4A882
-ADAEFB625EA966F3877B3FFEA518B809A4BD1976F150D90CA8D3F4CD9BDE66D3
-C4EDAAD03F38F51BCDE46EDE3886162BD9BB261372533ABD34FED03C561B0130
-BBF8365B2289D193B45CA39A7A738A7D573E2345E7C90BBECA11CEDAEE221757
-21D744792446A018BF566063ED4B286F03DC5B7F675B6095FCB023CF330B9941
-F4CA0142BE88BB675436D0811B54A389DAF3C6742FE17ED4B6760401356C5F45
-2BA5CDE430A38B9DBBA11B96B48FD6B91492F12108A2BD5DCFEC68DCAC37B01F
-34829D2B458E78C57342FA33F4B6C22F4B14CDF101BC10E7705E095C1D41FF88
-847F3CA10F0CE5B61C99AA12085390CDB04303DAE42C682E8D51D67BFC9EBDDE
-E875AFE2C97AA54CB9CF4CDFA10D20C35A742BD05BF2610E3AB68D03444E830B
-140637754252B2735488BD1E0ED5C20050984E08E6072690862EEA0EECC2F630
-D6CA6E30A1C8C7E69C4DAEC4C75BC4FC4FCC6FEF365C73A4B3810591CC6D443D
-E7642EA8B6141FAE0D255B164DD0487C92E379BBF2C611A0CE138D81512A748A
-2F8839DA6FCE17A54327BE9D62897840729E1D46929C96685080240A13FF3217
-C9641EC494FC47B30938935CDA0B2C44BD08847F22D693485AA6A0F05AA5B483
-70BAA7AA0C3A14A5B5343666327A003001D221D9DA18EA194DC23E1301D171B6
-7C5EC1EB8370AB77BB0356CE8F299013E1C7F5BD9C6F2CB4E6145581F78591FC
-D029F91A54F29EB0FE77BFB5C8FE378E166955B2DCE364A71C3AD33DE1E745AD
-417E727BE5D2B02EA3932545F95EA4399C4CDCCFB49709B491FD6A1EA2733568
-4FBB320505889D4C5F32D4B4F10C28D0A661471869ADE7B824DCB6753D03C393
-E76B6DE5DAD6D5834739E426F3A0C660D784E5CD386E6A5441FF6B41F9448A7D
-56B14E40F0174365321667F84977BC33B2050D532A40397BDA697361BDC535F0
-53ED23C5EFBE4F7C6794304A0FF6B67A7C8E8001D47D7733A13FC672D9AEE1B7
-FEB0DBC7355F635C86461F1AB2F7E0B9C80F61E830599F2CAE67E85468336481
-E9E6433EC7EFFC359B70B98035F5D2CCCA4743B9EF41F19EBF3B550418D0D913
-C48E9D62580733D4E210AFEAA5B764A521F387CDE8411E3EA996347642BCC3B8
-05A60E6056EF0FF34F028ECAC78C19826F1EED90B01A47DCFDD769D78458647E
-505492642104B550D057D73C986E2CBE896B52CBD67FC056D968AECB5869C712
-4D52E0A774F3681832AEE1EEACE1DAE31B779ABE6E760072522C4EAEC7D5538D
-701B0C048713FC390B5E7D9729A5078AB46EE62B1B76857F65A3959DCBE8A409
-D8297851791989780C35328D8CF730881326E2C796A9A3161CEF031A068C42DD
-7E58F4B3B788CFD4F05195B4D58CB5FDBF7E06C44280723F27C20BCD234D5E85
-3B3AF6D9A49324CCD96C1B82B4DF94E182EC62C9822AD4EE33BAF810482F3EC1
-FEC1B87CE6039C60EDB6A8D189D1715A7CF542CEE4197488CDC0433518271D4C
-53EB8238C67DD01F7DD2DF798054EA8CD5922CB9A8E3D5522F71400DBCFAC866
-A8B37C0ACAEE6E8F18241BEE610415B7D7CD0F02302404862137AE9C9F9155ED
-DA5454C584E89277F40048DB5662A9A5C6106D16A51D3A5FFB7EA197DAD29ECB
-219353620641D310BF811DCF8701967FC99B937BA3D369D0A18A98EDBB2B1EAB
-C0534B458266976D1D872DF0E2EA702AE79A273054C28425B245154BEEFF874F
-5929DC8179D2DEF24B84CD7F8FA385B17ECD04E71DFFB618611C967040EBBF31
-867A1AF98AA82ACB6FA1E65115D06A5D10701D8077C7F93343D5CB255A565738
-A3AC97905293D0B83DF381AC9C3E9FEABDB49504BA5D04043A4473665488BABC
-F9FCB4A97167DC394327F0CA3510F8439843B6812ACAE6774C523EBE7434AA5B
-0134719857865320EB40001E310370BBB0AC48E4950B2C817A48E2EC92D04524
-EAEA30188E333AB95902DEF3088B9CEA52D14078A3FB8ED012F36118F8BA671B
-6215E1CB5A619A4EF1B390CE97E99FD0453A4493EB45C3793BE85CE13AE0C199
-C388BAD3D4ACADE0086056F62708B4E3CAB3864F3E0333E615894916B7334E43
-4DDE99CB3C92155F1A07464C5D3592E89CBD25D67CEEF0C29CF2501D0F9BD6D6
-9644EBFE95F2550A15A4E8CB6AE38F6CA4B006FCB5EAC6FB4A789EB88F891A87
-1747B5A5700CA2D8E531BC372A101783207E7FA42A019992A5AE22BF55B8538D
-538ABD912CEC58C5A9C5F78687A3A777391FBC5CB37B47CB70B7F965264E78E7
-57F9C81CBAD6693CB97300FBAEA8BA041E5E9ED3CEC9FC796F71F50823F2D2B4
-7CEDD0C6562D1B0F63AC218689002D09276EFA203860CE660E5B36A02ADCE68F
-5643412C907A028843F6FE8D05B734CC8F525C9D4F2D007E12F49256AD5A6C26
-414C48438AF65FD0A116091AA59679EF655804DE72D4A032C88E70E965289014
-4AF3B45395F2762F9ADE1CBB3570E9689694F3D77E1DCB65BE20460D077CF2A0
-344D1C07DAF4616BD52353032F50D5C640805D78448DF7E49ABBD2B2025ECBB8
-57536EB7EDE67E8647434B74C4D232E9628D2175D49DDEFA99236310B466268C
-E318689AF662B44D804E96D1CE5265678629E079D749554EEBD69278A4EE8795
-ABE7495DCEA3E85E3C97C91887EFE33C90D83C267379A67F7C86D812C63B56F3
-D605D45C36A0825B1CB352FF1D016744ACCA4D55A5A58D8651D023499D14F911
-6CD4C962EE7CD9110067F99C5CA5697E539FB78027C7FCD05060A22E220BCF85
-F4E3DD7F176B4615F53025F126E9BCF5647954FEEAA6382BA7D715867638EEFF
-A393E427329612E791A950FC84CA9EBF084D4A67A24CFD7536591229E67E4410
-1FE5D2E74468416E9720ACBD535E13641F39B38376C676B01629C6C39CA1158B
-0021A3C98C921B0C5BE8EAEFB0F489FA59834981F3D70E70E2C5CC9DD905BA8E
-03A6AE3DA98F9438064838B0FABCBD83071C7D49E37DE9D6C5289AB2825A62B0
-2A761A7E1BDD75D64EA0C2800699EBBEBFC97CB7212DD3DFF3284A966415E0A6
-668C25020BBAB3D885303AA85239B69C9C083D9D6251F35A20F63AB04ED2D7E1
-AE49EFD44BD620CD0B95929C815D8D17F909E2102027910DD813F5E4F20D0FF1
-D4E4541547AC5A6143439EAC27E0F1A11A430373FFA4401F7844FCBCC0D4D0E6
-C5E52E03157831BD6CBA03C00D2BB80C6CD64D69E885AE62D4ED452D2F4A864F
-0BF0CBD86C2780AAC052423F590DE3DE4D6E39EE05A15199DFC75F1FC1EA1D1E
-04514C061C4FB7FC872E099B526FF927F6AD8BDAB25CDDACF03E15E475979B53
-1AA25A8C9F77DC958A95A5F9A3B2D4B1CD759E0257510F850F148351846AB8E3
-34AA5CCA4CDDD6520C36789CBB281BA7DA20F5976A4E731681E47765896F4108
-2859376056F823A6E40587935455C22B1AB003F4C8053D57B521F1520009744F
-091644AD51BC329FD432CEFA48C7CAE415BBD7362DAFB92D997836EFBF9DC5D8
-3AB26A0DEC90F175F0222334BB7B4E97A84AE6A01E6CF113262443AF464B24AB
-1174DD4AA1760800CEF690AE6888E7A1E82D69DCD65CFD57CEEC83A52E28F299
-1FDD8D6BACD3F9F38F92F3E98D086437F44F55B49483C9F49A776191E7F26D7D
-9FF8642E1D69C6E97640A64BC981760CD1E423269EC8DE0166FC053D1DDE7AB0
-163DBF3EDBB6F91FF217BF62CF640E673056D030303550B3BA9B9EFE3886E79C
-015F68BEA5EEA461083D72F57DE6D38BB0F91829FE9B550B0A0E8BD802591A92
-494F50C8A2E29B2D13B7F930444C5CBAE371E3A32F56CE10DF8582B697E6E7D3
-80ACDB11EC9E080B0826D6CD8E378F5A98BD4CFFF1CA77CE5825EECE282A4C9D
-60458E57C15617D16CAE6114A65FD03CD57411C143EC678290410AFB7092B483
-C9A4F08AFDF5AC048ED7C0B5F04A86DFA1760C01E1A7B5629E9DB276BF04283C
-CBE698E90E635DCF162A543EA956500D2B499B17D1581B729DEEA5C5E141C164
-E290CF3A782497CA309959CD6E79E7E0F0989EF12631C7EFB79DDC27878BA445
-828C7EF4F4647683BAA41003E67515C4FD367D6DDFF53D987D82C123CCF4E1D6
-F6C0BD859F271BCCA27373CEAAA0DFB041B5A76C333B24F69CB46EAC0C58B3DE
-F7B9F95B2A6219BFD48AFDC471789AB6563D582B1DC2B55E657ED1F2DC33C718
-ACCB45AD417E725FCCA5E848AA997A5E2ADCD2FE85EF65B51BBA20A80D9CAF2E
-CDE7A216380C44B617C3965E82784856348A9FC8F8078DC34BD883A048C3DE73
-584E75F2F924990802906A334C45D82264E3806C1618F8645D15513E014AECBA
-CB8D02A925393174E3A0744D635A630DD984B7DAE5ED8D7B48A71C8580995E24
-E743E83AC57E445DB3B914A0C7743BD608CAED5F31AFA9ABFAC4EAC3B5F7C266
-13A496E1A546227BFB3A19ACE042D13954446409E09F4631C6EC967CA2B59E69
-185301A999A28106145843A60B963FD7CB0EA0AFF4D2F850B55C88A41B9AC5A5
-4A1D67A0622146A75224331421E38ED23A3FC11351B0FA8B2512D1A93C7B909D
-A1993FFC80B3F114A1468207592BFC34F49A15D77572EB129AB1393F557092ED
-59BD1E645940FCEFB4B3E39771E4983EAA2CFA33573B7FBA761067E54E6CAB15
-678536A2FE638A0A4C508A71001BAED69F3D4C2700C9ADDDB666B1754957A8B9
-E98DF835AED0544CF272ABA25FCAE349E0A24449E36A2719F2301426FB61069D
-3F8D24DBE1A3CF15EFBE64012D5A05FE5E81A7EB841909FB8C94C8CCA1357708
-C5E8BB923F791D721920C067A0A8065691CF400414C9E90D7AA794F2C7E845FC
-08FF4F8133F9C82BCFA699368ECBF6AC497EAB207E6F60419D91E5A0D7141E1C
-AF70DF40D7723923D15F4A33742D1C0439FAE7ABF110CDB6256FFADBF296F4B2
-651182F3FDDABDF8E6CE2EE98FEDECF192A750FCCE8D91A3D7C47B6FC3DDD73B
-925386537D7A9671B9887AF57AEA9A19610AF44C14EDC4CB00505A6D51492117
-BA96923DBB4F1C078764E81780E384FCE44944D68E843C0324A93511E394F3A0
-27DEB767145F4B28B353D6559D1731E07781F21B794C346779D59AC2A269FB10
-706ADBE2DFCF7FCA0D285906DB46B0CE4F54CC0C5C9BD85A1C1E1207AB6E0E2A
-C13B4C5D3B04D50C4686051BFB8C7C583104C5C06C98ED9793D2F90CD74F3B1F
-B4844E92D260D197D6F82C9161B78B509F86D0706DDB488119034CF8CE3F8AAC
-24A0D3145ACA773AFEE463E1ED290ACD704501400832572ADA4BC8CF3B45EE50
-5D6B0BEFE762E3E46681E856F031B50206F0EEC6FC48263FEBAC451E4CD5A577
-D0E85CFCC49645790DD11C5A939D589AE552BA5D1933ECB14BD54CBC6D8F036D
-76949367532CC57FF4DE38AAEC7F324691D5BD96C1A76D976EE267F4B6414CF6
-3F5F299C162BB63B5E64D284A97878ED05B770AE864607C538E0CEDD6541CF01
-5C22B9F702C119CDADE25AD23C31E78F46D215A6D65F37652C4D74C636CBA212
-8D4C6FA5667BE5D25F59F58C4D35319896060116ADD5B27F94205AEF4DDEB648
-C3DB1A06BCA363FA4538137B051D4BBC94B34BD94D9C8E728A99A067933649E9
-F57F1A08498E24783960D546B4F53AFBDD15F401C78A8982DC42DD2FCDAC4E47
-5DADE22DFE7E013275A619AA38B3889F8D81493BBBE04FF6E4815A7B51D6C162
-58B953BECD461972DA9952AA2F44D16465F0743C602CA583F436305FFFDB6F7E
-AA4398524C2D804BA3B3DD14850CAD0FD15E2793E3903D9809802F9FF33947DC
-56D1E63A6DDF36FA836D2A70DA1914954CFEC82E645FF3B17A6C18E9D1DAF11E
-EFD529C47B5FB67EB6925BEFDCB2965CD8D43375915B2141319293CF55912FC7
-9B7D7372DCFC480C344C0755B802DD31E82F7808DC99ADD39A6F37FE8417AFDE
-F6324B415C36FF87DF66543E5E411CB83985EC6972F350236B7DCE0E24B0E59E
-8F365F01803F62EA64DF9BF8A20755E1447BAF2FE8BE7662DEDF67BF37CFD088
-1BE20797FF44B62DC3A4AFA09FD64937C95E7085489099F185F66E3CEF6F6C8D
-A1362FA13C853D172096C0FA44F257F6270D22EFA230C261791EA6062D3BAACE
-F5A1EA0DB44BCDB834D28D02AC851440D145C1885A5B1E5DBF1F8EBD076550BE
-064452220616FDC46A7B92250F07C3D0440B8ACDB87E92DE5C567AF0CAD733EF
-66C90876469C5FBCE277EA1C85E76E00BAC14B824BF743D90AB86288A3D740D9
-6E402AAF6D223C11D7F4D03C47E39FC45F5CAA282EA30C0351D580A8734346EE
-735D909A2F6D23F1E1F55C2163AFDB42E528A1FB6D22FD3ACCC12CB771FE1E7C
-F5C946D682443A26BD0396FD44DC9484C75469B7CD0207EAFCFD6BBDD0A8989A
-A9B8FAFD59F3FC57F1C35ECF26EEA7B09A6505EA01CD8ADF8FE0664BE19D1E05
-56135EC7C89F64B7426E0DDE5CD424A834E576781A6179F63B7ABF41FA9A1EBB
-45C8D93D4C172353952D961C9D3BF0FC42F7EB4D4AC32750B0BC9596A4D9F610
-428239422891286815D66116A02DB58531B25CEDE819F7B5F044A9207C264DC1
-FD02DEB67B622DD3655D2FECD7C106F0104FA05C22D5221DAA6E134D3149608F
-03FC97DF783DEEB8F0757E2116B36BAB0384D18184177D97D947983550285B17
-1DAA6BE705219CB6ED34D02CFEB76D708014181B299F69F8B4CA7D0FCBDB43DE
-8AA73403A531D81A9290AE447184735B7C2FA4F81E59C07FC8454D690EFD9F36
-0D7DB4F0FD87DDA518387F342F9CCBA1B36985D8A2EF780793B79D4521AB828B
-5F0006E8A4F41976945501F3BCD6D8064311E6471E856D89903810B298D82560
-A04B927F04D6B8E062893466A2B98EAD6FAEA3866F0C43ACEA9695FC602F712C
-1A563759D399F56A38DFDF00A69BEBF7B52ECE48E1F40001C6A94825BA48A318
-399A5C879C7C70C913DFC8F0D26070AD1FADA158039ED6140B04D4ADEB2B3605
-B5EA9F670E2DD40180886053399EBF39FBED864034C95E378789FEFA0055BFB2
-148FEC39E0B80C4793BEE6D5109FDE9B405E5C32D8480A854838E22A7723AF08
-786FBE9A4D20207BF7A2B6AC3A8B38FBAC4EFFF1E961C0BF3750B99929A891E6
-7E3F4734230D98212410DDA8665ED6EC2CB22A4210AF6E7E0511214B6B714708
-644ABFC6D303CDEA42375BB856547B0CBDF73FD732B5FE2402C3BE286E391BDD
-70594242F300906C09747A66EAC5AC8D86E3F6D9123E5DEF6520C2104DAFBF29
-3575D497CC5C01DB31D97D5CD3A07C7A5D3C0ED470CF49BD885D7E2B5D336602
-09BB1BF76513175E98977D5AB84A0534FF60C8BA59ACF3E82011603B0ED4B691
-8435CAE6D4D937B84C14E8D58F5D0DFA6193491BA4DA4BE76D8FE65F3538D019
-A615B9624780817B43BC9980C5DACE3B92927622459284E0F337C53694E745CA
-9578F28788330B93D257C911558D443764E07C81B910B7752F53A2FB665DEBF3
-454D88067569006D1D55BC6C31A7E02632FC1AD74FA56CB95B0C7679CE4E917F
-4C364FC8FA6DFF3ABFBAA8193B559760C0ECA8FEB1EF4B1A7B09A412E9825215
-A5ED693F182EF3C51337A272CB2328875C437ECD0D387C93E25E69B82144804A
-AAF142E2C3054F59459D51F0AA663C50D317553B901712880C4B3FFD95F32C14
-424AE2A1CD3913497702E2BE6049CB6334A44CE727DEC48F259F8C5A514FD25F
-62EEDFD4CF170DD2CA4CAAF4B22C9FE090B4D52C96578B30646361D5EB942CB4
-B8A8251F02A22518E94ED659C193DCF48423DBFE0F909D10A84CB8AFF593D3F0
-E6EE31800E36249E0B7992E620CFBDA4B37B3A8C9EED8F13D9FCF96D517E6F79
-95C02E77A9615730264264B9524C7F5F63DC1827D7C6EED9F602D0D94B78BC6A
-1952BC2038E3D48FDCAB72DF8CE7B034AD9557AE9A3FDFE9D904D97DA83CBFD5
-4C90B52624876E17AF64D0E24FFCDD2BCCB66D98DEA7680537C79417A4F18BCD
-DD98CB487B447A317EE2F00E28716282A514B19EFA35CABAE5314ED349A50BDA
-82A0FF68C318D5212DA2FD9D3E7E440F2E592BF08F0DB0C901F9C3F8868CF2CC
-F50832676814B2A6832C1BFE1AF637A3AA129E160FD29898244A2D0145AC8332
-7269BC07364E7367CEBDCDF7DAC0E3745BB58EDBAF00618A7619F31E5A942286
-CBC91C0B565B57F9BB8C8BEB3FF3FD10E4063B85E8874C1DFA13031310FC2826
-3E67D0EC92DDF46F23F0AA4851DC75F92CED85821B3AFDB02D416B7D463947A6
-CA8F9409621B95631862A86002FFAD9FD0098A20961AD38B234DB08E5DF61D51
-6F85988ED8B0ADCCABE7F1ECDFAAB1DD9BD40629B1E65BD089396FDFE0A17C40
-99951F668BD116E812A245936D70E294285F89170447520CB556944F8DCBE076
-C4FC87625AE3D679A0ACE7DBC73FE4A28A22937E48C950802CC71D47DC551A9A
-3B8227D72952C46FF592DAF1746D996CF17996C146CED52610176221E9CF510F
-EAAA612D1265E4E1E4AE2FFE7094A99C139A44E7255D3A6105A21435ADA34ACE
-E82F071DE99F3A6289C0C04362EFE40997E9E15CDAA5DAAA4C16411F26C01C66
-A2A6EDEB969E9440CF7A8980103DB8D94538D149FDAE75FCDEFF3F90424DF294
-0EAFF17284A5DAA1D23F4BD74B0F5B50B78E1D8697C1A3CB203B59F50837E0CA
-D8ED77940E586EC519D0AA059F4A497D49635DB8D96DED66BF8F3CFBF7C12C13
-4693C3CC69C420B19810551ACC78E060C001610E0EACFA822BC9716D3671A62D
-2AF9B525B9043C67081A9C2B8D3B703AE5C407EA1C89610E4EC92A953711D45B
-C7801F58A316500BBE4794193AA9B21AE017416D1CCC2E4C6315EA0E6E1E825B
-972DA5B331175BDE7111FBA4F41C13CB40427A97D8B9A5F1702E9A9EB0BBFC9F
-0E00B4759F346D38E8A47F2F0C63C7D284EC8DB8FFC18AF0120F081126347A60
-2883E5EE4BC0858AE21F48CC271C90B37B191CC377126A41EA064D81C6200B7D
-340924B6F50564EA4D2A92327AFCB1D5B07D6B801125E41732D4F373CDA0B495
-98106652E949972B86BD3882AF0993C5A0B9368C20DC3CE87C00B53267188A7C
-2FE7EC5E443654DF30463A83069D90E7BBF0C787B8EA11C7D7CEB456B28B1ADC
-605A8956DF1B63938C2946B06629FD12BA5AD9D627ABC73DD7C18D919AE05198
-CB7274D81862195556F92EC63E1DE68C09D2C2A6AC9E049FE7A28410201A4D93
-D569C862EAC182B1FFC5715B68E40D666F59B8AED6526D0047AFE6891183925E
-3A2EA27C741B8C4FD031537A461737709443F63EA922D2DBB2C5519A72A78832
-619F190C31767FD4DA0521343C246C874F6B7F53F444A5155984062FD7FF2E4C
-FD12638DDF777F9AEC8EFA25643B2FF85180A73292F288A13EF1593D0245A90D
-A8E50B6870075310F9D0258F9626D577D64894561FAFAA31A7627B38F81BECD9
-B322EA2901D61545B7489D3AEA31BF314D236F7994517EFB8663F38D0DDBFD7A
-A992C19863C9B3F32D21AD970A8869592BB97508F7DE9544C360D87FA95FE33B
-796D41808589C67D6B0374AE0B7F55DDA11CB34F9C287119636A642AD3A40B2A
-7F6961CAA3FACA92D3815B68184595A93A903F73840DA1A3699A420CFFF61F8E
-E38B82E30C1E0F5F3E5518A9E87C2B4C0177AE246AB345A65388104584EF11E3
-88254BB0CCBFFD36A924EEF2D21C4030AD5F3CCEE563998ED48CFFFAA24DBBCD
-8C7F885585B3A8B3FB5B8A03D307D752D5174A5C450C4C64369A371BACA1C7BB
-4A7058108DBE6065DB0C64DFD4584C7362CF17F2442ADA0FA4D89E82E10E27CC
-133162A1DB6F2AF58AE0EF27904C89297E9BCADA2017140A52E267FBD44D5704
-E61C
+ADAEFB625EA966F3877B3FFEA518B809A4BD1977BF1902EB9F06FBAE30E8932A
+D1761807C92594B57F86E1E36BE9027B7D1E0C22A83A2140A91406D0289D3833
+C3361F8882CF720E445B144B633F199BD875EF97202DF88AB3EBA034E510A6A2
+D2F464F6D5AEDC833F8BB9BA74A6679F71D843D6BC4D40FCC68B411224212236
+3B94C160C14C57E0BF68104DF3C99880C25245EC98AE48F71BE243D4278C2B17
+1CAFBE0C365E96559B77E607BFFC6634D03B8E25BDEF3FD2E3D8B66473C7B425
+45A646CF3B68A56D1C64C5456A61E5ACDE212CDF6DCDF6D589049EF6C91C30AA
+8556424F309355355EA52E8F7342A91D122FAB2DFFDEAA78506228B49385C05B
+08793E912D338712173DD0DB44C7C3281FA3D8B14CBA99A3938B147564342923
+D53A2BF18D334DE5E31659A3434EAC96A8D7B363AAEF5CA4DAE67A27890C07AC
+F31A6BA7E4A3C2AF654C025F17FCEBEC864C0A9B7B68571CA56BFA4A249896FD
+96BB19B8F250672878B67BA411BBAFE3CBBD940F005DBF32F1D682F487A1D1B0
+854922FF69C8D6600E67142D651192A911ABE2602E5126FFDC351E1845A22D02
+AFC17BAF941906E5F7A3C35D2DAC2A2F1C958E637A0EB5401B195FF1E1908B3C
+EE13700E365119C68B8A0C3471D3E7911A6734A678F43E86FC55570385E5E107
+4CD618E7430A92C695F6ABA13A68FC71C573D62F6FEAE12D6C1EEE1F1C424C6B
+CFF56BDE7FC34F88A144A62CFCE0D377F8BA416827181FBC7FF8538FA19B1ADA
+1A12DAA904DE6087D90A750CF8B76F97E3AE0BE6F65145F7E99F566C8D18F817
+532DDE4EC38F5127D404053F3B6CB4694D9973209533D99DC44948178F9F976B
+697A04799D7FCEFB13B347143472353503A3DAC56A753E96F46E1AA1D736D7CC
+55E6E80EFF0FDBA4A7728E5B5BE6A98BDB93DF5E27253D9C646B595B0507DE97
+CEE5379120D39CA5F22E3952261C0205AFC2A7AFE07F0D8352072E6455A62FFD
+3FBAFB256E0B4288E8F6B724CCB0913026D7B19435183FEB0E7FDB7DA521A9DD
+EC933881FABA422199AF4F4FBE7BBF8F89F4733A31CF7814673A4BB142CBF3B1
+987E1BA9A6E3372A3ECC943A373940E4411F69F23477CDB2638C060A96023009
+555378908A27BBB6DA89D5D556A536E38DC41FC66F35EAEC9C948AFB2A826A6A
+5E8DE93976448E0DA8C81AC71B78F76FB1B265E446C05DDA5E049298BFE6A4B2
+DE4053742E11EC7FAEB122D6E3E30D91F075B38C7A4D0BBA4BD4EDB637BCAF9C
+D2A3E27AFD24071B4CB37722D8027E8604CB80E3EAAF45F7098F730B11016E29
+29E6E8460703BFC901B4314A825C3D1783A46F5947A46CAF30BF4A66C7EA7ACB
+A63A3FD2FFD9B7DD4D72EFBD5C0314885AC7EDEC9C04244B07CAFD993B9EF84A
+E12A23548EE99CF89A77C5990687BEE34FCEC3EA658448015BC90B0786E5402F
+9F432FF356324779145310A982E269789AE091E430A0F4C9F3EF03B93C2220E7
+CB0627B8C4193154081CE3A57E64F659ACE95511BF4FC4D4D4D78A503B68613B
+4E6DE03A7EAA69B0C6EF0C08A117D3F1416D077BE519E668A3D7826C924446CE
+08FB7DAE6E73301DCEB2312BC57401DB7CB38F2ED4567735C4792DF450C91F28
+35AD53A70F762499AD712984A65BC7561CB0B0E9FFDB1F961284DDF22C42DE23
+9A734C6EF90E453F1721890BA4056EE43FEF8743407CFDC3A4BCBD0D74CFC14B
+019585A4E0055F8A79C1ECA2EB40EC0639BEB7F11F82E006C772173319ED3765
+ED20E579EAFED984C0F83C694968E8BE5000C9F9BAF72F24462164578FBE03AF
+8779FDB09149BBB336335C58575B0476E8D97D06CFE4F8842348AAE075872F22
+6CE687C9C127C17720B7AB19B734670E7F241D493F71F7F670E3348E205E1243
+18D645C5B19C1F5359CCD9D3E9B5167BDC1FDA655AF47B45A7D15552583AA514
+FFC9A9E84D5D3EAAD53C17F42F650BD3E160635F8A4502F31A8781A72D893AE4
+7E65B5C524F5292E2D6DEC4DEB56BF52D612335401568F3B260DD73FE1E92219
+0F3FCDC127A654E3E258DF662815A673845C91131CBFEB5750A3BA225892FAB5
+2BC7341D758CFFFDD768983EF8CA9082CE935FACA20ADE200C148E4C97A81E45
+BC7C49D180E7640AB9CDEE1D03851AAA9A5DCF5EE98BA5AE501AEB4DD6C188E7
+8917B66C41523220E0722168D50264F000046A23102A0302F68E3A17BB370456
+FECA547897AC46F4E91D7A82401AB537041F144284F8A7AF17B723669E9AC554
+9A0F0874E4C471E01F2D53930493C52FD6C61175A67A4E16EC362B6CC4B242A0
+8AA814B7ECB7FF829F121E9016CD0F9E4DF347D00AA7A30C148BBD5D857E8685
+00B284B3CA2F0DF0E7C5871A1F2107A2AD69517B3DD43591058DD5C628E27073
+BE2A18DF6E768E8E25003F6A06FC0173673209F1DB7794C144466AE8B5E1271D
+37E874DCA477D70AAA8100F75425DB765BF94EA131CFE379632CFC31D907DBB7
+9F1C967FF459F490EDA15522E7C6E0399E7B76642DD67B2310987936074617F4
+4750B22CC1BD7AAB80B2C764118F317852B90580C369324CCD3AEC4B62D43004
+1B51981E02DD34A98B01A8508B189DE0C4E83813721D3B34417F63D4A25F640E
+D09CAF6958C35F1E1F17F2C846A623002A91B9FC2689D944F1BC4F265F71E3DA
+8CE72ADC538ED824DFE439634392FAE73FD525F563158CFC77E0E4F73C6E2297
+D9D1559BCD92805B4C92EEC03B61F313725A14BDB45D923733EE78E33EF3F43F
+36DF9D01307833C59F0F385921086E0888A660BA2F78AD31252AF074602AA100
+E149F7EA08A1F6BDC3895AE0090CC1C43545DD9C639FB9B39D52F3AE78BBDFC2
+A25C3AE98BEA9DCA8A4ABE31096CE36CEBE9BE231D7567115FD2FCA246ED3916
+A041B7B38140B3A85C1AAD83A5E7D540F3F5EA71B7D5A60E6B278C981962297A
+CE19E330B29652E763300876007240244775D1E3D78A3CA90A2516F68BD02677
+54899B8CDA19653E67C5B7CD73E173E4234F116E85B9FE48C50544A644523FC4
+E7472344E92271838CA7C85A11B028AE10A02771D3ABDEB514123D947859EB2C
+AC95A65233B92E29C00FED999E4ABE5470C7F5661A371B7E1D65C57E7951CA42
+89B2D52283208ECB114D13C0049ED6D128750D55D3230DB53DBB5D26DB7D2A6A
+1F70AF774E25ACB2037FE312A5EEDC40694A38BAAE1821CE515197F8D950857B
+7AB5552C30B3114899951A421299894A07249015D943D128043D14AF40837B48
+14650157A807E412AF4E9009C281AA161FA8EDA7A1B59B6DC8C92056941127DB
+8697F91BEA0847DD52FE27EF171DE0B4C6A03AD86C61C8A7D60ABF434FA8C7E1
+BFF12B8B21765D09795176CBCB70BADA370A6D5A6C55DA23C09A23663AD3D4B1
+3BC46E8DD66F74B8A9AC681A443F0341CBBB9920264EA6A1591A69882A46EE26
+0557E482A086AC5AB23B027D10E4B939A109DC2DC98B6A5F9E4CC9EC8D98FD54
+FA9540F5905F03093983FF900088332721E33B06CE903E133CB8FAE79C72284E
+05005AD63DF217244278AA0CF5E02E0686857D8DE1F74EFC620F0E2A0CDCEF00
+11D89F33A7CE21672FC42089A81A427AE0806C6E5E5C954D1B5DD54E00FA4CF3
+B628A88CDEA0D61147962F5812837FFE6E7EB6043001B7DD871F4A5FE994CAB2
+3F5088B577B1A80546DCED65F01893D51D2F5BEB330E1A1F7537D07B3E1124A9
+6E8F443034498841EB49E467791ECA165990D265D6B7DCAF0518A659DF3EE073
+01EE946984292152FBF2FD33363E2EC01BD6D0C64FEDF18AF375695080B9A152
+29609B360C1E08E04D685E9FA0238FEFCB44A533B46E69F293CEDB3497A252B1
+B94952182838E0BC28D7BDD56D5285179C325E91B3483F678A6037B67229E55C
+C6DB7175994B3B968FBAE1AAD369A61DB153FBD4E85F656E5BA6F47FC3EB9ABD
+E877461DA4327359FAEF13F31648A9E2611BA9F8F92C046DB0C790C9BF7190C8
+6664A22A8DCADC378C434E63807051EA2CD0C8A068052DA3532B74BEB7523FCC
+3E46B53C228AD100C962BC17C1A6120B22BC9BA7FABCC73C8D853CEAEE0CE4BE
+61361522BFB29DAD47D8C63161DD149DB3B4A56F69CE6F06E0B8A0F5C130795C
+CC75DE509A39AB65E6E948C57ECAFEFF85E48A33A344BCAC6D2B3A9E147CF412
+44B42D1E1999749013B86A54ADE9F21BB47ED0B9B0FBE6E04862CDF0A6EC36C8
+E278993B652E248FA402C96821FE3B4AA0A36E48897A176E3D7BFB8CAE2FB727
+67F1C9F310EA97B784EE5314972D59E0FB1DFCF1CD627228CBBBB78EA9295DED
+3AAA3E0237DE3F86A76AD6814D05355B0296FA57F55855AB17CA33082FC055FF
+FD15B98195A545958A1F7695ECE82216010A3B9B9E9F7CC95DB7649D011749B3
+6B21242D5C58C7F627DA1DE432DE5DCB6701AD43BE64ED5E129D654ABE811E2E
+A8148D1C87135BCFEB584C62839A13D1C3B9E3AD1B07E8F39852E90DAF725A61
+575F6D0D884A6A362BBDA1C04CBF86CC9B38F248011F18BDF2AD86F59FB9A748
+752D1AD5D0BB7868ED11C7C5A97895502D9955AEEE1273BC97B3585BC8E0F64F
+89A91959FE49CFB9E5090AAD27F3C9D9BD15E4CA2DF2F237897CA6945BCB862C
+E353B8BE6F2B1D4E1BCF7226494A2F1FB86008FFC8F5F461176B53A7BA4E03C8
+4FA72ECCF1F8919AFD9A7A886AEA9005B14A928D52997A7FA77730B4D1E7D366
+50E80C99E8F04D78099D320F7CC45791FE45F069B794A37F2C4C8E24002D7487
+494C7A1122751CF6ED23C2F991B65861D809E0EBDB71E36408FE840959AEF3E3
+427B1C3FB3F213BCF32528BC101C0BAE5FD1B874189FC51B86E821426F37CD4F
+98726B1553178576E8CB2CB6ED773EDD4FF7821A3AA19B5F170E7E0064E2D2ED
+F6237CBE00C3B7851102D8287D23926F21977FF11935EE0C1AEACF76159FC031
+1D522D600DEAF60A76C49FAC7EA9FBB25CEAB8EC0E06B55F5502DA23DE3E429E
+EE8677FAFA080E9644BF2401599E876B7D6B534A228DD92C137DDA792F24221E
+C16A7C5CCD2AB7B9F01C77FC23EB879D0F6023BBF59822DB6AEFFA993CB02BD2
+52214DABC729DA7939DDB909EED4B834E328459CA45AF906012BF058AF847AE0
+18EDF77AA15D12BB3F01449C225613EB5D11D93882F7F05E627E42F2B799BE7D
+9249C8F9226E929AE04ED6A51A66D789319721162E127379EE9514AB7A8308E8
+B3EEBA20F0C558EA68068BA71C9CEA158F49C295D5CCB312A6952B49F93BF4BA
+0643969797744812290640085654BDAE5E5CE8A78B252ABD6E2E8ADE87DF953A
+0EDF7411E58383B6A269D928DD4D3ABB621BB4FEECDD9E84B29452859B60222F
+170639491FC6F77F39A256341FD992156CBC45213AEFB43316F2C3E446D7806D
+6F56245B738E0F7CD2E1BDF80ACB163D425D05583AE7E7373D687F079F4A28DA
+8B6EDBAF5C3C741C2BBB3D33FA4FFD71AE242E52F68B6496AFC50097EF031824
+E7E43BBB6020F93BFD437F06CECF02194A8CB87B2652E97063FECC204E4F0398
+23743A81A2EA02BD016791E99403E67EADA4ECA4490279652933F42857351217
+62118964338C51F534C68B9B9BE719C166AD3AD9ED522514A99C97E8014D5852
+380A81B5890E0A277102130BE0969E6DBC015F676BC0B3B0DE30D07901B10BF9
+45B89F18EE13A0D617FE3ECA8E6EA04652AF6CDC7F009A52B531EA70522CC31E
+A0E91B6E9D60EEC4DD7F92B9083C7B019CE01AC885F6B5857AFD4123B1B87E58
+F0A889C898732E0D079184450F12BBCADBB249FB593D81738B8F69DBB5016F60
+3048F5C1D5CA2266259DD2CE37CDE4A7E1633C4D3577E390521F8A8D8BB7F6FA
+6063AB1089F18C8E30F87727C4CF78D5C54B0464E17E55C4347AB0EFB810C049
+C2307E4F520110A137DEC343CABC1F642EDDDF233B96AB7F8416676BB32D2479
+65C48F746E7019C839414CEE81A03DC435F10717A85286BBCFEACF24C9A671BD
+4820BCBBC896A30DA3450C4F4947CE3A07E717BC789DC4EEF25CE4AD2BEC0411
+FE152A289C1D26C9508D206386B65AA1B2AAC060163819C8496F3609E291FA71
+B29E5A529994FE4956C4EC6FA95AFFDADC2DE58ECF6C6E160D3306B8FD42E398
+4F9C0900EF120203684823BF309F03E23195F2848F51E321DFFD9BC24B6E3BB2
+474C7CA890DE8C0EFDD1085D37FC800173ECC63FAFEAD51B681F964EFDB5C0B2
+7DD7E8EF6F333497B3FEB72FE035324FBBB06E7488441083CBD10F2E6024BD4C
+72A0AED77847FBBADCA8B2880D3CC8E04BD1503C70DB1D8DA1C2BE303F0C7CE1
+7673488237350657DE4B7FC9775C13B6231DB84845755755F67D4ABCE6F45658
+E17CE8FAE0CAC26733FDD493E15CF5D1AD5BEFE23D6E1EB335A3706E3A71EB22
+40BAC5D469EEAB3686691127037D50A7B2AFDB496D2B1E9FAC69DC1E83A0D833
+AB839AAEACE34AAA0F4272774E7DDDA88586A381C6133F12A41EE11FDE813E59
+B6E5C3914AFB7F786C39CFA9C5A8E73D49B3511EEE9AEBAEED94B8D559DE5CE9
+CBE6BD710215DB65F041A230740F28BDDB46A89B38AC8767F252ACD1B297EA4C
+EE114AAB6EFF10D398CA1B788AE63B672C867474220F6F20FE9F0B1AC1650B2C
+EBB80EB68D62024EC5C2124F3607DF8776928BC25867C4730808308FBC326156
+5A99B88CD042F581A389B459A6F8FC484EE8C17DE640C7928A78CFBB9C6104FE
+004009DF77FAFE4E1C092F6E5FA048D771D7F25AAC0013D0402A1AFD1E8D0515
+BFDC767DB9BE89407322857519236AEAC3A076CEEEEE7FEECB30B6751EE09E9C
+472DBDA84A3D45A6CD9B9E7A29FB31852315389E7038F57923EC9225803A6A68
+7EA2F3EF394AA6CCB8336F34F75E2B5E577A4724663A0A35338A8E95C989B9C7
+CE48B675933214EE6FA7EE94B3249ABCEB5EC75A714C30CB88E27B9752DFD3DD
+0CC44FC1E3230D92274E1F35429B377DBE57867A40F37B8B88260C3A72ACDCD2
+C8AEF714124B838C638468A9405C46CB2BE67A118A117FBE0A0CAFD9A36D2882
+516B94676566B98BFA1EF6DB6D7258F9420EF010ACB3DAA97409CB272A60AE22
+0E03F9C40889C514E3A4D1BB3A10A6DCC439EBE37D8C28472060DB405F74E855
+27BAD6D66BFC8CCCA038F5BB9EE0F5F1EECB64311A731EA3A22B52AC2AA9933B
+7909A46DC299C3D701527E734C339955325265C0D5A3E30B1506239F803847ED
+0ED27F81C1B982FC881769BB5DB178405501DDD2507EE8B038FC9F440E849736
+2CA4A7CA8F25BC2DDB645DC96DA317DE9BA8A2207329D3A722D2D15663E47E19
+13058EAFA7BE4635666070C17BFA087FEE6244495F5E5AA6CA1FF1054215E9CF
+AD6160126243C941031D3675B73AB83602B8FD765A81D49A8D7AB9A3D107BAE8
+234D9FDFD2D720C1894FE036D249B7A19165A744F8A5D1C226258F8A6ABE0B3A
+65DBB2E761542D20EB327375A1B6738F0814C9273D30863144AF710492D90C61
+6861198193A64E9A6BC1093CFBA2890C4132D1B9F0D133AE52F0B8A39197534B
+22BBCF08BCA93A492FA327E92008F42BAC0AD14AF049D2C23CD92D84C9749282
+FD4A491333DCFCE526AA22C2C68C1A85D18199782807725C5D1363A72CEF75BD
+1ACFBF1B64590C6A24F09B6D4E0C433C49DC99ABE220361E98D25C594253DD5E
+903F487B4C2553F78B70C03B8E3658405FD8427065ACE263AAE8AEF2D92ECFDE
+71DF9CB7DD61A9EC5B0AAED868F91423A410527C057D8F543B93DA02F40CE88A
+E4F29A755430068AC26CF97EF481B5650AEDE5E6BE6E03AAA2F1BB0D04507028
+26C0166B4F91FADD73BD4C557C2B3BB477B3A73921821A704F18103489109533
+3B7F59422F9FF147EED3FEF9BD2EC6EE9C4305593C5563CB6C400353EF3DF249
+0E9CAB7918B61706BC300A39AEB4650ECCF7A3E9342297E4E6AB177F6CB63BF2
+C33DC31FCA946D8B4D33788CB6C91AACCE90DDF5F1B92DC2E7B2D0E244F3C893
+F37B7E2FFE10EF0D1AD762243840BBC99232B1CAC7A321AF88D2BA62B55E305E
+ABF6323CB529D0766E0E8F4230D9EE5BB6863B605A0DF56695C01AE054CCB502
+1905489F1A486FE00B284356D1AB83D27BEEDAAEC8DB318114590D0324755C61
+18521C015B5855F0992792E644D194BB3F52E4679659FC4B8AE383F7EF29ECB9
+6EBEA201A8875DEA6410CCBF09BF050D08182DEB13264F55E0F5FFAC218370E6
+5E9C8AF9E349856AB11D393B583F4FEED6EB4EFF9727084D69977D67EB7B61FB
+A79DB726E75FD817270B6CF8C8D0A57A6F83ED03B1D3DE572324E7F4BD4D1B99
+97140FF18BF45B6198202AB9A30DEF4ED9695D5FEC15942FC363E9CDEF782F04
+486F71CE6BFA5E8D53C969065D990700E3485967EC03EFEAF0F479CFFBED405A
+2D29B98307EA5D4E2CF536DA21F66A961F9A860EBA38B51EF6A106E009DCF099
+B0A2DB3D768850526B90ACE82FB6589D3459351DF1CD37F9CFA174D2F9597A50
+C1033304D971EC0C2314B2AF3E665DF1B53F751E913CB5D4808501B507059879
+769E3ADCC2D8E3875C7D6EF7E7CB48DD07E2F0B415E869D196B6D0B8B80023C5
+7501F75710AF487BD35DBC56BEA988EFB72A60D37DDB34A3E16E4C3302041FED
+F67725B1E85AA62C438D812902CD301CD6B0711356956B3EE81244634ACFE99B
+695465D6249EA7D73F0530B7A5C6C321E52608C33699498800E0B496288D2C91
+F85FE65F17A7127E7B24B965CA8901ACBADEEAC73A7DE07B53966F0A5D857486
+674B6BD44831C3DA3914E72DB66AC7F1F7553DD8F8125779348ACB28B313A5EC
+BFD42000EC537ECF0A191364CEE8F7557697852610AF5C00EC2E23DF58BDC5B4
+D7238CF054E0019259CFF06D29A7045757429F71ED61743C71A6CD09D0CC9DA9
+289B1C880D8E07C79E66FFB61682EB3162821C9DD3161EEB998269A42D64A160
+9E07F3D060E6D9055636B786218A103F8ECEE20933D1233FBFF0ECF9F01BAF09
+560441BB6A0B6931192496CF3485BEC03F10581B3C8936A6C3BB0C3D4AF346BB
+0FF8AC37DDAE5D82561F31DEA6107119F89EC25056E7FD5984EA349407EBE597
+BD71E2EE4E8034690BF158D2EECE68EA603FAD5E0258CE2084F898D7C7CE7625
+3D8990CAAAF8A87C730FCF7D9DA3E5991545CF680CE9CFF96FF99F2660E2164E
+44AF04EF697F3F3FC8940BCA00A526D8AB419FF20FE6A0A007301F9AEA8324FB
+5B069EDB2AAC535F5489F723BA457401417A63CC98BBC70C26FCE973F4AFF4DD
+B3F3CF7AAD27AACB8C23D7E421D512A82259212FBA5D6DE572A40D04BB05D470
+EDB61AE5E4358F11D3FE840D24AC2D9CE4F91B3B9A357CBC8DFAFC8A0776DF14
+32A016B0D5F8226A7F3FE390001BC336024657D1F7151DF5098030553D71F87B
+6A5C46D286D0AA3E946538ECD82EDAAF2C6B608041945232E52E27DE9928875F
+D2406BA32126FCC92FCA719DCFFA13CDF0367E294AE6A4DAE01CC1D70E59AFBF
+EAC961C6B3F63F3696FE3105F7980D24AD4F14BF7F35F84674AD400A94BE2A02
+9F243BE2AEDB5AA8BDC1A3FD5371E265149C110754A70412B068828C611EA981
+2907E87A12DEE88636F904F865C6CA994C0D139AAEEC147A2ED1955F527A7230
+51D5266D8C7CD0A1C1A9EA24CF1E65BCE6EBE21E04D7C94B0FF6DCE002F05BCE
+1FDFF4F6BB1C72A49CE1A78A2916382D3DFD5A8A9E6D27C170D1626B702231BB
+9921646CD185E87A367BDDB9DDC2F2239F3CBFAA9B73DDBFB2E5A6EBDCB0902E
+CD432D6171B96245102B362BB07BC33B677CD115B309E98C35E02A515BF3B651
+99789B6B3C8E81C983D1AC9B9E53F4B3BB0AF40D3861C206272B07433C091734
+8123BF670D0BD74E04131F26C7BE882288C3700D0C3E804C23843BBB689CEE18
+40BF8DE4C4A90327099E286377892C3BF307240D0012C3BF05551B1D66F57F6E
+D5409CF3C82F5AFFD40FD83C998626CBB46EB5B53317DB98C7D4C08F230DC51B
+393211EB6B
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -3751,13 +3756,12 @@ dup 12 /fi put
dup 40 /parenleft put
dup 41 /parenright put
dup 46 /period put
-dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
-dup 55 /seven put
+dup 56 /eight put
dup 58 /colon put
dup 65 /A put
dup 67 /C put
@@ -3993,295 +3997,291 @@ BBCFFB1ED92299DB0291CAB10A84529B7FE279C62628A24A2FC36B01976E13A9
C528A198B8EC8654AD69CCB5C209964A2B25D6DA9BA0FFB366D19D8C69701D7E
8ECBEA88569601C80E19A4165AC73F32D0ED08C8FD0D0407325DFF60D69BC8FB
95D27536CFD07285E9FA0E957BD98B45C2E7A24AA33635C6683B801BC89AF92B
-57BDBD4C4FA2979D6344AC3198440DB1709FAF1D9DBD7EF56D61664EC7BC0921
-2A51FE14DE1E2F1297F9DFD716BC08D5EED44C02A449C5F2F57D79D8806114F7
-A29CF906ABE31DD46AAB5562977194ECD03E78CBB9B405F3E2C4288D963F1B0A
-CF60D94F28A813767BC40D2BF2B7808804D86B70DBF94654C66BA1C9ACE1D8C0
-DDC96E86F83000882EB43B827B54D499205F00CD9ABA1488A5ACF8A1C67DA1A7
-319BC9466FAAD8DC6178411A7665B719C8A2C9C08752199137D18C07F050F920
-D99A80697D9906F17C34D9F7002E243231D0605A10BA62A5BE24BA9370D67895
-2974D9AC107A45FC80B6CE4737F49921FB1F14CCEA0968E7ADE73F081A24938D
-E19CC21EB81FE8100D478C6584A25876B1E2F4DC29C866CA5E854FE495F46B38
-311FE43A7E8FE3F9646507D23259F2D4970ADF7AF7E4ADBA8A1A5A8A7C621F0E
-F2A1A4E4D5FE16E7B0E897D1896F4ED012A454FCE7AB1ADEF996780956884795
-90DBD63C5828FB8BB6702048EE10A62CDE24D71D6B901128F9C6CDB76BC5C7FC
-E39362BBCDDB4318EF08C9B3CF7A0DC30E5D92AE4F93E4C3F6C8684395BF4DEA
-AD736D39569007E8D020D26FECDE65B054B2A8B33442200B6E61DD0CFCAA50F6
-BD827C0BBDCD78C5867AB1E712C372FDDD5DD3ADA48BF40A5442876A53E5E34D
-9EEA9A4DDEA7B00004FE8B5A2F74A65266BD4E6D81FC5B2DE06AD5405A353CE7
-999ECC2189BBF0E02581E4FD6B08F3709D92053B91F58AAAEF526449B3994159
-9C32F9D5C58EF1C8643359280E2712A42083D51AA7E2C7E3AFFBECA3ABF7E65B
-40D29A06619AA6CCBC3DD8C650EAF46E7A4205D0AC073D975AE628F88935027B
-36CCA945C0CB9CEF075D30897740E4696E90C5AEEB567EF45D8BEAAE811D5394
-5C56EF1060A048B764AEF895642899A64D1B43DDCC7F000B38C6F9E8F8E18B33
-E52241A7028A30C0E7A3E923C145B66ADD817E1142B09ACC1794F733CD09C893
-E7CAF8B9EAAA17FE2D99FE9414B0044735ED4697F40919329E03BDCD4B7D2126
-D51080F01C44F0C6B20E7A82AA5DF30B585AEC9F950BB82101C19895ADCD7668
-F8FFDBD6D559C40F27872C9DB1640EC248F8C1E2B852F244DA57F46F8F36E34F
-672F649DF741D281A5D92B77D14A35BD71E1BD18E1009BD5852D099AB6C6DFD9
-81363038ECC5CD2F6C9EFBBE0556CF468290624E7A9FA0A119596C2CC05901AD
-0FB432FCF9B79098D2501C46875F44CA438EE63670527EAB66AB620EE152ADFF
-F63309400BC9BB2C93DA80BAEFF91CA0059965B743C7658ED2999CCAD0B6CB30
-7E549BE6CC5A3320A9321924DAB511B9D1F871218787070B7706F5DA180E567C
-30B036869F297BE6F67C4519947BA83D9C24FED8DE0D02B7B9CAE1A03F82AB51
-75F707A65DBBA797653C1CBB3E5A0DF49D94CFCFC68BCB9ECAFBAAF03673ABA3
-B8321A0458EB3C91CC6DD69EE0941D9429C9C5092693B607A67E0AEAE55053F4
-D74CC02F87B891CC50BD8634543845BB44585404ECF2E512AD455D80EA2820A5
-0A853919C11791C0BB81303C5532623A1CE3AE964361AA2F2E241AC8C731056A
-89727610875875A1D03A09E6F54E5606C808973770064E6C9CACA9F195512163
-BF99DEE1A715907E2772BC68D16508BC1DB50D7BC9198D23527C9581FDA43BF1
-D40A0DBBD96D65CF2D23360390E61E4C05CF743CFB31E58B1EA9DF7B80DA8141
-D26D09B3B3864B45C0495C56BCA163C00B6C77C747037AA8A1C0AB5FA2B8EDB7
-E7F305ED235246237A265F52A3223AA6F478533F4634CB6FB6DE6E81910265AE
-83A4C384EC4897CD9A044A892079834755212800BCA31BFF1F67C31C975C8FDB
-767C1D80DF27485468D48FB0B16F0D3C191705EAE8DA6B41A570A2D5DDE994CB
-0ABF11EB4B4E420A5DD8725E870EE3958DF71590FD2317896FAA4C6F3F1558A1
-D829D5B8BA4C59364363D3C20A3F778A72914EB3707E562F244CF96FC90F506C
-26349EE971AD5C91723922EECCA11B8D23E94EC119C5F3BAD9018342AF2E1934
-69E49E93524360C250A02544FA58E92E6E39B760E740DAF416938E412B1AF7F6
-D9FA3C9DC7835DE730C93344DD7B02848A4578C8810FF104F2E2A2EF38F52598
-5ABCE06308B024EA70486182FD2BCD88B02EB78420A3145F3E310DB94BBB9889
-F52EB14E39BAA497BBD563E39EBAADA2AF1320341F0D0B865F91EAF2CA91956E
-B288D71F0FD38FC462D866082E9A6515AE23D63460EFFF2E3EFC4BC51F799CA0
-4DE2E555C64F9CD1375ACA5698A8EFBCE478F1C9BD344ECC534D83E6E233E709
-C8DF1AC21329965344A747067B03B791AE5C1ED0106412447291FED0A19ADB9C
-7D3ABF0E596CADDF5021DF61A98BB2BEB3C7DE70C95407772D070407F28142AD
-DB62C727D13483746DAC3CF262BC68B833AD874166B4D0EC10C7E2A4DB5ADDAC
-5F248B8CD6ECB789AC03CA093B86700490CFA49D063DCB2A694A52886F2D256A
-A59047BA8AA6F15CB5DA0466A857B66FC9E437678BD7EC602903337BF4700C71
-621A7813F120A934EBF5303EC5C0DC42780F3CAE043BF763B542309CFF3F2B87
-2AA14CADBD8D000A67298EE5AE4DFC4ACBC2CD873C4D9098086BD2B2F597E9AB
-32E22A86E43A7A2D127C8E50112CA4A224FD28A1F26FD75A3440F0C7CD685414
-A0A738EBD355A62FEA6D46E4F82663AC49A6E91C1BF1D6337DCEDF19AE5C685B
-C1224DC47603225DAB9072D54E49C0D51AA35777F1ACB4BF32AC7D01168C3976
-FD5257A7CD8CBAF17DCC98CD31C79839043A8EBD0E54EABE20AB3E113B751578
-C43C2030F99159D7709B6CCEEF4EA02ADFAB59DE70F6BB276EAB521E4E1BD371
-0C665CF7081813BC8A3714A403E2E7989FF396D9196C6A5DBAE6BE6CDB40DD7C
-193F91A2911D7D791B8494E2CAFA72079842FF6F84D637C211E2BABE7DE62D11
-E41B8D400AEB3C3272C71CE684F478633151831716B99F52336D731F5BDC09E0
-9F392C58157236596F053A9A9A6AFB440C2C900A539E16E4C37289DD58E94DBE
-8BE05D1547265F64C0F65AE960376C074791233175642B9F566C110FD4564480
-4751A13E9EDCBEFCAC10C90CBDF49C8C9D0B5F187F0FA7F3EED161CB038A278F
-F08AAB6B033F38D4232D8E1C0543CD85F1ACFE35DA7153385490CD97DD3EE416
-BF37FAC61FFF85D4716A0AFDC45E922791977AD32AD61399565060C26C41F706
-7AAD2D27C3F54986284D3F6E0192DD8EC20BB4DCA8431E4B09CAA7E9C0186A48
-68D3D61DEBBD627AB139868AB0141630559387C58ADF13FD021B323AEC6002BE
-51D85A9EB90FC8B47274B02BCE13269FDA90944FDAA40C74B988B23A575A6FF7
-596819BA5F075A6F488F69F7B9C80C4DB4A73CC57EE4C2D4FE07ACD2F163B87C
-F7F9BC47308FE26F51C5F52BE9C2C5B2598936B349F8FAA3F1541EE2A0DF756A
-EBF16D3C35E97CAD5A9C3AE9F62119B46D2EA30C07C679624297A0B6DF4C9BA2
-810BAFF711FD7D503AA68811A1FAE8F172EFC53F585A278E9C954BB1B4E219E8
-34944BE31B6AE71DC217D7DE08EFD59CDB71BD35D8F229BF4F6B36555BCEFAD2
-92E2B687A353BB608372817B5A598323650137C16CB01F02275F688262C57A3D
-ADA0853699372E36A5E94EA76D7F577793EFF2693C13EDF5CAA5D85642408B3B
-E12FE05B17CAE8A3F532EF0AEDFBCC352765C4B2DC50D7300721BB2D503152CE
-A8BB4A5170E59C049F458666446E52CAFAFCCDDF01067869262E3BB799B06D1B
-D44D76A284614D0D02D3A2BC46DCD9F629E9B825A3794802BEF28AF223A3EBEB
-E824030274263BA0A9FD91FAA31C1E4A339DE586E37CCBEF60B5571A4831B438
-80C9E24B4D257683B785FF7256367EB2FAB5E79A4BB42901EF4FABB6D3762131
-8FBBBE115F69EFFBFCFE246D7714BE509BE8642954FC6D2DD2B0DEBE1AB9DF80
-DEF7DC1DC786247DE28B62D9630F2C451252D7B60622ED4F0185FC1F8B4BA312
-FF5127B7E2AB7756EA9B3054E9F354635E08267F1D3721061A7119B47B4EE5FD
-45E883C73FF64BD9C0F57051D88D3F6F549F6E94E6F69F580B6B297DA0249681
-E02ED4F7B1B84E51F4ACA217D400DAF584A1D0C0997BBE90279B27C97C584964
-482E961EC31C364324011DF04FC850083D6FE0180E31FF62ED4EB02228FB69D1
-2894BCAF37AD240FE874AB293A55EF453E4C0744D2AAA5C5F2910BC281E3D8EF
-E706D713A8E074B77EC010AA500506DC82F105C0613FD4E35F06D7C0FEF73B7F
-B1F74490EAC3AB9A4F61BA95B02A714987623952E754B225B3E21A18BDE46B20
-0D06B7F1751F9BFF9B30D6C4C20622BA7AF0C43017447BA5630F28A6B2126EC9
-DB901B662FDF6C1A6C8A81AEBC1504531FF542017FF3D54327FA743B21C9021F
-36DB6FC504221B93F838C3D7D5731E892F75DF1FFEC5344E867B174052CEDF30
-BE1372B054E3A3A346CC67DE6E608BFFD09BC8B9B8F881C020D74BCA542B85F6
-41E7282E7AA1FB5CFBF4A60530572FBF36F156F6A31F9AE6D026A033D6D78ED6
-441463B179BBEAEDF9ABD9BAFE7CA0CC98B342DB21D0A902F21C5F505DA85FFF
-174D2A13DDA547936B84DD7692DC1EEBE9CD9CDAD94E7A0485F17D82B65E3954
-53565E1D6440C3F327E58864AF3284563C013FA1AD1EDED9A38E6283DFF88C5B
-E552D23477B453C25E9D9680ED01A27D9F502293D3A40A0BF1E738BDA066314F
-771D56EFAB5D2C7EDD5BABEC11C79465A972D8436BB8D5D25CF62CDC741903FF
-42757B15F41DBAA2B8BB6958FCAAE52C2DE8B2D5F3B26391B7619F25580934A9
-E7ED5375476EF1DF4764FFF07BAAEF3C0D4DED9CA0E7AC9A82AAB196CDC7AA04
-CFE43427BA049BC17FB567E836DF6E0EC22D7A58D6BB428BF42814C0B071F652
-16EBC9D7FEECCA6DAA2217AAF7564F55FD51261A8E33AE11585A0CED9FAA0890
-5BB9F2EB0504A2F800940FF58FE7F620B719BDD197C65418AAE51310BF8EA272
-4F2C6F732C9F16DE4906291305FC250EEC2F143038F5B919BD79CF0420EAE0BD
-E30AB5E9DF473BEC21AD9CD2E78FD2074C435B1B50B7030DFB9B8F2AAA94A19A
-BBE3874753A1BAD35782CA78AFF1B7E38AF95674DEEB8464029E146AD48C3319
-0AB788299303914F00FDCE64076CB051C5C0548CDCD55F5E131E02F07A94F146
-0CBA373C6F0FEEF8716D6CDAAB4ACA93B865DB7CC050C3C11A1D1DCCE06F5766
-3E7892BEAF800D4282448477DA3CDE8940A61A561F720960031D0CBB4BA6DB83
-5E098AD2DD4D6C25CF4FFDD5D3E13ED47EE3E7736757C49D650CAE11BF5CF5CC
-741EE453447EF37174294A56D503B6551B85C67FDFEF4D2932F8181928713793
-88C22E9036B61F4035DB35544B09D1AE8161AF16A5CA02EBFA117430B2BD5BFA
-D7750BDC3ACDB2B466A0FB813820FF6C560650DE37527E4BE4A12E1F6957FDBF
-0AC8C8AF75982D4739C752F00E5A23379C572DE45C396A2E657E06E6E04C56FE
-4C61BEB991479C1584C31778F604BB8222AA77C7C0F9160ECBCAA3449AF2ED8F
-856A66F1039B8B67AB8DFDC4A76BE89F30FC78CB48880B116A602C309BA0D67A
-14CF4BC34D81AED5D28A204558443DE85FFA073992162DE80B9F389E6E49B0C7
-231EE73075A3161B7E9A0D7591C96EF8B297935C3D9DEC1F9D7CF2DD6EEC2FF8
-54438D57DE87CEFC9499CC06A39B20498E9FB17358333790E4B0159B8FA20B0B
-9E29AE280757001669B4E33EABF675B94F362095CE6A43A1ECDB0E9C952B13EA
-CD1AA7A6EF2323D14AA7DF03052F415CE0F712ED4166D40714520ACB06E4D56A
-E4CE3E0E1C3C17CA1844AA0DCC2933DDB0C7798C2BFD71E9F520158DA3F8D2AC
-D17EB82566E5FDD1075270136A2AC0183E490ABBEF3F94E1D6D59A81687F4FB1
-80C00A63891F0485BA87B5EB29B41070785A8A6EFED488064A4B76DF948465BE
-EB0656C214E842EE09DC7E14B9604E5A050394571DC09C7AE76DE6B184A01DE4
-4E24AABE28C1E1B7CF56B3279976224B16C342D130D2A7265315A52BE20BB652
-4DC16E8CD1FC19FC77C94D864385D5AFE19114297AD7E9D74DF5528CC892F1E7
-A57AB51BFD096E2C8F4B30CCE769A0C375AC95F5E8F4217ECD10F65CE78BDEA1
-F157399AFC01B0E3305FCD9E4DD24D51314C0A8F07A10574DE0B62CC86551BB5
-E4CDE434EB44785CBECBD233E81AF34678AECA3912D73AC18D34E9331689E686
-BC2C087B8C091E6CBE80E514E6E0B309E763832EF6A8D653DFF1C988C86C8AC7
-9CECC6FF0F0CCD586FEC597D333C79941FF24B26895FDAE930C76C3DB747087D
-16979EB594DE9FF9443ADC35EFE957E5ADCF1F26687E2FDF81D7A205BD7F5A00
-5FFC16CF7ADA9C4228CF55AD85FDB8898C34501F9CCE90E3BC27D13581C0F553
-20628A3E31056757A13134C0E89907CDED524E832DCDE52FB4E0DBFB10E6BFDA
-863DF6751767B63BF33166E17070D83E94791D4639CE3AD4B41BF09B41BA96DE
-FE756072626D1835234D7B831ACFB832C80244AEB0AB1427C2F3E97B76BBBD67
-9257C8D3864E135B16D933B8DCC2B25D9019F2C5CD0AB7343D39BC3B4E14A957
-123D6F7A6D1BB2B4BC74866666C70A891A5E3AB15941D899F3C5BEC36C0F85E1
-F86F0DC872E66C9B323954C9D7B6F0AA25ABB694D39D5361B2874B193FE93453
-88DE1ADEBB5904C51DE77F623CECA4FC2F14C79AA521E45019D491EADEC7369C
-8B569CC8F94553D64BF9D63E0CBCDBF8EA4EA95F951280F6482D36A5D84995F1
-7D6D5C5C853E1D8B9E44EDD50395B56A25D0A256D8046F1AC3D575C2591BFCBB
-141C4CFC0433A5DA4BF1125FB31B4E465D67EFED81236FA8AFD8F1F1C8DFB0EB
-B3711D9FA6660DAC7DB14A4CB99381BF1FC1F033525B61322513681E4B6DF2B8
-79BD0057573347EECB82EA0144DABB181D9DB4169E934FD7AE90682839FBB17D
-20351F9485C49DE403EEA86E791A381FF672442A6600864AB854A23497C928F3
-9DA080BB70DBEDC5F97E7660D4FEFD49790C6AB4512EF0942A095927327BE557
-000723101B1936D7CAD4CEDB9BBA459C29A82878A02EB2B250F486B9E57AFAC9
-611551C0DC60E6654BB5ED253D7D18C386D2E5899ADF6FE07D2632889A2BEF0A
-B7E16E04B97E8F290AE461B6A59C194211DBE87FEDF37800CE2EDA3108D9E169
-F1CF3DBE028C2AFAF04094C696AEC52D74BB6747FB3916166D211C8690C478F3
-C1997DBC5EC873170CF61AD6BDD708DE2C1BB428E230C1111AEDDB0A89934966
-A446BB8D7A7646A316071469F314E5499793BF004473DF012EDACF0E3B872C30
-05AE996DE5B7064CB88EA8ACD37B3EB7A3E2D533EFFF9834009FE92329EF76B7
-1BBC9E32659888D5520D5D3B0D7498AC89DE03B975B0BBFA621B34805BA4D999
-ED8BF2877E08E69971D08922D1A7AC0B61FE258BB33509B4780A2163EBA6A39E
-644E96E348B00B13A6818EDDB568F6F70D9E530B43F6EC1BCB801D0F2E3EFFC0
-F4F36E528A2AC4C9A961BE96E6CFEDE623DBFC2AEF1D7C5DB9243CFEA4CFD360
-3D9554F129AF3905AB774C6F335A17F6B15A40BE518324C5F7232530C1430372
-E170BB98B7882DCFBBD415E4B826575650418BEB0D6689C86F2DB01A44EA9D1A
-748AC9B5C71113BABF43E556F578D4CD562A711FF8CFAE0DB27A6F7522818A5C
-CCDAFF81F25BA563A43DC10D995FD0A8CC2C02FBDE62ABDC2A8F48046ADE94A5
-EF141B54D71F0586D2DBA09CF06295CF354F1896B6218326FEAE271BBD922C0C
-2A065C71B9CBBFF433C6D32E1191EDC9D68CEA7E9466BC398B444E39CAA07879
-43FA87AF9DB2D129966EAC73400558EE4287A1DD4AC364CC4080803673025078
-028452B925CD6951B3807803804A88345426BD6E59FB1DDF4CB843710BA96300
-18D336294A6BC4E45BAAB2DE0D9A778D88A17FF2588F7AF8B03B5C6BBA17A89E
-8B929F83F9B3463F5592A8E710B677C0142FAE8F892CE79FC857A51A8D59DE97
-413DBE7D67C82C0F4E3EF5E26FE61DB3346CCAF36A307E5474B3FE81FA20A925
-58AE61EF420F47B8CC372EE0333A40CCE66817530B3235D9A936FDE388A76AC3
-30EC98D33C16E4BF9188702D5EBCE85192B39811148B08E7E630CCEA8559790E
-B89577821CD6428F3FB6F680CA00FE07F1F06C94D5419E2E54AF8A194DA645FD
-FE45207B2819C5F178F08E3A08C672AD5C8B3FD0D98DF452A7C633F5B87A0D01
-6B3AC6E85BDE9BAC172EA888A5C86FAF2D4731EC390DE13AD65AF950951B0B1B
-3E93836F683BC12AA1F1B6DC371A7E66F0604A43503562B63DF3F45B493A6ED9
-5D9BE9B0B8F5F7BEE60756CF79BBE7A47028CACFEAB637015E4E00BE7F2C9C1F
-B3EEB5AC0C9AE3054EED9CCD146B12B56FE435AAB2D92FA4404E44D2E8EACBB9
-C1E21C4DF10F316BAE384E31175CE82C195A79F9B3A3B74123E6A2DAAF54045A
-7425E9038AE77B9D1E5AB33F8AAF91D314623BE41A21F1D5F8206AD4A32E5237
-519A42641F18408BEBB6CAC319A74B941D8D3D728ED8D8A0BB3515323315CA1F
-23295FB8973BFD3A9D8E66A0FAC8CE431E8E377697F5CD56CB80CC88AF851C60
-DA9DE2711B63B86857AD083838F3936A9E881D96FB03DCEE804C3D6D0CB3AB3C
-DB03743E634D80F16E36237BFC44E40C560943924DD7516BD43AC60055C9D7F5
-50484CCB471E014E49C923200CD10390CE92A5B200D5C86ABBCBD6A2C57ED393
-81C45736399B9EAF73B052B5543F8433622DB6C0D36CDF714DC88AB68009BCB4
-2C9219ED28C4ACE9B1ACDA70C35FC07D71C381BCF27A436CC278BE98E28F94D3
-6A41910C08A2AC5E389ADCA56DB69661497EB1ADE463AACC817BDDAB170E578F
-8051D01C889ED8F24BA57A7C217DCE931C115321737991FFD542F2E80EC7C91A
-1EB513844C9738ED7BC1A280D0AE34D03A77B7AA84CD78DA561B1AAD225F8921
-A3F0374CCA3883CF1CE01B4F993816C2E713D20AC4EB63D3EDAAC9C0FE3D7AA6
-93FAE755A8FC98C9CA35325DDEC153313E2567FC9FDE6400AD44AE31B73010D2
-768A7D2B5D48969ECA35BE603D54FF0CB95CEF1BA064E71CEC8D4D264337F91C
-BCB94CE6DCDF2B05E1CD21EA9EC218FDDCD99A461FB5C1076D9B800A86014064
-AA534A2AF51264E34BA27AA23B8314C97230B40C3D05A82A59B19624C9335D39
-EDBE2F2AE3E504ACF475AED646D079C86AB811262E9932D158388AD5A36FA7FD
-6B35ECFFA820632720C56761535E504EC4BAE46B5A070FA29816A3B0BF298BD5
-833007A6BAC43BF4971553A69196A166630A96474C338759A03E7E89DA5D2CA4
-98848D52AA5F996ADA1799C4630D27255FC8FA440EE1D6F5886A7540A383167C
-C88140B9B3EC4A2927C8442FE853D54EF8C5B076271C7245D979E515C58BDC1F
-B927A7ECDADF60CC9353489290155DCF4EA4BD49D8FAA20AE573C1CEA1EEFB4E
-2304A568B84CF539A9F01B9566D25A65EBB942AC4E6CDAEC9398D2833C4A3D60
-FD1AED5B25BF4DBBD34D8AF23C0CCB0C4C3A4C56D825689D816F670516D08E6F
-788DF52162C2A52A3AA85688E9867E35302BC9323A94881D6FE922928DC71FD2
-ADD02130A509D5E0933BCB3B59849EB0D8B09AB24C7176BBB42479FD8D8581D3
-BE7CE3FA1B6749D977148AF2C06711861A46B57339D8B3D241E300D87E3241AB
-1B0AE5918B4F1545BD096C05F50E5C5C6BD8C644BA96940C5DE5EBA2FA47D172
-4F19C22D36B1E2F90D568DA2CDBE55BEFC76257FD6D4D0B2FF4D7E16EED9620B
-BF5B043689C355CCC2ED4401C7ADABC3F0370EB1ADE5082581789102D0ED304B
-270EFEB8E109CF0F09D1B524C2EB4249820DF8F29FC128F48704596F119766DE
-4A790984CA3D87F680CB931EA21666186B7B9FAA695176C83E970A6918EC8292
-41BF38DD48D7C8B449E0C925E2B932D09B9509163C9008812FBFAC8A72E97976
-A78369E181799E338BED92B6A8B03C3B8CABFA98B7DF98E34FE324C52251E0F2
-AAAF32D038C855994C4F45B57DBA59028B1AE0A5BF522C3556875DD84936C7A9
-38B8FD6CCD7250E321C884A6AD0CEB7505D378F96A3F7F76D05D154758605715
-20086DE04410EB8CAFA719879A2DED0E52018A6D9EA748AF20E2C7DF717603AD
-09EBE3B8AA7B55131315B98AA4FDD2F83755249EB7E3E7E438FF59C008ED7BD8
-B6825B78B8D441F223B66A797488C24C549DCC355D90964847B598FE681A1986
-F3AAB186EB4A7F340E75CBE6F4B2F0D072696BABBB4617C84E016ED6C33B3EBF
-B1EDD2191641AC285CF5E49A8BBEB678547A30EE0DAFCED16F68B2FEFB93342C
-1825FE06E871AC15ABCEB0E263C83EB19AFAB1BBF4F38CE080984C9AA22EB892
-4E2A7A8B42B08D51D6C55CBE511A7BCC34674F8947A1512B03BA9A7FCB517702
-81C5D37A5F4A3A9419B0409A75DF568C0FD33A0D7F3F4FBB41E0192876F32186
-B22FD853B181570C16A5B614428FC38F54B7E3779BEEE365360358B63955F774
-38145829FD05B48BE957FA98C435573B918E2883982CAAFF408D5DB3AE15BFCE
-7038796F5F0F1E98314C578497C1151AA044212C90D00FE6FD43EE858D362BC2
-18E962635CBC13FC5CA1E3D4C5125C97B37A1F5322C2E4463F7EB92713544EB1
-0D06FE4D23BDE0820440F126F67D4E305C5793D7B3B0C04C1612702FBBC3EDEE
-B82F047462AB0E38CB7933FB7A2B939F43976832C7FB90507AD55C5DB6711BB6
-01622290982CD086D6A42FD506A460E7C1DB7CFE3BC9E4307AAD5EC874F5A517
-DE217DC82BE40CFCFDDC44787F71D921C7FDA4679DEC9DACBF17A3142ABF5DCD
-F9E640BCFC011B9CB38E0093AA5432E3D468FAF915DDFE924076DA6FE19A81D1
-158F7E756C483015DDEF6F2AF2FE5BC82EFFCA4B4E6CAF441154B6AEC5AF4B5D
-C61B919957D886979D0CB320F23AE98258C4FD861FA69BA8FD39E4E8C6171CB9
-D4D1095C65BD5B653B91C5A15DCD3096BD715216456114260530E483ECA9A8CA
-F587FA9AD60FF1DDBBAE43BB0BAC1C39367DA374182C74F2937B1C6FD1B7BEDE
-95DF3A267C40C160F845E3E98421E2EBCFFB030A26BD0D5750B05FAA8C5A72CA
-448A3213463DD4316768C4DE0AFA9B47DC2D9D10C52B9FC14AA5ACA08B83AA8F
-09EAD993ECAAA2D31B66B165A0EA8A204B03EEFE675FA0085EDA5FBBEAEF8690
-54643C7B2A345DA3E366AE0B7A7969471AE1384E868238A95158631F86133C63
-B4A70244B216403AEE0600F77D3142CE0BBED4FA9A4BF6D956A86F180606B9C9
-025F7B30E29634708280E7BC03A0FA51BB17BE5CB94D257F1DB542F13E0970CE
-42DFFB1307E6F5F7EBCD9292D03850748AB0D22D7F5314E3654D5EFCADBF68FC
-751559760FDEF4F078E57F2CCBC3F99F64681648B38E9F26E5B0BF98BD0E7DD5
-6CB55D07A202A2C9A2817E4240E4B00DC0E60C26D4338C7E7C2907FF1CD34127
-5E048B5F55AD11F69843856459750DEA7D7EF76DB9A50F487F6BA4788F3680AF
-29621BDA707B3C138F9ABE2F5B7E5D7C3119A5F535FE575E82F65E97AE078020
-36FD51A751CDDB98147074CD6481A96145FCF656DE28FC3A00573FBE06FC429F
-E06F918AB3AA095DD3B9DBCDBEBDE69DB459600C46B50D49A563DDCE26A1A5AC
-504E07BBC2A48D858B51F51B7A06D56695F8BAFC0518AD8B21E7DCF5C2047EB9
-FC8995D139FB37794ABD9A7387DAC9FD9F2F3E80578928E3F1AB70A50F16591A
-034E29CD0C6AC1BD531CFF53478828A1F9A0BE3DFFEEEFAA0C7EF53750427ACE
-2BC4A5591FCFF121A9A62CA0EB1069ADB7E51CFFDC8902361575E0E71700DC8C
-86B43E1D697A8847C210C5FBB66E2B4E306AF90E0CB97D7FA008F76B1E6B489A
-4CABB68EDBB9AFF604E3B355730436FC1A25F72C1FC4DCF6B1C40EA52D3AD46C
-BB47EE3098E12CB98015F18B45AF2DF2712CD1187661F4EA24106FA51DD90262
-4FE3EB0D95B3EA446502A33091F2004D1C8F001DBAA7AE9FCAC74B0704D04902
-F832B25C7FBB9304D834A18F22259B81A0C400FE9CC0D811E58F8C3E1D107129
-D1CA233FD481FC6C03BAE7D00AAB2AAED4CEC3A7C8ECB087DF77065D1328A4EB
-912CA8AFE5C7DEF3C5A3F42E40E6E60FB241F3FB6A11B5ACF4E6005471881DE6
-156BAE8ED4C75CE8FAC9C3A9B3DA52B07F09C28FF67BAF5767EAF202B3D5FDB8
-1EFAA98B59BF281BCFD45CDEC7707ED4167491F716322CB08248A65BED4FF628
-44AE351D9657BD03E41625E2D855D06444D441CF01330EF8FEEA0D42E0A054B9
-A05A5ADB518607299CECE64A59D52B2902DAB10F37A9F6DA24D95619860A69DE
-D9915F414A8B63F8931099AC051C8671F6891F2563FBF902D30734C23E647D7B
-A3FBAF4CEFA1F860B1EA1F2633E0E77665767CCB3332C311B8798E35557D3751
-919B770BD244FAC769980699F76C8E1B2D5BC85CC1DFE11017F0FD3878C60F4D
-5A33D97AFB822CE4CF8BB50E0B89D73560D05A9053053011E49084204D551707
-2D4356FE5ACE352BDF99638AA07603979AF946D33A96266D7646B724994305AA
-C231BCBF8B6D80A47464C242960127160C70E49121A04E986B4845402326C24A
-1D5394D26028FE87EB6A6374CB0D0242212E6F7D939487220BD6347FBDB68F34
-415C7438F92D016F3B1EA7429A18B31FA26FCD33B7E60255522272740E31E5A7
-EBFD72F9FE0B6D85C50D9B868E1052FB2197A68EF52B4E59D8439286C96E832F
-E01E2DA3EBF151FBABE3D39581D564BF8554C9FA2F3303BD5D0EEE6B2A739838
-37E67D38EBCDBDA0E5A784F4A7C165CB6ABBC00286AE34433766C3FFC6574B3B
-BE4B8D36DE246BAB3FA365A33697AB07DEFA881A347470C89951B92D2D820487
-8A6935CFD404E696C61B0BE3D16FB91D5316DED8A003FE55AAD565FBBA8D5928
-D973BA86AF7B9F1BE4C5F157053504D6695DEEE925FA8041E3F76CA7A3C37B3A
-B95C181C32E1466EC738C817369C6DB8364920C6F3FBA3BEE10E87B1AF334043
-200A789BD86697F54B344F11D528620B602AD2840C4755B32C4869DDB2DFBBC1
-F6863C0A4FB43835FA8620A2387E58E9CC430FC75162992E6FFB30A72B7686BA
-3392399A5F79492531EA995BC1BAD1344E5D1AA70C11E6
+57BDBD4C4FA2979D6344AC3198440DB1709FAF1D9DBD7EF56D6161464803216E
+9866C68434A3533C4372DB3C1CFA11ED5321C3F4CE7CF78E392506AAF7257AFC
+7C9AD27EB8EB637A93384B54EAC3BD084571DDF97EB5E82C643FAC667BC3DD3F
+D981A9E0DDB7320B07F23CCFFC4D74C034EC6C36DD66D907A4D34CB94409D362
+04EC03D1FB2A58E607C6ED3FDE67E97D9446876F6C685938EAC48CFE4A228E83
+FF5AEB1A4FE7EC29B33D17293570D43B501DA206F7CB0C5AF321C58E21F739B3
+49C19AEA6529CC550471E98E84DADA143F571A340759AC0809A695A56EBE8BF7
+6074197773630952FC57B9A3EE95B0E63CC4474A6ADB4D9E7FDD3B2B35294CC9
+D9F6B1C2786D00FD841BA8007988D6B4DA71736F63B1BA028230C46B0AD6A6AC
+8126FAA43863ADCE0DF29E8B4C9EF15CF7D80AF346C45A9C347273FBE528E1D5
+389D396B339BD8129B462513B063D931CCDF8F346959483BAB970A4428B9EFBB
+0773F9B2DFA2D6566AA2963DA654DC21F8F11EE928A083406353DEF3829EA553
+EB6EB0DAD22A4245AC88B5C509DF6C290D93AAE1E5BE9ED6BDA7D04AB0B0998C
+A1264CE0025B1B2E2463A5CDC5CF0F60AA49AAD32391A5F97E27115223C6D1B8
+CA9346C5E650DB86749EE83275610023D41A47D0E5425E74D16A6EB98EC38C6E
+00DFCE06B41D2FEAA761F5102718086A15E02717309F7D3B6140293E4B1A46D8
+6E8FEBBBAD104DFD4DE26B87E61A3C0043AC2C2DA283E1167D0E07DD24C80C94
+CBDDC86A09F86E651BAF3E059217118A0408612BAE85E4253C83E3AA5066CC08
+7E6528CCBDBDB5A63297B0BA85E9753B1C968783835EC4006D89F51C3E7D5DD3
+31C9CBC83D175E7832A643AA617DC3B38D8BDC98B7E806BA0F224E8AB73100C8
+A7ACE961DF33A8D97D6F86D5321B57EB2055525ABC17B676585E0DF57FD4E591
+1E6E9C8FB7991EFD37827EF2620B4BC0FDE501354F8ABD9997B508EA7731FFB3
+305944D9A5D4241F0A617F28587E7AE09F73C60B4D1FA1C37CB23B10A8E3FBAD
+A2E067B24AE9AC5715F62BD011EF14B6DEA21DA0F2E8BD27C918683CD1484950
+2C5DF9BEEE20A2F79E60B803E8E3D47DCB19F8F24AA44524361B5A8DE4017ED1
+0A04EE08C9E9724268FDF318A6D037F8344FB9DD23441CF3ADBE7EE059E00D4F
+B093E7216014B26A490F3779DC5E0D60635537BC8B0B681A20BC3106D4904947
+B6E8F68EC6B10B0B8D1304273BAE5D764FCB8A1C33CB55CA860258773A3C4A67
+794668D72813A662BA507A1EDB1316165E5148822ADAF61F31C8B4788D720A8B
+6437E764CCCDDFB1206E7B84AF01BFCA1A695B75D96C47DE7C62670DF0FF4C29
+D0340782B68BFB6CE59C43F54C83C645138BD08492A5D8DA321703B4FDBE8313
+A4C6A13B04618755B5DA2C506CA059B87DF17085F1181FE5A23359C2EC1B27CA
+E60567F112BAF14E9DAE8B749D28BF8263866E9019A963884A2DBF7F1F0B4A4E
+B7C7A0E084F4A8F76EF5B001E3052DF0CF80C56DD85057073E7A1C1FE182A81C
+B72098679C11A375F715270D5D834E94EA4F222F7D3DBAB1AB1AF1EAB16E7675
+42C5985A38613C54FF89DAD80417B054A826D5B6F47CC25FE6C5E831447674F6
+E7D0637D9E729D1F288075BAD89588DF7AEC9EFAB07A2B73D8245A4990A7DD94
+11A1D63F6E1F9934A807BE37EC1A897EFBA4DF6998C910DD75658BF6F133196F
+438C818B549AC11198008DEF1548AA8DB6CBBC8980C96513E790F19CC3A3C151
+1B12A9B524F6026F3551632A3BA2C9FF376AEFA6BAE9D99A990D6B5714C06D3D
+8F68CA21B985E93B0FCDCFB8A39F8DF7B996310B2C1C32FAE1189D6826363B69
+AE6B1B7231D8545A0863B20340CDD552B304B98236927CCBA7BABDE112C25380
+2D08885E8AD17C915908BBC9786D595A0C33A4E7EC1EB66825AE036892DFCB32
+F0576B232F99D99AF3E45D1F26FA0DAB711852AAE2523C6795478BA47E4883FC
+92A1223B740DF537FFCAEA617CE3E01DB8518D1B4F60633820F0583187D99EA5
+72E4CECAC883823E5F7EFB04E211AB3D3362FE18F9EBC87470E3C62AB782B5AD
+518B69458817EC3A7B8B026E624AE303D18E9E18768F3D3CC978DA4DA6926738
+678E2F96F751AC5F55FA5069B815AF3E06071937F0D013EB7791E718899D92E0
+F13260F6A4F8D6B0BA5405523919E543AE935DD6E1121D4F2DB2C46224CB23BC
+39D8537A61DE02008507809DC8906549846FE92F4A835E2217E45CB52E41C696
+98171C24A8F4EF4539F8FBD56355DC995E6E2033E6CC70686CBFA59C19E29A08
+3FB507DB7262FF4520CC3B9194EF5BEAD93EDD5CBBF775A894EEC324676DCF96
+24AEB7824D5B0A506A5838F4E8651795D1611577E86A55393644B2A13E5B075A
+FDB70F8619D12A0554476531F69011ACBEE38895BB29439BFB469759E13B9595
+AD5712F767893E2DA66E73C9A88BF9C131C2E1494B2BD04697CD7655966A2D7F
+4591E4FE21C817D5337856B6A17F4C2AB207CE750692DB20A25A13EDE487B3BC
+0AB2A5C821DB76C4E9100B0D7C4AAF737495DF622216064C01698126F8F237B6
+6016C1FCA6322E7733F0CA0EB83459B143C970CC26EFB1FBA673DE3043FE2489
+2B06DF11D30E1984F7B57DE00892890F36C445E0004DD0492D0BFC40D8DFA970
+4C18FE162CDA7DD31D69714E55E455399C3DEDE5A9A23151ACE7F23D34E70F98
+0F1AF32C7984263F920CDAED21D94CF9DDD72E8EA7AAA7EDDE944F167E318A43
+FAEAC3F77026C771C81017AB544FC6F81009D861402817ACA88FA41C36798168
+29E7204C78F0A89166C1F27B1151988825CB4330693F33B30E0B006352966677
+7FB5E5D522018FA4C7AEB791E84315D67D114481E4427F0D219BDDE0E10AC009
+677247624ACA604F41D4074B24DE54B57E9FBCFD202A40EDB497690935AFDE21
+0FAC4108BCEB82440D51DD0A0D0D61E3F21204E61AC15BD51061DD72EC27A4F4
+7EB24BB58BD6B081C68645E555F9EE3F5B71615BC98F03CE9F059BDE71F3C3B8
+C0283919A815DEFC70CD1C8C450C6E9CF1001371EEB6651EAE42C1848C0F271D
+0466DFB548B0DBAE1A0F79CC7F9CF5D113CAFA86A04048E0F6A0F6A0E0D42E29
+866D8AF62A565F302609905808DD338460BF75A75DDDDE4B38A569149B2EB856
+8AC05433CE5DF29CB9F653BAC71270C8BBFDDC4794FBBBD407134C1A2F4D22F3
+3D18EC493CAC8BC6EF887B78762B179B038D83C1C96A8F6D2C507AC5DF3E3003
+22E63A4F67DC02E2D59A44E5DFE529ACCE3A4CEE2567FBB6FD1CA178DBD1399D
+2CE138F853D68514F186EAAD924D9952D551504D7C95449248C979181BA3DF5A
+8925BCB229E63DA811716D82B56365629960DE392076FE533516CCE02E341137
+EC32EECBC9ECACF92B03BAA83859FBA0584EEA52B3904B69C1ACD8B56CD320B2
+3DEC1D1DA1B66741F1C32CB8F4DA6FC6C8C64C5C3D0A0BCED43C5CB88E5E2B84
+6C5E062278DF5F323E2BB59CBD5B1F41F43BB3C7AD92A69B048758C90E0D3A52
+6FB41FA9EB8BFC592793F45FDD2157DC92B4A910312DC2067C6C5179BC170DC2
+1E445045E7E5720410DB949BF761C9EA5830D2C474FAA17431B0B69D504C8F49
+52911906240AA7A6E649577251FBA1B694F34F6D382E8FDA76708690341646BB
+E4C8FC130D1EB7214C56A203983C0AAE490726E24D6CC83F06E29E117DDED606
+5ECDBDED5D5DF2F48F642A19F9E59B3A0C39D11050DC4895956B4ED5F71CB7CD
+806D50CD68C66C797BBC187FD3313474361A2EC0C30B98A7EAC314BE1049D354
+72F2C754771C49A3B8DE3BDD7D332D5FF160D2C128C7B4524B3C2191372AAA1A
+0A6BA0D4B8D440B4CB17098A59622AA62423C4F7CDCB2DCD45F7553E61FBD272
+EB86A952B821C8A360C531B77C49CE62BD37550DC26DBC8F1060D6710AED5646
+FB43A9845023ECE6444B084AC06E83393370C505874C1260117CFAECC1AEB626
+B9076582EB7F4BF3F5938AA89A3903E8FC147D4E3B89B06D7B51672391BB7F98
+003B1AF7980E84302BB8ED67B4456B6F45BD1F2155ECD5B60C9D8633D2BBA367
+2F503192AD0C9F3A204AA41B8AE03DD9D8A8E7FEAAA29F0AE5F18892E64A050F
+A44185D62296B9CADDBDAF78E769051D212D294B14265D37FD248C2F8370BACA
+D33E7785D00C79714D6F4C11D512033798826B3B711B7BF306133C9F536E18B0
+AC2169060D5B42FE9D70FE52C3CF104F2E28B872AADCB33422A5106EEDC941DC
+29FEE0EC5020582C0784556A74E3697EC5BBBFE08B7E878C06A13660F164C740
+2B6E26475AB9E4944EDBA4169A9D36B43D2D88948B53B1B9C8ACB8CE7880000B
+4226719FB522758866ED95E18B0965FA0BB633FBB79D67F12DC20AF71FEF1A5C
+7C895EA14CD857C5C79B5CD31B7A831905E7178E26657AA3026FB65E2FC0E201
+5489E6B9B60F361CE78514DA8A89FC3CC7C434EF6AA0E60C215DA385A8910697
+4C1B9562FC0016794C2A124E27FCA078404500FB9B3475B7A599F87CE00DD4D2
+745292C279F8907DD01EE660B88B41AC46524297065681BD24AA1979E00978D2
+7C33725AD1953F5BA713C8ABE20D350B00929A29FC28C5081D9745773108F37B
+D7064CF53AC0788B5F3445808E1A7FFA9064D1614EEC7D193F137D8BC89D4E4D
+7224D2C322B0C35A641ECF98048CF8A750C6CFB4E1EED164C354EF8DEFD02829
+0F91E7C1B1F3E98F9EF0C84FFE10197F116278A5EE0330DD552329B1177CC4F7
+C6A79F8D96C4392F22815A222BE811B4B81FF99E729F2D74BB86E59144C42092
+B2EC7CD29E91788DFFFEB6FC9E777B7638C3CFD777DCCDDF2EE14388482D89EA
+9413310C2834290131D8154DA17FD72260D811DE1C82B9761BD0FE86C799A163
+99AE61D5A271B610410346F4B9894AD72E9E6F6C63678C1FD1706B118BA4C60E
+69236F15FF65459E08D6942250D0A568DA1CCA3F85A0924C4CAEA475467D5D54
+B674EABB35604C4337382F8FB16194681FA11EC85677E57DCFCE6B7CF780FBE6
+1E8C9FACA71FAF605C03FA5880514AAA760C91C85F2B2190BEC2EAEA4E46EA02
+5172F34E607A0846126675E96859B1C657DCCDBB3A64CD8315BA8C88E833D217
+D352BF66F5FA87940EE2A1777C9E1E867D8D2DCB33B242C491763629311B1E84
+38EF9B80554E5F8DA022BE06F57838FB5327592B97853E6DA510BB5FD2142DF8
+E602A1635AA59CAEE7FAE408B381CC505ED188354A7D56707B3B5B7F2A83DE3D
+9D3C34B160DE3BBB0602C0102F8BF5D17D739F2FAD17C5E403A0C6E9D3EBB864
+39A015CBE7ADADE67C60414A78DC6856AD0EA0998F51352485E48B1539F42531
+2E10B6E3FB27E60D445C9755DEF5BFF503573B06FE971C769B0026A866389FD6
+6FB25812D7C06D5799BC6A271F1F9B0FB41C0E3F466EB109C8D0DCE23D3D2B6B
+3566329ECE6951E6C5AF424C7C7ED0C1F3B1BB7B212BF4A5FC7859465FFB90BB
+57BA658CD542A24049F2E6897A812AADE9B1642AA573B6AB80277DEC2A869787
+070B4F72EF11D1DE9C79A34858997DB1A7789D7590FEEAC1E6150E01BACE5334
+7CFB81CCC5D42E3A395807AC19177AC8667B9C71AC0CA9D048989DE54E6BE675
+BAF3F13BC331E3AF75F6AB2B14E234CFC3EC303A22AA64A2A3B21DD02996460A
+0BBB2431B58D0667D8EAA51D3E03C27C1CD779FB914D02BEE1E544EC44A0A4AD
+936713AB7729B634FE216181F4D5508B680893A2F28EA451EF35701091195A25
+2D5C727A723D589EAB2DB1AA45B271FC9AE17C0B387C627510EE80DB03FE64AD
+A453C9CAEBAB4BDF449FE9A0E00911C10ECDD8A9CE2FF49BB9FD2F92660B31C5
+9811ACC24162DBE7992660A880B5493D03F4B7B0FC512B22A33A1E3AB3BABC0F
+4B3648E710959103A0D5F6E6E9A86BF3F4EAC6BEF1AFAD3038AA48D0A38B4C90
+B0B7005D8D3725C8563FD71DAD5F59E7F14C2E2327BADD45EE4854E4790F8D3E
+8F2CF554208DA4789A198489AA1D0FA3B358FB2E8245D6A6E2B449B9F91F2241
+E79504B052E33581DC98F440ABB4B48AFDDFF1939DC3F52EB07DB9FA636F5F7C
+6A0076210981C77D0126260CE1D224519469AD53E5ECB0FF473F960463A8C353
+18033ADC1CECF34BE3D751F59EF711AF0B00188ADC2D215C2BEFD52B63E0478B
+553B3BAFF351AF373F3C94B2C279A9E0964FA918719657D270B4DF14CEDF43C0
+230F467F10B3B814C7472E7B0301298E67F518DCAE3DD02F34661896828145AD
+9CDF4D547747DCC70E1A43ED757B6FBA6BD2D2229F2EE00D5D6DCDDE1A5765C9
+532A98A6BA32238AD2767BFDCFD271F009B778D152DFFC5F7B3E93FB30B479D0
+95CB3DA664F7037FE20B286C7C21BD14D1C11537097674E4774AE403915DCD42
+4BF85C7A06F5C721CD92EFEE90DC0ECDF37F8C4723CAC2ECE44271954B67C721
+89634E05E351C4B3F360356B2C02727A46F2A0721CDC42D5FBAD1968DA46B729
+E72BE77930740652E4E56CE02DF5A881B61968166F07E36088B5451EB870C14A
+D9A07E34EF0D7C92156DCEA851F625F933E61F36DA3320F7A4535289FAEC6883
+42955C50434FDB86A1830D48FFC598774D502584D6CC867FC50238EC24D2B58A
+6CF0AF823822CEFC74F874B84658F4CD54370AFBCAEEBBE60AA457AA5DA1A06C
+C8F92A48460E94E7CC3E28791F2885E28544FA5ACB0F4125DE6F8D532DDF420B
+7283A6591659F5B56E61504B5322B4B1CC80A0463DCD00B6821F56446E43F029
+E56E69F8C28B3112EDA3AA5E69046FBA5E57ECF686979BE5B243819BC34CA308
+FE1258B6A1127E701593AE44C88715CF4D3547DC6C66E85F8C14494AF4F07F9F
+22723D40A8D483B725246DF4757706783AF56C1A953DD68BC97285C5315CCD5A
+4350D8742CF7FA13D1A46042ABFA25CC6120EDA9948D262FBB66055C464C14A0
+B8977B5BB2DAD142F46CFEB4A36B7EC51D55E728883F50672F3E1D4FFE41E5CF
+30571C3EE09101C213AECAF90EE8698B740FA5717FF2198C005568E9DB201600
+833437B707AF68F52E9B68EFC36D73E9D4582AB0F135EA890D939FB1BE866144
+67CC07007B66C9CE3F7B204E75369E22D09B4F88E6DF4F7918A79AF5819C7A77
+3DDA23B3F1242BC2A61545E112255DFD97B86E859EA508CC77577BD9404AC9C6
+7A998CC511760C3CBFCD9F6F53A7B1F7B5EB6ECCC074A05E533A67FCA3CA63B0
+552D00C4D31149B29173A8667D9713756D64911540A9D4F3D071C90A76E8B9B4
+B0066037E9359AB21FF5855ED9E71BD1E9848D6A663694BE34FCC171305B2826
+BE177DDDC9B1B97BBC79E45EFC7E70FB11AF79699F373E700CE4D171086461DE
+D8E061B240997646FFBD6D273FA9604861DBBF3A50DA307E28AE218C3D0818C1
+4331CF7C0F448650AD20A77AB23CC5F40C48CCD602D0B32D4C7CD7B4B607E262
+D07B5214069C6856D31F40B0D50A63B079D065F79C3ACFA853C2C8A3DC2572D0
+B5DD285BB0ADD7596FDED62DF7C68EFF979DB5E0182FD061DF55362EDE0B03CB
+70A15526CBE98186701557FFD27556E64DF68EB38234AA13770C733477CE8A39
+0B65A272D1DB66EBA12234F1AD36E0F2B0289820CEDCBDD4CC852F53207BED97
+CB93E853456D631D7DC397ED5A6ADF59E8D04756921A319E8A85DEE2FD175D86
+A5094BFFE6FF5BA43715E2E2941741E63570CF3489C7DDF94AE79A0021F76384
+6E76CA3C1AC552EE4B66DFD560EBDA38EF5E93DDA803BD06E2EE8003E2276790
+896D51B88E4FA90061EE472BECF58A133B35920E47BBA565727DFBEF612ED98E
+895C8936833C52C5703B5F79F58F4C3171F2071040881EEABBD9D4313F246856
+AFCCF15AA4A087A9483BD95C260BF5B59485B74E1E3E98F92505B0D27F46F832
+CD562D0649886F2CAD709585334B034F3C4B93692C0082EACFFBFF259ADAA6D1
+9F863393DC0C772B2A9230FDB5FF02E8F0B5C059DBAC8D8F75BE0B3650AFA3E4
+4292F1CF0A4AF45D9BD8856FF82D93AD77ECD217024A8F619A5B8667D286FA94
+587224B5CF48327FBA64FDEB58FEE11560EA78252F6F3E3520319090EDF0B565
+EECA2CB5FEAD5B42A95B19D4CF41BAC211CEE425FE833DC7F67146FA46AEEAFA
+2AC315DD3D7017B652AB372D6941E9AE38D8BF6F48F5032CC938C7F8AAC3ADA8
+ABAEDC939E982B4C92C666CB24A5242D5504A788338BC5663222F502094EBEC4
+007B13BB67213B30783987029BF3458DD1714F59421AAAD0C298519EA2A4F4E5
+38703C5CFFD13C621EB988C6EDEE218B5D5315164FBF0C41F32B5A48E50FF7F4
+B60B005B69ACA39396DA5969BFD468B28BEA77413E80A3F7027A31A81FCAC929
+108189FD78D3D3B6B22529ACDC418F7D8050A4DA3275FD84E7F2822325CD1E5B
+B0CD6685FA050D53B892CDD028FBE94BA9E2F1C61BD56DEFD7789C2BAAF164B4
+F8FBBF983001B91D0A667F94EE096CC9695C0F84B3BA9BCA6B50787EF1DDC483
+C5DEC8B12C00B19F9D1C680BBC3751E3F9C964F3302B4B9CECB9F6DBA34BEAA3
+CA2F39CC530488640FC1A7CC894E4AED03A08176F3AC15C3FA26FE85C9D9BAFB
+9F4CC02255074CCB951B7E878D7AB997737417BC010499D7F91610D5E2A67AC6
+F8D95510738B83B43DFF22C451A3096F758616FF223882017663DA7AB0AA0D87
+4CE2C31640489CB32EA91176D5C39531746330ADC7925AAEB086075BBFD5E9E2
+4D8967A73090B20310432A8D7FB3D0A756F6D73B36020F040E710792561FA99E
+3307619D6B65F1AE55F0B053FA8DE24D54619AA5ED9F0C1A7157AD8B9D97A142
+386DB15AC36D6CCF453C2EFA6A4615935D388250A11B296307A45B90D7E76BDA
+609198C8FA31C6E5CE1A1AEDD544CBE2D7C6FCEF1CA63BA2D57D2744578956FE
+D463214CEE5C154966E10F0A64E25DF25BE8538F9CDF5D480BD8004082070F38
+C88473561C641E815A6D94820D0CDE56829F0AAE4BE1315D360DEB4CB25B4FBF
+791999D4FA7206256B177D8450D50A32A7F806D89471EE96CC7E85356D2C1E35
+288B7FBC0036792A4E7DE77DEB347F2168B3BD9AFD31177AB5E4990957869944
+243087BC9F048C218368BD6C738832CEC99D7F31159A33026442ED4D27771E12
+BF02554203415B1877941037C72CB762B51471C79365C018D506AAD55464A248
+7EB6E55D9B0527CAC8A915BA84F4DAE556B427F48E3120142AED5705789C2708
+AE94395B1F7B875EFF7F19B9AB8AF28737FC304E32C8633625DAE96D1D732E29
+59879BACFBB15ABFE8A6EE1150AEB29713B428FFAFB619206D71FC382B1215EE
+759318C5CFEA9C0E5E8E3B7F47DE607B6F93C19AF28467568A3F373AEDC78AC0
+CE99A407D97154FD68220CA66F7D3EA77B323A7015FA9D9E8AC5927D0E7F4A4F
+1FC871BFA999EC749E09FE2AEB8220705B0AC8CB4DBBC409CEA6B47F98B67CED
+DED64869A1F9B3BCA0A85D66B1C27301DE7542FDEEAB005F2FB76CA066664B94
+968C3E637E055EFB165093574FB6EA732B959FE708C52FFEF012CC1117C85EF6
+56B97BA4B30322F7B3F1F95233A3C897E5316BB86E8C331FF1A858429E0D98FC
+DA67AA525C035606A8ABDBE35B742B53183CE047EA2CDE1C08EDF08E5355F694
+1C34925DB0D5314CC0B205F40775A500B76491789B90D4604D3545E2D7DAC1EA
+400B2CF72EADCE9C7409900ADD1C6057DBBD97D332F6435C0B91B14D081EBE01
+EC9230E6D12B6455E401CB100C7B3590D23CE094C79BE8266F1F24937448FEA7
+C74CE914AE8DFE853F3E068433A6DA96F156A0014C457040587BAE7DB4CAE2C0
+EC1FF60747BAFB376D5F87DB5CE2A8512453088742214C38F5B6E0D7644A0C1A
+F67087FA502BB43C27B32931D8315CB8A425341ABC3E7656588AB563E9CC456C
+E46CC1E57DD4B2A83CEE5FD154001568DB6AFBCEBE8FAA4458AFA35BF37E4C71
+1D112063753E5B66C8B4E801A5E46F6053C8B55A95086615D6601924A6633C4A
+C4D8EB0B7A5C8AA7E49FCFDC8182EEA53DB300AADBCA3836FC88A140A155C726
+54CA5DDD926DDD0C1555C26E30AAE25D1CA4A2478D0FDE0EC996A1399D5C0F69
+C349AAA9206B2554D7D6C68DA845053641E22B965314B6F28D69628FE8D5C243
+E978E6B81B3F916E722DBAF355B18812021267A9E3C324B3D9F6BCF7B5B50CC2
+D5B72D9DE9D485E103F25E1F42FF7BF040B3B6B5DFBB36BCD8E8B6379CA3198A
+7AEC551899A044FEE3CAAD9A2C3D839DD370C97C194D5A4F2815785E413A0597
+C61887CC4842988FBB321DCF73FB977402DA1E3D9EFAA176230295ABFD079DD9
+9B2D187B82BD7FCAFF1EA271FF74ED0210D616BCBB443800C9FCA4F467A19717
+DD0D36AD7CD6CBA51AEB15755E68789368851FAE22F39F3CBA9CA1DEFC304E17
+33BF87828DE7758DADAF45CB27CB0A64DEB8F4CCE7FF05CEB0E4E016B9675CA4
+E7E001E16FB153610F077EDE525873CE46E0A3997EF7F73D8DF38B916A8AF808
+93C2463BF8B9C5875B76FD983F00311BE872F5CDB5B1647508F422FBF2A56986
+6358FA3C232E7E6063C82F74823036BB7AF8F8D545D12D82B2195DCEC5969DF2
+0EE8CE3123CB3010FBEF3FCCD7F1920ACC42FFB593697B786E6A6F52E10C1A15
+208783D4280FC31CC679F9E4A00E684B74EF11900CCBF5554CFCE34B65A9A999
+68AB22E0A438B4DC1CBFC32755F7DC8FE58A7956C1BBBD29983200DDDAA59C5B
+4CE550F5E0AB048E98DA80BDEBA63ADD9DB6C7DC3A3F6E25C1FB6B638120925D
+C897B2C05C4179A0E48740439BEA3FFCD35C71B21ADFD7C8412706D3868C4BDE
+30F6B8CAE82D86AF842CFEDCAB3CF67BDF0AF7FCE6A0E7AD2D247446C38B2CF3
+26CD3D7E09F5CE2535283C43D04C9391C7A1CDFA6F2571F786A1F0189B9BAFCB
+AB1CDDF8190D7CE364F8FF8EBCBBD5F646C095CF27A34B7235566BFE8B012E01
+CC721A7B3FFD795A0EBAF81A8A0A7820B99E98166C1AF177B87446927CC0C239
+54BBAE855E9FBD704DE67917FABE3034A953930949AFCF79A59AD8A387CA1FA4
+58131723EB2935C02EBBE6F9554BDDBEA5EA55E3FD6BCF25DA52765D65054BB8
+4A5C2AD1312892297E1C45570F0622D145BE35C8758391F28C04B3AC4282D1AE
+084E080892C76C1B9C9F738760879908EC5B3A90DAB7A6538080A484E54B9FF0
+1C2885E93F1F16E52E0A3C9F6802E6345BBC5DBC5E7C57C85104427CA3182C7A
+54E95B22D149BFBA403CC8A960EC62EDABA1881F31B92C54DD21C96298A7703E
+E9D2DBA4B91A23C4E5F3D225A38C07818DA8C2F261D950FC8AB6042023248E37
+6BA0AE50B9A85F04EB48523143AE40695F127E34E070331620415B95A5ECB24F
+C46696AC6F75020F6322DFD03B42788C535DB541FEA6F846380E8F5800B7E060
+51A387FC9AAF598C88CEF209FA38E008D8707A34245EFB722BB373D7E6B1E6CF
+BDF2DBCE22FD2C85F78C4C4FC31F3C2F6B553C4295A1E26665BD166FFB7DF6BE
+A6E9D18FB735F2DA53138A4A4352B36A08B662528FE0237FF37FFF218D88F2EC
+50741BC5E98E856B17D8015869044657657BDB90D69A0FD5D5D0CF4A6A091E56
+938D444D0618D7B45C22F65E18B034282849355ACE83A188D164FA36367AE6C3
+35C775F72A89A4017A4071EAE1118B88C58CB1DE4E20EE1955BE0BFE8646CCF7
+05322E5566D14B5318A2328648CE7C1AC36B077D1A8AF17AC827E500B09FF496
+69CF7446403EF7B00C4F1832F1F6692B5FBACFA7FF9A719E5DDC8F25A798CEE9
+F4F114E522F00B7A415AFBCE48D09958DE98CAAF427FFDFD635A7ED5DCFD5F7B
+6D7AF2B5E78F4446753C8CE59F923D4728ACE448F35BF3FBBC8B2ABCF49432D3
+AA49924191FC8AFDAD01863EE8716B6D76A6512B40BDE9C18C7D321646539DB5
+A09047ACE1815F462E82DC593548CF68B78D52049AED0E44627779613BC02BCD
+2B5BDC8D2091271D44BA1362DE0E44E46CAA9D966D429848FA422A73061A12F2
+B1BE7A81533D810479F91C9656D3AB7F00B9332AB851743C0F25E32F37E943FA
+370B4EB25781068D8DFAAEC50CF86028610CDB59CEEC4AB547EB3908897AF9ED
+CA74EA35D2CA70A70BC83B0AC2E4A5E558098AE2B12EB42397CFCA0F9C9E15BC
+9431FB2F10224F22F0E191291110FC5E1313A99EA12B3E3318263AAD516BCF66
+C71C825091984E21010B29025E3FBDC518E8960AABEAE236F03611CAB6F87D03
+EF0DA8DAC4D2C58A9ABD40E592B2756FB21E4D7D2F2D3259F51CEB6BCBB1B4E2
+33BC3B474D779565D69F0FF19113A20553F85DFDB4FF9E175606240A7562B12D
+4B8B8F938AFDCFDAD721A64972573F6251D363FA971FDC41F2E02F7DF28C0AED
+EAD3A9CBBED541FA7E6AD7BEA83945118B83564782FBCEC5B466B96DA7809BFD
+A86907AA67FCC568533218DDB3D201301379A1B9EA8A32DE36B1F7F93F99F0BB
+FA3F4D002793063ADB685A8935EA4A5E549767853A6488C6DFC2E70B3A455D0A
+29E8F6FD949E810C0EC0F6F835DDD975EF68B4DA83F23A14945195248F667B32
+EF2F958253C7F5FD49AD7E545911E963D76006C57322D2CE2FF3F1DD1256152B
+3226C0CA03B72F409C91151FF59EC80C2B7431C656E94E19904AB842D63BC797
+1C6552AB4B265ABC2AA8B66096AEC22E778232043288EE0F60D6ABB319B9D2BD
+0FBF6F0BFFF5DEDC3A39AECD6821EDE1B213F7A2E6A7BA475389D647F663642D
+E4C5C3F0DE1C0030EE381006CB01B5E5947AE6E837DD2ADBFC967557A0182EDD
+16B10FE9BDD490CA0A3C351B025FC63A08D1415163EBD31ECEFC3F50586142BB
+205E41E1ECEC46CD2209D760D75E743AD13AF1E761A8B7F996ABCAEA43645546
+F42C87F6909258CC74419B96A39D6DA3233834894CC60B03F867B6ADAA2C18F6
+0040A9D8E70BAB12221217095DFC57117CDEB536FDA09E11787D4F7B448F88
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -6062,7 +6062,7 @@ D05087746F3EF6595180C4480008CFEF2F0AB926519BA31392E3A84A07F2C0B8
cleartomark
{restore}if
%%EndFont
-TeXDict begin 39158280 55380996 1000 600 600 (libtasn1.dvi)
+TeXDict begin 40258431 52099146 1000 600 600 (libtasn1.dvi)
@start /Fa 197[21 58[{}1 74.7198 /CMMI9 rf /Fb 134[41
2[41 43 30 30 30 1[43 38 43 64 21 2[21 43 38 23 34 43
34 43 38 11[58 1[43 2[52 1[58 70 48 3[58 60 50 1[59 55
@@ -6070,78 +6070,80 @@ TeXDict begin 39158280 55380996 1000 600 600 (libtasn1.dvi)
12[{}45 74.7198 /CMR9 rf /Fc 134[39 3[39 39 39 39 2[39
39 39 39 2[39 39 2[39 3[39 97[{}13 74.7198 /CMSLTT10
rf /Fd 134[39 39 39 39 39 39 39 39 1[39 39 39 39 39 39
-1[39 39 39 39 39 39 39 39 39 39 39 8[39 39 39 39 2[39
+39 39 39 39 39 39 39 39 39 39 39 39 8[39 39 39 39 2[39
1[39 1[39 2[39 1[39 39 39 39 39 39 39 5[39 7[39 39 39
-1[39 39 39 39 2[39 39 39 39[{}51 74.7198 /CMTT9 rf /Fe
+1[39 39 39 39 2[39 39 39 39[{}52 74.7198 /CMTT9 rf /Fe
133[40 4[51 35 36 39 3[51 76 25 2[25 1[45 1[42 51 40
1[44 7[69 3[70 63 51 69 2[68 71 86 55 2[36 71 71 1[60
-70 66 65 69 6[25 58[{}32 90.9091 /CMB10 rf /Ff 133[52
-52 52 1[52 52 52 52 52 52 52 52 52 52 52 1[52 52 1[52
-52 52 52 52 52 52 1[52 8[52 7[52 7[52 52 52 68[{}29 99.6264
-/CMSLTT10 rf /Fg 133[40 48 48 1[48 51 35 36 36 48 51
-45 51 76 25 1[28 25 51 45 28 40 51 40 51 45 10[68 7[68
-1[57 2[33 2[59 62 69 18[45 4[25 1[45 28[51 51 12[{}36
-90.9091 /CMSL10 rf /Fh 214[35 35 40[{}2 90.9091 /CMSS10
-rf /Fi 134[52 52 52 52 52 52 52 52 1[52 52 52 52 52 52
-52 52 52 52 52 52 52 52 52 52 1[52 25[52 18[52 52 6[52
-42[{}29 99.6264 /CMTT10 rf /Fj 134[65 65 89 65 68 48
-48 50 1[68 61 68 102 34 65 37 34 68 61 37 56 68 55 68
-60 27[81 18[61 61 36[68 12[{}28 109.091 /CMBX12 rf /Fk
-130[48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 1[48 1[48 48 48 48
+70 66 65 69 6[25 58[{}32 90.9091 /CMB10 rf /Ff 133[40
+48 48 1[48 51 35 36 36 48 51 45 51 76 25 1[28 25 1[45
+28 40 51 40 51 45 10[68 7[68 7[59 62 69 54[51 51 12[{}30
+90.9091 /CMSL10 rf /Fg 133[52 52 52 1[52 52 52 52 52
+52 52 52 52 52 52 1[52 52 1[52 52 52 52 52 52 52 1[52
+8[52 7[52 7[52 52 52 68[{}29 99.6264 /CMSLTT10 rf /Fh
+137[53 55 39 39 39 2[50 55 1[28 2[28 55 50 1[44 55 44
+1[50 20[62 2[36 2[65 68 19[50 4[28 1[50 42[{}22 99.6264
+/CMSL10 rf /Fi 214[35 35 40[{}2 90.9091 /CMSS10 rf /Fj
+134[52 52 52 52 52 52 52 52 1[52 52 52 52 52 52 52 52
+52 52 52 52 52 52 52 52 1[52 25[52 18[52 52 6[52 42[{}29
+99.6264 /CMTT10 rf /Fk 134[65 65 89 65 68 48 48 50 1[68
+61 68 102 34 65 37 34 68 61 37 56 68 55 68 60 27[81 18[61
+61 36[68 12[{}28 109.091 /CMBX12 rf /Fl 130[48 1[48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 1[48 1[48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 1[48 48 48 48 48 48 1[48 48 48 48
-48 48 48 48 1[48 48 48 48 48 48 48 48 48 2[48 1[48 34[{}83
-90.9091 /CMTT10 rf /Fl 197[25 58[{}1 90.9091 /CMMI10
-rf /Fm 197[33 58[{}1 119.552 /CMMI12 rf /Fn 134[85 85
-2[90 63 64 66 1[90 81 90 134 45 2[45 90 81 49 74 90 72
-90 78 11[124 112 90 4[126 4[60 2[101 1[124 117 1[122
-12[81 81 81 81 2[45 46[{}34 143.462 /CMBX12 rf /Fo 240[45
-1[91 13[{}2 90.9091 /CMSY10 rf /Fp 138[62 62 62 62 1[62
-62 62 1[62 2[62 62 62 1[62 2[62 62 32[62 14[62 2[62 62
-45[{}18 119.552 /CMTT12 rf /Fq 134[71 71 97 71 75 52
-53 55 1[75 67 75 112 37 71 1[37 75 67 41 61 75 60 75
-65 11[103 94 75 100 1[92 1[105 128 81 1[69 50 105 106
-85 88 103 97 1[102 6[37 2[67 1[67 67 67 67 67 67 1[37
-4[52 52 27[75 12[{}52 119.552 /CMBX12 rf /Fr 131[91 1[40
-48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25 51
-45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93 68 68
-66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62 69 66
-64 68 1[43 1[71 1[25 25 45 45 45 45 45 45 45 45 45 45
-45 25 30 25 1[45 35 35 25 2[45 1[45 25 19[51 51 53 11[{}85
-90.9091 /CMR10 rf /Fs 139[75 76 4[108 4[54 6[108 94 20[116
-26[97 49[{}8 172.154 /CMBX12 rf end
+48 48 1[48 48 48 48 48 48 1[48 48 48 48 48 48 48 48 1[48
+48 48 48 48 48 48 48 48 2[48 1[48 34[{}83 90.9091 /CMTT10
+rf /Fm 197[25 58[{}1 90.9091 /CMMI10 rf /Fn 197[33 58[{}1
+119.552 /CMMI12 rf /Fo 134[85 85 2[90 63 64 66 1[90 81
+90 134 45 2[45 90 81 49 74 90 72 90 78 11[124 112 90
+4[126 4[60 2[101 1[124 117 1[122 12[81 81 81 81 2[45
+46[{}34 143.462 /CMBX12 rf /Fp 240[45 1[91 13[{}2 90.9091
+/CMSY10 rf /Fq 138[62 62 62 62 1[62 62 62 1[62 2[62 62
+62 1[62 2[62 62 32[62 14[62 2[62 62 45[{}18 119.552 /CMTT12
+rf /Fr 134[71 71 97 71 75 52 53 55 1[75 67 75 112 37
+71 1[37 75 67 41 61 75 60 75 65 11[103 94 75 100 1[92
+1[105 128 81 1[69 50 105 106 85 88 103 97 1[102 6[37
+1[67 2[67 67 67 67 67 2[37 4[52 52 27[75 12[{}51 119.552
+/CMBX12 rf /Fs 131[91 1[40 48 48 66 48 51 35 36 36 48
+51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 45 25 2[25
+45 25 56 68 68 93 68 68 66 51 67 71 62 71 68 83 57 71
+47 33 68 71 59 62 69 66 64 68 1[43 1[71 1[25 25 45 45
+45 45 45 45 45 45 45 45 45 25 30 25 1[45 35 35 25 2[45
+1[45 25 19[51 51 53 11[{}85 90.9091 /CMR10 rf /Ft 139[75
+76 4[108 4[54 6[108 94 20[116 26[97 49[{}8 172.154 /CMBX12
+rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
-%%BeginPaperSize: a4
+%%BeginPaperSize: Letter
/setpagedevice where
-{ pop << /PageSize [595 842] >> setpagedevice }
-{ /a4 where { pop a4 } if }
+{ pop << /PageSize [612 792] >> setpagedevice }
+{ /letter where { pop letter } if }
ifelse
%%EndPaperSize
end
%%EndSetup
%%Page: 1 1
-TeXDict begin 1 0 bop 150 1318 a Fs(Libtasn1)p 150 1385
-3600 34 v 1035 1486 a Fr(Abstract)31 b(Syn)m(tax)f(Notation)j(One)d
-(\(ASN.1\))h(library)f(for)g(the)h(GNU)g(system)2592
-1594 y(for)f(v)m(ersion)h(4.13,)h(4)f(April)f(2016)150
-4795 y Fq(F)-11 b(abio)45 b(Fiorina)150 4928 y(Simon)g(Josefsson)150
-5061 y(Nik)l(os)h(Ma)l(vrogiannop)t(oulos)g(\()p Fp(help-libtasn1@)o
-(gn)o(u.o)o(rg)o Fq(\))p 150 5141 3600 17 v eop end
+TeXDict begin 1 0 bop 150 1318 a Ft(Libtasn1)p 150 1385
+3600 34 v 1035 1486 a Fs(Abstract)31 b(Syn)m(tax)f(Notation)j(One)d
+(\(ASN.1\))h(library)f(for)g(the)h(GNU)g(system)2499
+1594 y(for)f(v)m(ersion)h(4.14,)h(29)f(Marc)m(h)g(2019)150
+4779 y Fr(F)-11 b(abio)45 b(Fiorina)150 4920 y(Simon)g(Josefsson)150
+5061 y(Nik)l(os)h(Ma)l(vrogiannop)t(oulos)g(\()p Fq(help-libtasn1@)o
+(gn)o(u.o)o(rg)o Fr(\))p 150 5141 3600 17 v eop end
%%Page: 2 2
-TeXDict begin 2 1 bop 150 4523 a Fr(This)21 b(man)m(ual)i(is)f(for)g
-(GNU)h(Libtasn1)g(\(v)m(ersion)g(4.13,)j(4)c(April)g(2016\),)k(whic)m
-(h)c(is)h(a)f(library)g(for)g(Abstract)150 4633 y(Syn)m(tax)31
-b(Notation)h(One)e(\(ASN.1\))h(and)f(Distinguished)h(Enco)s(ding)e
-(Rules)i(\(DER\))g(manipulation.)150 4767 y(Cop)m(yrigh)m(t)602
-4764 y(c)577 4767 y Fo(\015)f Fr(2001-2015)k(F)-8 b(ree)32
-b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(Inc.)390 4902
-y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
-b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
-(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
+TeXDict begin 2 1 bop 150 4413 a Fs(This)40 b(man)m(ual)h(is)f(for)g
+(GNU)i(Libtasn1)e(\(v)m(ersion)i(4.14,)i(29)e(Marc)m(h)f(2019\),)k
+(whic)m(h)c(is)f(a)h(library)f(for)150 4523 y(Abstract)32
+b(Syn)m(tax)f(Notation)j(One)d(\(ASN.1\))h(and)f(Distinguished)g(Enco)s
+(ding)g(Rules)g(\(DER\))h(manip-)150 4633 y(ulation.)150
+4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767 y Fp(\015)e
+Fs(2001-2019)k(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8
+b(oundation,)32 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h
+(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s
+(cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
@@ -6152,98 +6154,99 @@ b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390
5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8
b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end
%%Page: -1 3
-TeXDict begin -1 2 bop 3725 -116 a Fr(i)150 299 y Fn(T)-13
-b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fq(1)135 b(In)l(tro)t
-(duction)13 b Fm(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)h(:)57 b Fq(1)150 911 y(2)135 b(ASN.1)45
-b(structure)g(handling)16 b Fm(:)j(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)61 b Fq(2)275
-1048 y Fr(2.1)92 b(ASN.1)30 b(syn)m(tax)20 b Fl(:)c(:)g(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)50 b Fr(2)275 1157
-y(2.2)92 b(Naming)18 b Fl(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)48 b Fr(3)275
-1267 y(2.3)92 b(Simple)30 b(parsing)21 b Fl(:)15 b(:)g(:)h(:)f(:)g(:)h
+TeXDict begin -1 2 bop 3725 -116 a Fs(i)150 299 y Fo(T)-13
+b(able)53 b(of)h(Con)l(ten)l(ts)150 649 y Fr(1)135 b(In)l(tro)t
+(duction)31 b Fn(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)h(:)f(:)g(:)44 b Fr(1)150 927 y(2)135 b(ASN.1)45
+b(structure)g(handling)34 b Fn(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)47
+b Fr(2)275 1064 y Fs(2.1)92 b(ASN.1)30 b(syn)m(tax)8
+b Fm(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)22
+b Fs(2)275 1174 y(2.2)92 b(Naming)26 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)40
+b Fs(3)275 1284 y(2.3)92 b(Simple)30 b(parsing)9 b Fm(:)15
+b(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)51 b Fr(4)275 1377 y(2.4)92
-b(Library)29 b(Notes)18 b Fl(:)f(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)48 b Fr(4)275 1486 y(2.5)92 b(F)-8 b(uture)30
-b(dev)m(elopmen)m(ts)22 b Fl(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)23
+b Fs(4)275 1393 y(2.4)92 b(Library)29 b(Notes)f Fm(:)15
+b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)40
+b Fs(4)275 1503 y(2.5)92 b(F)-8 b(uture)30 b(dev)m(elopmen)m(ts)10
+b Fm(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)23 b Fs(4)150
+1753 y Fr(3)135 b(Utilities)36 b Fn(:)20 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)47
+b Fr(5)275 1890 y Fs(3.1)92 b(In)m(v)m(oking)31 b(asn1P)m(arser)24
+b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)52
-b Fr(4)150 1729 y Fq(3)135 b(Utilities)16 b Fm(:)22 b(:)d(:)h(:)f(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
-(:)h(:)60 b Fq(5)275 1866 y Fr(3.1)92 b(In)m(v)m(oking)31
-b(asn1P)m(arser)15 b Fl(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)45
-b Fr(5)275 1975 y(3.2)92 b(In)m(v)m(oking)31 b(asn1Co)s(ding)19
-b Fl(:)c(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)49 b Fr(5)275 2085
-y(3.3)92 b(In)m(v)m(oking)31 b(asn1Deco)s(ding)17 b Fl(:)f(:)g(:)f(:)g
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)37 b Fs(5)275
+2000 y(3.2)92 b(In)m(v)m(oking)31 b(asn1Co)s(ding)26
+b Fm(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b Fs(5)275 2110
+y(3.3)92 b(In)m(v)m(oking)31 b(asn1Deco)s(ding)26 b Fm(:)16
+b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)47 b Fr(6)150 2327 y Fq(4)135 b(F)-11 b(unction)44
-b(reference)21 b Fm(:)g(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)66
-b Fq(7)275 2464 y Fr(4.1)92 b(ASN.1)30 b(sc)m(hema)i(functions)13
-b Fl(:)i(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)44 b Fr(7)275 2574 y(4.2)92 b(ASN.1)30
-b(\014eld)g(functions)12 b Fl(:)k(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
+h(:)f(:)h(:)f(:)g(:)39 b Fs(6)150 2360 y Fr(4)135 b(F)-11
+b(unction)44 b(reference)13 b Fn(:)20 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)h(:)f(:)26 b Fr(8)275 2497 y Fs(4.1)92 b(ASN.1)30
+b(sc)m(hema)i(functions)22 b Fm(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)35
+b Fs(8)275 2607 y(4.2)92 b(ASN.1)30 b(\014eld)g(functions)21
+b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)34 b Fs(8)275 2716
+y(4.3)92 b(DER)30 b(functions)25 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)38 b Fs(15)275 2826 y(4.4)92 b(Error)29
+b(handling)h(functions)12 b Fm(:)j(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)43
-b Fr(7)275 2683 y(4.3)92 b(DER)30 b(functions)17 b Fl(:)e(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)46 b Fr(14)275 2793
-y(4.4)92 b(Error)29 b(handling)h(functions)23 b Fl(:)16
-b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)54 b Fr(20)275 2902 y(4.5)92 b(Auxilliary)31
-b(functions)19 b Fl(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)48
-b Fr(21)150 3145 y Fq(App)t(endix)c(A)160 b(Cop)l(ying)45
-b(Information)25 b Fm(:)c(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
-(:)70 b Fq(22)275 3282 y Fr(A.1)91 b(GNU)31 b(F)-8 b(ree)32
-b(Do)s(cumen)m(tation)g(License)21 b Fl(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)51 b Fr(22)150 3524 y Fq(Concept)45 b(Index)18
-b Fm(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)h(:)f(:)63 b Fq(30)150 3794 y(F)-11 b(unction)44 b(and)h(Data)h
-(Index)24 b Fm(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)69 b Fq(31)p
-eop end
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)25 b Fs(22)275
+2936 y(4.5)92 b(Auxilliary)31 b(functions)26 b Fm(:)16
+b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)40 b Fs(23)150 3186 y Fr(App)t(endix)k(A)
+119 b(Cop)l(ying)46 b(Information)11 b Fn(:)20 b(:)g(:)f(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)24 b Fr(24)275 3323 y
+Fs(A.1)91 b(GNU)31 b(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)10
+b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)23
+b Fs(24)150 3574 y Fr(Concept)45 b(Index)36 b Fn(:)19
+b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
+h(:)49 b Fr(32)150 3852 y(F)-11 b(unction)44 b(and)h(Data)h(Index)16
+b Fn(:)j(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)29 b Fr(33)p eop
+end
%%Page: 1 4
-TeXDict begin 1 3 bop 150 -116 a Fr(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(1)150 299 y Fn(1)80 b(In)l(tro)t(duction)
-150 533 y Fr(This)27 b(do)s(cumen)m(t)h(describ)s(es)g(the)g(Libtasn1)g
-(library)g(that)h(pro)m(vides)f(Abstract)h(Syn)m(tax)f(Notation)i(One)
-150 643 y(\(ASN.1,)42 b(as)c(sp)s(eci\014ed)g(b)m(y)h(the)f(X.680)i
-(ITU-T)f(recommendation\))g(parsing)f(and)g(structures)g(man-)150
-752 y(agemen)m(t,)g(and)c(Distinguished)h(Enco)s(ding)f(Rules)h(\(DER,)
-g(as)g(p)s(er)f(X.690\))j(enco)s(ding)e(and)f(deco)s(ding)150
-862 y(functions.)275 996 y(The)29 b(main)i(features)f(of)h(this)f
-(library)g(are:)225 1131 y Fo(\017)60 b Fr(On-line)30
+TeXDict begin 1 3 bop 3705 -116 a Fs(1)150 299 y Fo(1)80
+b(In)l(tro)t(duction)150 533 y Fs(This)27 b(do)s(cumen)m(t)h(describ)s
+(es)g(the)g(Libtasn1)g(library)g(that)h(pro)m(vides)f(Abstract)h(Syn)m
+(tax)f(Notation)i(One)150 643 y(\(ASN.1,)42 b(as)c(sp)s(eci\014ed)g(b)m
+(y)h(the)f(X.680)i(ITU-T)f(recommendation\))g(parsing)f(and)g
+(structures)g(man-)150 752 y(agemen)m(t,)g(and)c(Distinguished)h(Enco)s
+(ding)f(Rules)h(\(DER,)g(as)g(p)s(er)f(X.690\))j(enco)s(ding)e(and)f
+(deco)s(ding)150 862 y(functions.)275 996 y(The)29 b(main)i(features)f
+(of)h(this)f(library)g(are:)225 1131 y Fp(\017)60 b Fs(On-line)30
b(ASN.1)h(structure)f(managemen)m(t)i(that)f(do)s(esn't)f(require)g(an)
-m(y)h(C)f(co)s(de)g(\014le)h(generation.)225 1265 y Fo(\017)60
-b Fr(O\013-line)30 b(ASN.1)f(structure)g(managemen)m(t)h(with)f(C)g(co)
+m(y)h(C)f(co)s(de)g(\014le)h(generation.)225 1265 y Fp(\017)60
+b Fs(O\013-line)30 b(ASN.1)f(structure)g(managemen)m(t)h(with)f(C)g(co)
s(de)g(\014le)h(generation)g(con)m(taining)h(an)e(arra)m(y)-8
-b(.)225 1400 y Fo(\017)60 b Fr(Distinguished)30 b(Enco)s(ding)g(Rules)g
-(\(DER\))i(enco)s(ding)e(supp)s(ort.)225 1534 y Fo(\017)60
-b Fr(No)31 b(limits)g(for)f(INTEGER)g(and)g(ENUMERA)-8
-b(TED)31 b(v)-5 b(alues.)225 1669 y Fo(\017)60 b Fr(It's)36
+b(.)225 1400 y Fp(\017)60 b Fs(Distinguished)30 b(Enco)s(ding)g(Rules)g
+(\(DER\))i(enco)s(ding)e(supp)s(ort.)225 1534 y Fp(\017)60
+b Fs(No)31 b(limits)g(for)f(INTEGER)g(and)g(ENUMERA)-8
+b(TED)31 b(v)-5 b(alues.)225 1669 y Fp(\017)60 b Fs(It's)36
b(F)-8 b(ree)38 b(Soft)m(w)m(are.)59 b(An)m(yb)s(o)s(dy)35
b(can)h(use,)i(mo)s(dify)-8 b(,)38 b(and)d(redistribute)h(the)g
(library)g(under)f(the)330 1778 y(terms)g(of)f(the)h(GNU)h(Lesser)e
@@ -6251,188 +6254,186 @@ b(can)h(use,)i(mo)s(dify)-8 b(,)38 b(and)d(redistribute)h(the)g
b(The)34 b(command)330 1888 y(line)23 b(to)s(ols,)j(self-tests)e(and)e
(build)g(infrastructure)f(are)j(licensed)f(under)e(the)i(GNU)h(General)
f(Public)330 1998 y(License)31 b(v)m(ersion)g(3.0)g(or)g(later.)225
-2132 y Fo(\017)60 b Fr(Thread-safet)m(y)-8 b(.)56 b(No)36
+2132 y Fp(\017)60 b Fs(Thread-safet)m(y)-8 b(.)56 b(No)36
b(global)g(v)-5 b(ariables)36 b(are)f(used)g(and)f(m)m(ultiple)i
(library)f(handles)f(and)h(session)330 2242 y(handles)30
-b(ma)m(y)h(b)s(e)e(used)h(in)g(parallel.)225 2376 y Fo(\017)60
-b Fr(P)m(ortabilit)m(y)-8 b(.)54 b(The)33 b(co)s(de)h(should)f(w)m(ork)
+b(ma)m(y)h(b)s(e)e(used)h(in)g(parallel.)225 2376 y Fp(\017)60
+b Fs(P)m(ortabilit)m(y)-8 b(.)54 b(The)33 b(co)s(de)h(should)f(w)m(ork)
h(on)g(all)g(Unix)g(lik)m(e)h(op)s(erating)f(systems,)h(and)f(Windo)m
(ws.)330 2486 y(The)c(library)g(itself)h(should)e(b)s(e)h(p)s(ortable)h
(to)g(an)m(y)f(C89)h(system,)g(not)g(ev)m(en)g(POSIX)e(is)h(required.)p
eop end
%%Page: 2 5
-TeXDict begin 2 4 bop 150 -116 a Fr(Chapter)30 b(2:)41
-b(ASN.1)31 b(structure)f(handling)2068 b(2)150 299 y
-Fn(2)80 b(ASN.1)53 b(structure)f(handling)150 632 y Fq(2.1)68
-b(ASN.1)45 b(syn)l(tax)150 792 y Fr(The)30 b(parser)f(is)h(case)h
+TeXDict begin 2 4 bop 3705 -116 a Fs(2)150 299 y Fo(2)80
+b(ASN.1)53 b(structure)f(handling)150 639 y Fr(2.1)68
+b(ASN.1)45 b(syn)l(tax)150 798 y Fs(The)30 b(parser)f(is)h(case)h
(sensitiv)m(e.)42 b(The)30 b(commen)m(ts)h(b)s(egin)e(with)h
-Fk(--)g Fr(and)f(end)h(either)g(with)g(another)g Fk(--)p
-Fr(,)150 901 y(or)35 b(at)h(the)g(end)f(of)g(the)h(resp)s(ectiv)m(e)g
+Fl(--)g Fs(and)f(end)h(either)g(with)g(another)g Fl(--)p
+Fs(,)150 908 y(or)35 b(at)h(the)g(end)f(of)g(the)h(resp)s(ectiv)m(e)g
(line,)h(whic)m(hev)m(er)f(comes)h(\014rst.)55 b(The)34
-b(C-st)m(yle)j Fk(/*)p Fr(,)f Fk(*/)f Fr(commen)m(ts)150
-1011 y(are)c(not)f(supp)s(orted.)275 1146 y(F)-8 b(or)31
+b(C-st)m(yle)j Fl(/*)p Fs(,)f Fl(*/)f Fs(commen)m(ts)150
+1018 y(are)c(not)f(supp)s(orted.)275 1152 y(F)-8 b(or)31
b(an)f(example)h(of)g(the)f(syn)m(tax,)h(c)m(hec)m(k)h(the)f
-Fk(pkix.asn)d Fr(\014le)i(distributed)g(with)g(the)g(library)-8
-b(.)275 1280 y(ASN.1)30 b(de\014nitions)g(m)m(ust)h(follo)m(w)g(the)g
-(syn)m(tax)g(b)s(elo)m(w:)436 1415 y Fk(definitions_name)44
-b({<object)h(definition>})436 1634 y(DEFINITIONS)g(<EXPLICIT)g(or)j
-(IMPLICIT>)d(TAGS)h(::=)436 1854 y(BEGIN)436 2073 y(<type)h(and)g
-(constants)e(definitions>)436 2292 y(END)275 2427 y Fr(The)39
-b Fk(::=)g Fr(tok)m(en)i(m)m(ust)f(b)s(e)f(separate)i(from)f(other)g
+Fl(pkix.asn)d Fs(\014le)i(distributed)g(with)g(the)g(library)-8
+b(.)275 1286 y(ASN.1)30 b(de\014nitions)g(m)m(ust)h(follo)m(w)g(the)g
+(syn)m(tax)g(b)s(elo)m(w:)436 1421 y Fl(definitions_name)44
+b({<object)h(definition>})436 1640 y(DEFINITIONS)g(<EXPLICIT)g(or)j
+(IMPLICIT>)d(TAGS)h(::=)436 1859 y(BEGIN)436 2078 y(<type)h(and)g
+(constants)e(definitions>)436 2298 y(END)275 2432 y Fs(The)39
+b Fl(::=)g Fs(tok)m(en)i(m)m(ust)f(b)s(e)f(separate)i(from)f(other)g
(elemen)m(ts,)k(so)c(the)g(follo)m(wing)h(declaration)h(is)150
-2536 y(in)m(v)-5 b(alid:)533 2671 y Fk(--)47 b(INCORRECT)533
-2781 y(Version)f(::=INTEGER)275 2916 y Fr(The)29 b(correct)j(form)e
-(is:)533 3050 y Fk(Version)46 b(::=)h(INTEGER)275 3185
-y Fr(Here)30 b(is)h(the)f(list)h(of)g(t)m(yp)s(es)f(that)h(the)g
-(parser)f(can)g(manage:)225 3320 y Fo(\017)60 b Fk(INTEGER)p
-Fr(;)225 3455 y Fo(\017)g Fk(ENUMERATED)p Fr(;)225 3589
-y Fo(\017)g Fk(BOOLEAN)p Fr(;)225 3724 y Fo(\017)g Fk(OBJECT)29
-b(IDENTIFIER)p Fr(;)225 3859 y Fo(\017)60 b Fk(NULL)p
-Fr(;)225 3993 y Fo(\017)g Fk(BIT)29 b(STRING)p Fr(;)225
-4128 y Fo(\017)60 b Fk(OCTET)29 b(STRING)p Fr(;)225 4263
-y Fo(\017)60 b Fk(UTCTime)p Fr(;)225 4397 y Fo(\017)g
-Fk(GeneralizedTime)p Fr(;)225 4532 y Fo(\017)g Fk(GeneralString)p
-Fr(;)225 4667 y Fo(\017)g Fk(NumericString)p Fr(;)225
-4801 y Fo(\017)g Fk(IA5String)p Fr(;)225 4936 y Fo(\017)g
-Fk(TeletexString)p Fr(;)225 5071 y Fo(\017)g Fk(PrintableString)p
-Fr(;)225 5205 y Fo(\017)g Fk(UniversalString)p Fr(;)225
-5340 y Fo(\017)g Fk(BMPString)p Fr(;)p eop end
+2542 y(in)m(v)-5 b(alid:)533 2676 y Fl(--)47 b(INCORRECT)533
+2786 y(Version)f(::=INTEGER)275 2920 y Fs(The)29 b(correct)j(form)e
+(is:)533 3054 y Fl(Version)46 b(::=)h(INTEGER)275 3189
+y Fs(Here)30 b(is)h(the)f(list)h(of)g(t)m(yp)s(es)f(that)h(the)g
+(parser)f(can)g(manage:)225 3323 y Fp(\017)60 b Fl(INTEGER)p
+Fs(;)225 3458 y Fp(\017)g Fl(ENUMERATED)p Fs(;)225 3592
+y Fp(\017)g Fl(BOOLEAN)p Fs(;)225 3727 y Fp(\017)g Fl(OBJECT)29
+b(IDENTIFIER)p Fs(;)225 3861 y Fp(\017)60 b Fl(NULL)p
+Fs(;)225 3996 y Fp(\017)g Fl(BIT)29 b(STRING)p Fs(;)225
+4130 y Fp(\017)60 b Fl(OCTET)29 b(STRING)p Fs(;)225 4264
+y Fp(\017)60 b Fl(UTCTime)p Fs(;)225 4399 y Fp(\017)g
+Fl(GeneralizedTime)p Fs(;)225 4533 y Fp(\017)g Fl(GeneralString)p
+Fs(;)225 4668 y Fp(\017)g Fl(NumericString)p Fs(;)225
+4802 y Fp(\017)g Fl(IA5String)p Fs(;)225 4937 y Fp(\017)g
+Fl(TeletexString)p Fs(;)225 5071 y Fp(\017)g Fl(PrintableString)p
+Fs(;)225 5206 y Fp(\017)g Fl(UniversalString)p Fs(;)225
+5340 y Fp(\017)g Fl(BMPString)p Fs(;)p eop end
%%Page: 3 6
-TeXDict begin 3 5 bop 150 -116 a Fr(Chapter)30 b(2:)41
+TeXDict begin 3 5 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(ASN.1)31 b(structure)f(handling)2068 b(3)225 299 y
-Fo(\017)60 b Fk(UTF8String)p Fr(;)225 437 y Fo(\017)g
-Fk(VisibleString)p Fr(;)225 576 y Fo(\017)g Fk(SEQUENCE)p
-Fr(;)225 714 y Fo(\017)g Fk(SEQUENCE)28 b(OF)p Fr(;)225
-853 y Fo(\017)60 b Fk(SET)p Fr(;)225 992 y Fo(\017)g
-Fk(SET)29 b(OF)p Fr(;)225 1130 y Fo(\017)60 b Fk(CHOICE)p
-Fr(;)225 1269 y Fo(\017)g Fk(ANY)p Fr(;)225 1407 y Fo(\017)g
-Fk(ANY)29 b(DEFINED)g(BY)p Fr(.)275 1579 y(This)42 b(v)m(ersion)j(do)s
-(esn't)e(handle)g(the)h Fk(REAL)f Fr(t)m(yp)s(e.)81 b(It)44
-b(do)s(esn't)f(supp)s(ort)f(the)i Fk(AUTOMATIC)28 b(TAGS)150
-1688 y Fr(option,)j(and)f(the)g Fk(EXPORT)f Fr(and)h
-Fk(IMPORT)f Fr(sections,)i(either.)275 1831 y(The)e Fk(SIZE)h
-Fr(constrain)m(ts)h(are)g(allo)m(w)m(ed,)h(but)e(no)g(c)m(hec)m(k)i(is)
-f(done)f(on)g(them.)150 2075 y Fq(2.2)68 b(Naming)150
-2235 y Fr(Consider)30 b(this)g(de\014nition:)436 2377
-y Fk(Example)46 b({)i(1)f(2)h(3)f(4)g(})436 2597 y(DEFINITIONS)e
-(EXPLICIT)h(TAGS)g(::=)436 2816 y(BEGIN)436 3035 y(Group)h(::=)g
-(SEQUENCE)e({)580 3145 y(id)142 b(OBJECT)46 b(IDENTIFIER,)580
-3254 y(value)94 b(Value)436 3364 y(})436 3583 y(Value)47
-b(::=)g(SEQUENCE)e({)580 3692 y(value1)93 b(INTEGER,)580
-3802 y(value2)g(BOOLEAN)436 3912 y(})436 4131 y(END)275
-4273 y Fr(The)68 b(notation)j(to)f(access)g(the)g(`)p
-Fk(Group)p Fr(')e(t)m(yp)s(e)i(of)f(the)h(`)p Fk(Example)p
-Fr(')d(de\014nition)i(ab)s(o)m(v)m(e)i(is)150 4383 y(`)p
-Fk(Example.Group)p Fr(')40 b(\(as)j(a)g(NUL-terminated)h(string.\))78
+Fp(\017)60 b Fl(UTF8String)p Fs(;)225 437 y Fp(\017)g
+Fl(VisibleString)p Fs(;)225 575 y Fp(\017)g Fl(SEQUENCE)p
+Fs(;)225 714 y Fp(\017)g Fl(SEQUENCE)28 b(OF)p Fs(;)225
+852 y Fp(\017)60 b Fl(SET)p Fs(;)225 990 y Fp(\017)g
+Fl(SET)29 b(OF)p Fs(;)225 1128 y Fp(\017)60 b Fl(CHOICE)p
+Fs(;)225 1267 y Fp(\017)g Fl(ANY)p Fs(;)225 1405 y Fp(\017)g
+Fl(ANY)29 b(DEFINED)g(BY)p Fs(.)275 1576 y(This)42 b(v)m(ersion)j(do)s
+(esn't)e(handle)g(the)h Fl(REAL)f Fs(t)m(yp)s(e.)81 b(It)44
+b(do)s(esn't)f(supp)s(ort)f(the)i Fl(AUTOMATIC)28 b(TAGS)150
+1685 y Fs(option,)j(and)f(the)g Fl(EXPORT)f Fs(and)h
+Fl(IMPORT)f Fs(sections,)i(either.)275 1827 y(The)e Fl(SIZE)h
+Fs(constrain)m(ts)h(are)g(allo)m(w)m(ed,)h(but)e(no)g(c)m(hec)m(k)i(is)
+f(done)f(on)g(them.)150 2079 y Fr(2.2)68 b(Naming)150
+2239 y Fs(Consider)30 b(this)g(de\014nition:)436 2381
+y Fl(Example)46 b({)i(1)f(2)h(3)f(4)g(})436 2600 y(DEFINITIONS)e
+(EXPLICIT)h(TAGS)g(::=)436 2819 y(BEGIN)436 3038 y(Group)h(::=)g
+(SEQUENCE)e({)580 3148 y(id)142 b(OBJECT)46 b(IDENTIFIER,)580
+3257 y(value)94 b(Value)436 3367 y(})436 3586 y(Value)47
+b(::=)g(SEQUENCE)e({)580 3696 y(value1)93 b(INTEGER,)580
+3805 y(value2)g(BOOLEAN)436 3915 y(})436 4134 y(END)275
+4276 y Fs(The)68 b(notation)j(to)f(access)g(the)g(`)p
+Fl(Group)p Fs(')e(t)m(yp)s(e)i(of)f(the)h(`)p Fl(Example)p
+Fs(')d(de\014nition)i(ab)s(o)m(v)m(e)i(is)150 4386 y(`)p
+Fl(Example.Group)p Fs(')40 b(\(as)j(a)g(NUL-terminated)h(string.\))78
b(Suc)m(h)42 b(strings)h(are)g(used)f(in)g(the)h(functions)150
-4493 y(describ)s(ed)29 b(b)s(elo)m(w.)275 4635 y(Others)g(examples:)225
-4778 y Fo(\017)60 b Fr(\014eld)30 b(`)p Fk(id)p Fr(')g(of)h(the)f(`)p
-Fk(Group)p Fr(')g(t)m(yp)s(e:)41 b(`)p Fk(Example.Group.id)p
-Fr(';)225 4916 y Fo(\017)60 b Fr(\014eld)24 b(`)p Fk(value1)p
-Fr(')f(of)i(the)f(`)p Fk(value)p Fr(')g(\014eld)g(of)g(the)h(`)p
-Fk(Group)p Fr(')e(t)m(yp)s(e:)38 b(`)p Fk(Example.Group.value.value1)o
-Fr('.)275 5088 y(Elemen)m(ts)26 b(of)f(structured)g(t)m(yp)s(es)g
+4495 y(describ)s(ed)29 b(b)s(elo)m(w.)275 4637 y(Others)g(examples:)225
+4779 y Fp(\017)60 b Fs(\014eld)30 b(`)p Fl(id)p Fs(')g(of)h(the)f(`)p
+Fl(Group)p Fs(')g(t)m(yp)s(e:)41 b(`)p Fl(Example.Group.id)p
+Fs(';)225 4918 y Fp(\017)60 b Fs(\014eld)24 b(`)p Fl(value1)p
+Fs(')f(of)i(the)f(`)p Fl(value)p Fs(')g(\014eld)g(of)g(the)h(`)p
+Fl(Group)p Fs(')e(t)m(yp)s(e:)38 b(`)p Fl(Example.Group.value.value1)o
+Fs('.)275 5088 y(Elemen)m(ts)26 b(of)f(structured)g(t)m(yp)s(es)g
(unnamed)f(b)m(y)i(the)f(resp)s(ectiv)m(e)i(de\014nition)e(receiv)m(e)i
-(the)f(names)f Fk(?1)p Fr(,)150 5197 y Fk(?2)p Fr(,)30
-b(and)g(so)g(on.)275 5340 y(The)f Fk(?LAST)g Fr(name)i(indicates)g(the)
-g(last)g(elemen)m(t)h(of)e(a)h Fk(SET)e(OF)h Fr(or)h
-Fk(SEQUENCE)d(OF)p Fr(.)p eop end
+(the)f(names)f Fl(?1)p Fs(,)150 5198 y Fl(?2)p Fs(,)30
+b(and)g(so)g(on.)275 5340 y(The)f Fl(?LAST)g Fs(name)i(indicates)g(the)
+g(last)g(elemen)m(t)h(of)e(a)h Fl(SET)e(OF)h Fs(or)h
+Fl(SEQUENCE)d(OF)p Fs(.)p eop end
%%Page: 4 7
-TeXDict begin 4 6 bop 150 -116 a Fr(Chapter)30 b(2:)41
+TeXDict begin 4 6 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(ASN.1)31 b(structure)f(handling)2068 b(4)150 299 y
-Fq(2.3)68 b(Simple)46 b(parsing)150 458 y Fr(F)-8 b(or)32
-b(simple)f(t)m(yp)s(es)h(lik)m(e)g Fk(OCTET)d(STRING)h
-Fr(the)h(simple)g(parsing)g(functions)g(listed)h(b)s(elo)m(w)f(ma)m(y)h
-(b)s(e)f(used)150 568 y(instead.)225 702 y Fo(\017)60
-b Fr([asn1)p 538 702 28 4 v 41 w(deco)s(de)p 849 702
-V 40 w(simple)p 1142 702 V 40 w(der],)30 b(page)h(20)225
-837 y Fo(\017)60 b Fr([asn1)p 538 837 V 41 w(enco)s(de)p
-849 837 V 40 w(simple)p 1142 837 V 40 w(der],)30 b(page)h(15)150
-1069 y Fq(2.4)68 b(Library)45 b(Notes)150 1229 y Fr(The)30
-b(header)g(\014le)h(of)f(this)g(library)g(is)h Fk(libtasn1.h)p
-Fr(.)275 1363 y(The)d(main)g(t)m(yp)s(e)h(used)f(in)h(it)g(is)g
-Fk(asn1_node)p Fr(,)e(and)h(it's)h(used)f(to)i(store)f(the)g(ASN.1)g
-(de\014nitions)g(and)150 1473 y(structures)h(\(instances\).)275
-1607 y(The)f Fk(NULL)h Fr(constan)m(t)h(can)g(b)s(e)f(used)f(for)h(the)
+Fr(2.3)68 b(Simple)46 b(parsing)150 458 y Fs(F)-8 b(or)32
+b(simple)f(t)m(yp)s(es)h(lik)m(e)g Fl(OCTET)d(STRING)h
+Fs(the)h(simple)g(parsing)g(functions)g(listed)h(b)s(elo)m(w)f(ma)m(y)h
+(b)s(e)f(used)150 568 y(instead.)225 702 y Fp(\017)60
+b Fs([asn1)p 538 702 28 4 v 41 w(deco)s(de)p 849 702
+V 40 w(simple)p 1142 702 V 40 w(der],)30 b(page)h(21,)225
+837 y Fp(\017)60 b Fs([asn1)p 538 837 V 41 w(enco)s(de)p
+849 837 V 40 w(simple)p 1142 837 V 40 w(der],)30 b(page)h(16,)150
+1078 y Fr(2.4)68 b(Library)45 b(Notes)150 1237 y Fs(The)30
+b(header)g(\014le)h(of)f(this)g(library)g(is)h Fl(libtasn1.h)p
+Fs(.)275 1372 y(The)d(main)g(t)m(yp)s(e)h(used)f(in)h(it)g(is)g
+Fl(asn1_node)p Fs(,)e(and)h(it's)h(used)f(to)i(store)f(the)g(ASN.1)g
+(de\014nitions)g(and)150 1481 y(structures)h(\(instances\).)275
+1616 y(The)f Fl(NULL)h Fs(constan)m(t)h(can)g(b)s(e)f(used)f(for)h(the)
h(v)-5 b(ariable)31 b(initialization.)44 b(F)-8 b(or)31
-b(example:)438 1742 y Fk(asn1_node)45 b(definitions)g(=)i(NULL;)275
-1876 y Fr(Some)35 b(functions)h(require)f(an)h Fk(errorDescription)31
-b Fr(argumen)m(t)36 b(of)g(t)m(yp)s(e)g Fk(char)29 b(*)p
-Fr(,)37 b(p)s(oin)m(ting)f(to)h(a)150 1986 y(pre-allo)s(cated)f
-(bu\013er)c(of)i(at)h(least)g Fk(ASN1_MAX_ERROR_DESCRIPT)o(ION_)o(SIZ)o
-(E)28 b Fr(b)m(ytes)34 b(size)h(\(e.g.,)h(as)e(in)150
-2095 y(`)p Fk(char)29 b(description[ASN1_MAX_ERROR)o(_DES)o(CRI)o(PTIO)
-o(N_SI)o(ZE])o(;)p Fr('\).)275 2230 y Fk(ASN1_MAX_NAME_SIZE)22
-b Fr(is)28 b(the)h(maxim)m(um)e(n)m(um)m(b)s(er)g(of)h(c)m(haracters)h
-(allo)m(w)m(ed)h(for)e(an)g(ASN.1)g(iden-)150 2340 y(ti\014er.)150
-2572 y Fq(2.5)68 b(F)-11 b(uture)44 b(dev)l(elopmen)l(ts)225
-2731 y Fo(\017)60 b Fr(Add)27 b(functions)g(for)h(a)g(C)g(co)s(de)g
+b(example:)438 1750 y Fl(asn1_node)45 b(definitions)g(=)i(NULL;)275
+1885 y Fs(Some)35 b(functions)h(require)f(an)h Fl(errorDescription)31
+b Fs(argumen)m(t)36 b(of)g(t)m(yp)s(e)g Fl(char)29 b(*)p
+Fs(,)37 b(p)s(oin)m(ting)f(to)h(a)150 1994 y(pre-allo)s(cated)f
+(bu\013er)c(of)i(at)h(least)g Fl(ASN1_MAX_ERROR_DESCRIPT)o(ION_)o(SIZ)o
+(E)28 b Fs(b)m(ytes)34 b(size)h(\(e.g.,)h(as)e(in)150
+2104 y(`)p Fl(char)29 b(description[ASN1_MAX_ERROR)o(_DES)o(CRI)o(PTIO)
+o(N_SI)o(ZE])o(;)p Fs('\).)275 2238 y Fl(ASN1_MAX_NAME_SIZE)22
+b Fs(is)28 b(the)h(maxim)m(um)e(n)m(um)m(b)s(er)g(of)h(c)m(haracters)h
+(allo)m(w)m(ed)h(for)e(an)g(ASN.1)g(iden-)150 2348 y(ti\014er.)150
+2589 y Fr(2.5)68 b(F)-11 b(uture)44 b(dev)l(elopmen)l(ts)225
+2748 y Fp(\017)60 b Fs(Add)27 b(functions)g(for)h(a)g(C)g(co)s(de)g
(\014le)g(generation)h(con)m(taining)h(equiv)-5 b(alen)m(t)29
-b(data)g(structures)e(\(not)i(a)330 2841 y(single)i(arra)m(y)g(lik)m(e)
-h(no)m(w\).)225 2976 y Fo(\017)60 b Fr(The)30 b Fk(REAL)f
-Fr(t)m(yp)s(e.)p eop end
+b(data)g(structures)e(\(not)i(a)330 2858 y(single)i(arra)m(y)g(lik)m(e)
+h(no)m(w\).)225 2992 y Fp(\017)60 b Fs(The)30 b Fl(REAL)f
+Fs(t)m(yp)s(e.)p eop end
%%Page: 5 8
-TeXDict begin 5 7 bop 150 -116 a Fr(Chapter)30 b(3:)41
-b(Utilities)2776 b(5)150 299 y Fn(3)80 b(Utilities)150
-635 y Fq(3.1)68 b(In)l(v)l(oking)46 b(asn1P)l(arser)150
-794 y Fk(asn1Parser)27 b Fr(reads)j(a)g(single)h(\014le)f(with)f(ASN.1)
+TeXDict begin 5 7 bop 3705 -116 a Fs(5)150 299 y Fo(3)80
+b(Utilities)150 638 y Fr(3.1)68 b(In)l(v)l(oking)46 b(asn1P)l(arser)150
+797 y Fl(asn1Parser)27 b Fs(reads)j(a)g(single)h(\014le)f(with)f(ASN.1)
i(de\014nitions)e(and)h(generates)h(a)f(\014le)g(with)g(an)g(arra)m(y)g
-(to)150 904 y(use)g(with)g(libtasn1)h(functions.)150
-1039 y Fk(Usage:)94 b(asn1Parser)45 b([options])g(file)150
-1258 y(Options:)198 1368 y(-h)i(:)g(shows)g(the)g(help)f(message.)198
-1477 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198
-1587 y(-c)g(:)g(checks)f(the)h(syntax)f(only.)198 1697
-y(-o)h(file)g(:)g(output)f(file.)198 1806 y(-n)h(name)g(:)g(array)f
-(name.)150 2040 y Fq(3.2)68 b(In)l(v)l(oking)46 b(asn1Co)t(ding)150
-2200 y Fk(asn1Coding)27 b Fr(generates)k(a)e(DER)h(enco)s(ding)f(from)g
+(to)150 907 y(use)g(with)g(libtasn1)h(functions.)150
+1041 y Fl(Usage:)94 b(asn1Parser)45 b([options])g(file)150
+1260 y(Options:)198 1370 y(-h)i(:)g(shows)g(the)g(help)f(message.)198
+1480 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198
+1589 y(-c)g(:)g(checks)f(the)h(syntax)f(only.)198 1699
+y(-o)h(file)g(:)g(output)f(file.)198 1808 y(-n)h(name)g(:)g(array)f
+(name.)150 2049 y Fr(3.2)68 b(In)l(v)l(oking)46 b(asn1Co)t(ding)150
+2208 y Fl(asn1Coding)27 b Fs(generates)k(a)e(DER)h(enco)s(ding)f(from)g
(a)h(\014le)g(with)f(ASN.1)h(de\014nitions)f(and)g(another)h(one)150
-2309 y(with)g(assignmen)m(ts.)275 2445 y(The)f(\014le)i(with)f
+2318 y(with)g(assignmen)m(ts.)275 2452 y(The)f(\014le)i(with)f
(assignmen)m(ts)h(m)m(ust)f(ha)m(v)m(e)i(this)e(syn)m(tax:)150
-2580 y Fk(InstanceName)92 b(Asn1Definition)150 2799 y(nameString)h
-(value)150 3019 y(nameString)g(value)150 3128 y(...)275
-3264 y Fr(T)-8 b(o)35 b(sp)s(ecify)f(the)h(\014eld)f(of)h(a)g
-Fk(CHOICE)d Fr(to)k(b)s(e)e(used,)h(sp)s(ecify)f(its)h(name)g(as)f(a)h
-(v)-5 b(alue)36 b(to)f(the)g Fk(CHOICE)150 3373 y Fr(elemen)m(t)d
-(itself.)41 b(Use)31 b Fk('')f Fr(to)h(denote)g(the)g(ro)s(ot)f(elemen)
+2586 y Fl(InstanceName)92 b(Asn1Definition)150 2806 y(nameString)h
+(value)150 3025 y(nameString)g(value)150 3134 y(...)275
+3269 y Fs(T)-8 b(o)35 b(sp)s(ecify)f(the)h(\014eld)f(of)h(a)g
+Fl(CHOICE)d Fs(to)k(b)s(e)e(used,)h(sp)s(ecify)f(its)h(name)g(as)f(a)h
+(v)-5 b(alue)36 b(to)f(the)g Fl(CHOICE)150 3378 y Fs(elemen)m(t)d
+(itself.)41 b(Use)31 b Fl('')f Fs(to)h(denote)g(the)g(ro)s(ot)f(elemen)
m(t)i(itself.)42 b(\(as)31 b(in)f(the)g(example)h(b)s(elo)m(w.\))275
-3509 y(The)e(output)h(\014le)h(is)f(a)h(binary)f(\014le)g(with)g(the)h
-(DER)f(enco)s(ding.)150 3644 y Fk(Usage:)94 b(asn1Coding)45
-b([options])g(file1)h(file2)198 3754 y(file1)g(:)i(file)e(with)h(ASN1)f
-(definitions.)198 3863 y(file2)g(:)i(file)e(with)h(assignments.)150
-3973 y(Options:)198 4083 y(-h)g(:)g(shows)g(the)g(help)f(message.)198
-4192 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198
-4302 y(-c)g(:)g(checks)f(the)h(syntax)f(only.)198 4411
-y(-o)h(file)g(:)g(output)f(file.)275 4547 y Fr(F)-8 b(or)31
+3512 y(The)e(output)h(\014le)h(is)f(a)h(binary)f(\014le)g(with)g(the)h
+(DER)f(enco)s(ding.)150 3647 y Fl(Usage:)94 b(asn1Coding)45
+b([options])g(file1)h(file2)198 3756 y(file1)g(:)i(file)e(with)h(ASN1)f
+(definitions.)198 3866 y(file2)g(:)i(file)e(with)h(assignments.)150
+3976 y(Options:)198 4085 y(-h)g(:)g(shows)g(the)g(help)f(message.)198
+4195 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198
+4304 y(-c)g(:)g(checks)f(the)h(syntax)f(only.)198 4414
+y(-o)h(file)g(:)g(output)f(file.)275 4548 y Fs(F)-8 b(or)31
b(example,)g(consider)f(an)h(ASN.1)f(de\014nitions)g(\014le)h(as)f
-(follo)m(ws:)150 4682 y Fk(MYPKIX1)46 b({)h(})150 4902
+(follo)m(ws:)150 4682 y Fl(MYPKIX1)46 b({)h(})150 4902
y(DEFINITIONS)e(IMPLICIT)g(TAGS)i(::=)150 5121 y(BEGIN)150
5340 y(OtherStruct)e(:=)i(SEQUENCE)e({)p eop end
%%Page: 6 9
-TeXDict begin 6 8 bop 150 -116 a Fr(Chapter)30 b(3:)41
-b(Utilities)2776 b(6)389 299 y Fk(x)333 b(INTEGER,)389
+TeXDict begin 6 8 bop 150 -116 a Fs(Chapter)30 b(3:)41
+b(Utilities)2776 b(6)389 299 y Fl(x)333 b(INTEGER,)389
408 y(y)g(CHOICE)47 b({)580 518 y(y1)g(INTEGER,)580 628
y(y2)g(OCTET)f(STRING)g(},)150 737 y(})150 956 y(Dss-Sig-Value)e(::=)j
(SEQUENCE)f({)389 1066 y(r)333 b(INTEGER,)389 1176 y(s)g(INTEGER,)389
1285 y(other)141 b(OtherStruct)389 1395 y(z)333 b(INTEGER)46
-b(OPTIONAL,)150 1504 y(})150 1724 y(END)275 1869 y Fr(And)29
+b(OPTIONAL,)150 1504 y(})150 1724 y(END)275 1868 y Fs(And)29
b(a)i(assignmen)m(ts)g(\014le)f(as)h(follo)m(ws:)150
-2014 y Fk(dp)47 b(MYPKIX1.Dss-Sig-Value)150 2233 y(r)g(42)150
-2343 y(s)g(47)150 2452 y(other.x)f(66)150 2562 y(other.y)g(y1)150
-2672 y(other.y.y1)f(15)150 2781 y(z)i(\(NULL\))275 2926
-y Fr(Running)32 b(the)h(command)h(b)s(elo)m(w)f(will)h(generate)h(a)f
-Fk(assign.out)d Fr(\014le,)j(con)m(taining)h(the)f(DER)g(en-)150
-3036 y(co)s(ding)c(of)h Fk(PKIX1.Dss-Sig-Value)p Fr(.)150
-3181 y Fk($)47 b(asn1Coding)e(pkix.asn)h(assign.asn1)275
-3326 y Fr(If)38 b(the)h(ro)s(ot)h(elemen)m(t)g(is)f(of)h(the)f
-Fk(CHOICE)e Fr(t)m(yp)s(e,)42 b(the)d(assignmen)m(t)h(\014le)f(ma)m(y)h
-(b)s(e)e(lik)m(e)j(\(using)e(the)150 3436 y(t)m(yp)s(es)30
-b(de\014ned)g(in)g Fk(pkix.asn)p Fr(\):)150 3581 y Fk(elt)47
-b(PKIX1Implicit88.GeneralN)o(ame)150 3800 y('')286 b(dNSName)150
-3910 y(dNSName)46 b(example.org)150 4159 y Fq(3.3)68
-b(In)l(v)l(oking)46 b(asn1Deco)t(ding)150 4318 y Fk(asn1Decoding)20
-b Fr(generates)25 b(an)f(ASN.1)g(structure)g(from)f(a)h(\014le)g(with)f
-(ASN.1)h(de\014nitions)f(and)h(a)g(binary)150 4428 y(\014le)30
-b(with)h(a)f(DER)h(enco)s(ding.)150 4573 y Fk(Usage:)94
+2012 y Fl(dp)47 b(MYPKIX1.Dss-Sig-Value)150 2231 y(r)g(42)150
+2341 y(s)g(47)150 2450 y(other.x)f(66)150 2560 y(other.y)g(y1)150
+2670 y(other.y.y1)f(15)150 2779 y(z)i(\(NULL\))275 2923
+y Fs(Running)32 b(the)h(command)h(b)s(elo)m(w)f(will)h(generate)h(a)f
+Fl(assign.out)d Fs(\014le,)j(con)m(taining)h(the)f(DER)g(en-)150
+3033 y(co)s(ding)c(of)h Fl(PKIX1.Dss-Sig-Value)p Fs(.)150
+3177 y Fl($)47 b(asn1Coding)e(pkix.asn)h(assign.asn1)275
+3322 y Fs(If)38 b(the)h(ro)s(ot)h(elemen)m(t)g(is)f(of)h(the)f
+Fl(CHOICE)e Fs(t)m(yp)s(e,)42 b(the)d(assignmen)m(t)h(\014le)f(ma)m(y)h
+(b)s(e)e(lik)m(e)j(\(using)e(the)150 3431 y(t)m(yp)s(es)30
+b(de\014ned)g(in)g Fl(pkix.asn)p Fs(\):)150 3575 y Fl(elt)47
+b(PKIX1Implicit88.GeneralN)o(ame)150 3795 y('')286 b(dNSName)150
+3904 y(dNSName)46 b(example.org)150 4160 y Fr(3.3)68
+b(In)l(v)l(oking)46 b(asn1Deco)t(ding)150 4319 y Fl(asn1Decoding)20
+b Fs(generates)25 b(an)f(ASN.1)g(structure)g(from)f(a)h(\014le)g(with)f
+(ASN.1)h(de\014nitions)f(and)h(a)g(binary)150 4429 y(\014le)30
+b(with)h(a)f(DER)h(enco)s(ding.)150 4573 y Fl(Usage:)94
b(asn1Decoding)44 b([options])i(file1)g(file2)g(type)198
4682 y(file1)g(:)i(file)e(with)h(ASN1)f(definitions.)198
4792 y(file2)g(:)i(binary)e(file)g(with)h(a)g(DER)g(encoding.)198
@@ -6441,271 +6442,270 @@ y(Options:)198 5121 y(-h)i(:)g(shows)g(the)g(help)f(message.)198
5230 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198
5340 y(-o)g(file)g(:)g(output)f(file.)p eop end
%%Page: 7 10
-TeXDict begin 7 9 bop 150 -116 a Fr(Chapter)30 b(3:)41
-b(Utilities)2776 b(7)275 299 y(F)-8 b(or)47 b(example,)52
-b(after)47 b(generating)h(the)f Fk(assign.out)d Fr(\014le)j(from)f(the)
-h(example)g(section)h(of)f(the)150 408 y Fk(asn1Coding)28
-b Fr(command)i(ab)s(o)m(v)m(e,)i(the)e(follo)m(wing)i(in)m(v)m(o)s
-(cation)g(will)f(deco)s(de)g(the)f(DER)h(data.)150 543
-y Fk($)47 b(asn1Decoding)e(pkix.asn)g(assign.out)g(PKIX1.Dss-Sig-Value)
-p eop end
+TeXDict begin 7 9 bop 3705 -116 a Fs(7)275 299 y(F)-8
+b(or)47 b(example,)52 b(after)47 b(generating)h(the)f
+Fl(assign.out)d Fs(\014le)j(from)f(the)h(example)g(section)h(of)f(the)
+150 408 y Fl(asn1Coding)28 b Fs(command)i(ab)s(o)m(v)m(e,)i(the)e
+(follo)m(wing)i(in)m(v)m(o)s(cation)g(will)f(deco)s(de)g(the)f(DER)h
+(data.)150 543 y Fl($)47 b(asn1Decoding)e(pkix.asn)g(assign.out)g
+(PKIX1.Dss-Sig-Value)p eop end
%%Page: 8 11
-TeXDict begin 8 10 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2359 b(8)150 299 y Fn(4)80
-b(F)-13 b(unction)52 b(reference)150 682 y Fq(4.1)68
-b(ASN.1)45 b(sc)l(hema)g(functions)150 906 y Fj(asn1)p
-396 906 37 5 v 55 w(parser2tree)3350 1117 y Fr([F)-8
-b(unction])-3599 b Fi(int)53 b(asn1_parser2tree)e Fh(\()p
-Fg(const)31 b(c)m(har)g(*)f Ff(file)p Fg(,)i(asn1)p 2238
-1117 28 4 v 40 w(no)s(de)e(*)h Ff(definitions)p Fg(,)565
-1227 y(c)m(har)g(*)g Ff(error_desc)p Fh(\))390 1336 y
-Fg(\014le)5 b Fr(:)41 b(sp)s(ecify)30 b(the)g(path)h(and)e(the)i(name)f
+TeXDict begin 8 10 bop 3705 -116 a Fs(8)150 299 y Fo(4)80
+b(F)-13 b(unction)52 b(reference)150 686 y Fr(4.1)68
+b(ASN.1)45 b(sc)l(hema)g(functions)150 911 y Fk(asn1)p
+396 911 37 5 v 55 w(parser2tree)3350 1121 y Fs([F)-8
+b(unction])-3599 b Fj(int)53 b(asn1_parser2tree)e Fi(\()p
+Fh(const)34 b(c)m(har)f(*)g Fg(file)p Fh(,)i(asn1)p 2311
+1121 30 5 v 44 w(no)s(de)e(*)565 1230 y Fg(definitions)p
+Fh(,)j(c)m(har)e(*)f Fg(error_desc)p Fi(\))390 1340 y
+Ff(\014le)5 b Fs(:)41 b(sp)s(ecify)30 b(the)g(path)h(and)e(the)i(name)f
(of)h(\014le)f(that)h(con)m(tains)h(ASN.1)f(declarations.)390
-1485 y Fg(de\014nitions)t Fr(:)36 b(return)21 b(the)h(p)s(oin)m(ter)g
-(to)g(the)g(structure)g(created)h(from)e Fk(")p Fr(\014le)p
-Fk(")h Fr(ASN.1)g(declarations.)390 1634 y Fg(error)p
-589 1634 V 40 w(desc)6 b Fr(:)40 b(return)29 b(the)i(error)f
+1488 y Ff(de\014nitions)t Fs(:)36 b(return)21 b(the)h(p)s(oin)m(ter)g
+(to)g(the)g(structure)g(created)h(from)e Fl(")p Fs(\014le)p
+Fl(")h Fs(ASN.1)g(declarations.)390 1636 y Ff(error)p
+589 1636 28 4 v 40 w(desc)6 b Fs(:)40 b(return)29 b(the)i(error)f
(description)g(or)h(an)f(empt)m(y)h(string)f(if)g(success.)390
1784 y(F)-8 b(unction)28 b(used)f(to)i(start)f(the)g(parse)g
(algorithm.)41 b(Creates)28 b(the)g(structures)f(needed)g(to)i(manage)
-390 1893 y(the)i(de\014nitions)e(included)h(in)g Fk(file)f
-Fr(\014le.)390 2042 y Fe(Returns:)39 b Fk(ASN1_SUCCESS)26
-b Fr(if)i(the)h(\014le)g(has)f(a)h(correct)g(syn)m(tax)h(and)e(ev)m
-(ery)h(iden)m(ti\014er)g(is)f(kno)m(wn,)390 2152 y Fk
-(ASN1_ELEMENT_NOT_EMPTY)35 b Fr(if)41 b Fk(definitions)c
-Fr(not)k Fk(NULL)f Fr(,)k Fk(ASN1_FILE_NOT_FOUND)35 b
-Fr(if)41 b(an)390 2261 y(error)32 b(o)s(ccured)g(while)g(op)s(ening)g
-Fk(file)f Fr(,)h Fk(ASN1_SYNTAX_ERROR)c Fr(if)k(the)g(syn)m(tax)h(is)f
-(not)h(correct,)390 2371 y Fk(ASN1_IDENTIFIER_NOT_FOUN)o(D)c
-Fr(if)35 b(in)f(the)h(\014le)g(there)h(is)f(an)f(iden)m(ti\014er)h
-(that)h(is)f(not)g(de\014ned,)390 2480 y Fk(ASN1_NAME_TOO_LONG)27
-b Fr(if)32 b(in)g(the)g(\014le)g(there)g(is)g(an)g(iden)m(ti\014er)g
-(whith)g(more)g(than)f Fk(ASN1_MAX_)390 2590 y(NAME_SIZE)d
-Fr(c)m(haracters.)150 2804 y Fj(asn1)p 396 2804 37 5
-v 55 w(parser2arra)m(y)3350 3015 y Fr([F)-8 b(unction])-3599
-b Fi(int)53 b(asn1_parser2array)e Fh(\()p Fg(const)31
-b(c)m(har)g(*)g Ff(inputFileName)p Fg(,)j(const)d(c)m(har)g(*)565
-3125 y Ff(outputFileName)p Fg(,)k(const)c(c)m(har)g(*)f
-Ff(vectorName)p Fg(,)k(c)m(har)d(*)f Ff(error_desc)p
-Fh(\))390 3234 y Fg(inputFileName)5 b Fr(:)49 b(sp)s(ecify)34
+390 1894 y(the)i(de\014nitions)e(included)h(in)g Fl(file)f
+Fs(\014le.)390 2042 y Fe(Returns:)39 b Fl(ASN1_SUCCESS)26
+b Fs(if)i(the)h(\014le)g(has)f(a)h(correct)g(syn)m(tax)h(and)e(ev)m
+(ery)h(iden)m(ti\014er)g(is)f(kno)m(wn,)390 2151 y Fl
+(ASN1_ELEMENT_NOT_EMPTY)35 b Fs(if)41 b Fl(definitions)c
+Fs(not)k Fl(NULL)f Fs(,)k Fl(ASN1_FILE_NOT_FOUND)35 b
+Fs(if)41 b(an)390 2261 y(error)29 b(o)s(ccurred)f(while)i(op)s(ening)e
+Fl(file)g Fs(,)i Fl(ASN1_SYNTAX_ERROR)24 b Fs(if)30 b(the)f(syn)m(tax)h
+(is)f(not)h(correct,)390 2370 y Fl(ASN1_IDENTIFIER_NOT_FOUN)o(D)f
+Fs(if)35 b(in)f(the)h(\014le)g(there)h(is)f(an)f(iden)m(ti\014er)h
+(that)h(is)f(not)g(de\014ned,)390 2480 y Fl(ASN1_NAME_TOO_LONG)27
+b Fs(if)32 b(in)g(the)g(\014le)g(there)g(is)g(an)g(iden)m(ti\014er)g
+(whith)g(more)g(than)f Fl(ASN1_MAX_)390 2590 y(NAME_SIZE)d
+Fs(c)m(haracters.)150 2802 y Fk(asn1)p 396 2802 37 5
+v 55 w(parser2arra)m(y)3350 3013 y Fs([F)-8 b(unction])-3599
+b Fj(int)53 b(asn1_parser2array)e Fi(\()p Fh(const)34
+b(c)m(har)g(*)f Fg(inputFileName)p Fh(,)k(const)c(c)m(har)h(*)565
+3122 y Fg(outputFileName)p Fh(,)j(const)d(c)m(har)g(*)f
+Fg(vectorName)p Fh(,)j(c)m(har)e(*)f Fg(error_desc)p
+Fi(\))390 3232 y Ff(inputFileName)5 b Fs(:)49 b(sp)s(ecify)34
b(the)g(path)g(and)f(the)h(name)g(of)g(\014le)g(that)h(con)m(tains)g
-(ASN.1)g(declara-)390 3344 y(tions.)390 3493 y Fg(outputFileName)5
-b Fr(:)41 b(sp)s(ecify)27 b(the)h(path)f(and)g(the)h(name)f(of)h
+(ASN.1)g(declara-)390 3341 y(tions.)390 3489 y Ff(outputFileName)5
+b Fs(:)41 b(sp)s(ecify)27 b(the)h(path)f(and)g(the)h(name)f(of)h
(\014le)g(that)g(will)g(con)m(tain)h(the)e(C)g(v)m(ector)390
-3603 y(de\014nition.)390 3752 y Fg(v)m(ectorName)5 b
-Fr(:)43 b(sp)s(ecify)30 b(the)h(name)f(of)h(the)f(C)g(v)m(ector.)390
-3901 y Fg(error)p 589 3901 28 4 v 40 w(desc)6 b Fr(:)40
+3599 y(de\014nition.)390 3747 y Ff(v)m(ectorName)5 b
+Fs(:)43 b(sp)s(ecify)30 b(the)h(name)f(of)h(the)f(C)g(v)m(ector.)390
+3895 y Ff(error)p 589 3895 28 4 v 40 w(desc)6 b Fs(:)40
b(return)29 b(the)i(error)f(description)g(or)h(an)f(empt)m(y)h(string)f
-(if)g(success.)390 4050 y(F)-8 b(unction)42 b(that)g(generates)h(a)e(C)
+(if)g(success.)390 4043 y(F)-8 b(unction)42 b(that)g(generates)h(a)e(C)
g(structure)g(from)g(an)g(ASN1)h(\014le.)73 b(Creates)42
-b(a)g(\014le)f(con)m(tain-)390 4159 y(ing)k(a)h(C)f(v)m(ector)i(to)e
+b(a)g(\014le)f(con)m(tain-)390 4152 y(ing)k(a)h(C)f(v)m(ector)i(to)e
(use)g(to)h(manage)g(the)g(de\014nitions)f(included)f(in)h
-Fk(inputFileName)d Fr(\014le.)390 4269 y(If)i Fk(inputFileName)e
-Fr(is)i Fk(")p Fr(/aa/bb/xx.yy)p Fk(")i Fr(and)e Fk(outputFileName)d
-Fr(is)k Fk(NULL)f Fr(,)k(the)d(\014le)g(cre-)390 4378
-y(ated)g(is)f Fk(")p Fr(/aa/bb/xx)p 1188 4378 V 41 w(asn1)p
-1406 4378 V 40 w(tab.c)p Fk(")p Fr(.)83 b(If)43 b Fk(vectorName)f
-Fr(is)i Fk(NULL)f Fr(the)h(v)m(ector)i(name)e(will)h(b)s(e)390
-4488 y Fk(")p Fr(xx)p 540 4488 V 40 w(asn1)p 757 4488
-V 40 w(tab)p Fk(")p Fr(.)390 4637 y Fe(Returns:)39 b
-Fk(ASN1_SUCCESS)26 b Fr(if)i(the)h(\014le)g(has)f(a)h(correct)g(syn)m
+Fl(inputFileName)d Fs(\014le.)390 4262 y(If)i Fl(inputFileName)e
+Fs(is)i Fl(")p Fs(/aa/bb/xx.yy)p Fl(")i Fs(and)e Fl(outputFileName)d
+Fs(is)k Fl(NULL)f Fs(,)k(the)d(\014le)g(cre-)390 4372
+y(ated)g(is)f Fl(")p Fs(/aa/bb/xx)p 1188 4372 V 41 w(asn1)p
+1406 4372 V 40 w(tab.c)p Fl(")p Fs(.)83 b(If)43 b Fl(vectorName)f
+Fs(is)i Fl(NULL)f Fs(the)h(v)m(ector)i(name)e(will)h(b)s(e)390
+4481 y Fl(")p Fs(xx)p 540 4481 V 40 w(asn1)p 757 4481
+V 40 w(tab)p Fl(")p Fs(.)390 4629 y Fe(Returns:)39 b
+Fl(ASN1_SUCCESS)26 b Fs(if)i(the)h(\014le)g(has)f(a)h(correct)g(syn)m
(tax)h(and)e(ev)m(ery)h(iden)m(ti\014er)g(is)f(kno)m(wn,)390
-4747 y Fk(ASN1_FILE_NOT_FOUND)39 b Fr(if)45 b(an)f(error)g(o)s(ccured)h
-(while)f(op)s(ening)g Fk(inputFileName)d Fr(,)48 b Fk(ASN1_)390
-4856 y(SYNTAX_ERROR)23 b Fr(if)k(the)f(syn)m(tax)i(is)e(not)h(correct,)
-i Fk(ASN1_IDENTIFIER_NOT_FOU)o(ND)20 b Fr(if)27 b(in)f(the)h(\014le)390
-4966 y(there)35 b(is)g(an)g(iden)m(ti\014er)g(that)g(is)g(not)g
-(de\014ned,)g Fk(ASN1_NAME_TOO_LONG)30 b Fr(if)35 b(in)g(the)g(\014le)g
-(there)g(is)390 5075 y(an)30 b(iden)m(ti\014er)h(whith)e(more)i(than)f
-Fk(ASN1_MAX_NAME_SIZE)25 b Fr(c)m(haracters.)150 5330
-y Fq(4.2)68 b(ASN.1)45 b(\014eld)g(functions)p eop end
+4739 y Fl(ASN1_FILE_NOT_FOUND)35 b Fs(if)41 b(an)g(error)f(o)s(ccurred)
+g(while)h(op)s(ening)f Fl(inputFileName)d Fs(,)43 b Fl(ASN1_)390
+4848 y(SYNTAX_ERROR)23 b Fs(if)k(the)f(syn)m(tax)i(is)e(not)h(correct,)
+i Fl(ASN1_IDENTIFIER_NOT_FOU)o(ND)20 b Fs(if)27 b(in)f(the)h(\014le)390
+4958 y(there)35 b(is)g(an)g(iden)m(ti\014er)g(that)g(is)g(not)g
+(de\014ned,)g Fl(ASN1_NAME_TOO_LONG)30 b Fs(if)35 b(in)g(the)g(\014le)g
+(there)g(is)390 5068 y(an)30 b(iden)m(ti\014er)h(whith)e(more)i(than)f
+Fl(ASN1_MAX_NAME_SIZE)25 b Fs(c)m(haracters.)150 5329
+y Fr(4.2)68 b(ASN.1)45 b(\014eld)g(functions)p eop end
%%Page: 9 12
-TeXDict begin 9 11 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2359 b(9)150 299 y Fj(asn1)p
-396 299 37 5 v 55 w(arra)m(y2tree)3350 517 y Fr([F)-8
-b(unction])-3599 b Fi(int)53 b(asn1_array2tree)d Fh(\()p
-Fg(const)31 b(asn1)p 1645 517 28 4 v 41 w(static)p 1902
-517 V 41 w(no)s(de)f(*)h Ff(array)p Fg(,)h(asn1)p 2733
-517 V 40 w(no)s(de)e(*)565 626 y Ff(definitions)p Fg(,)k(c)m(har)d(*)g
-Ff(errorDescription)p Fh(\))390 736 y Fg(arra)m(y)8 b
-Fr(:)41 b(sp)s(ecify)30 b(the)h(arra)m(y)f(that)h(con)m(tains)h(ASN.1)f
-(declarations)390 891 y Fg(de\014nitions)t Fr(:)44 b(return)31
+TeXDict begin 9 11 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2359 b(9)150 299 y Fk(asn1)p
+396 299 37 5 v 55 w(arra)m(y2tree)3350 517 y Fs([F)-8
+b(unction])-3599 b Fj(int)53 b(asn1_array2tree)d Fi(\()p
+Fh(const)34 b(asn1)p 1686 517 30 5 v 44 w(static)p 1969
+517 V 44 w(no)s(de)g(*)f Fg(array)p Fh(,)h(asn1)p 2853
+517 V 44 w(no)s(de)g(*)565 626 y Fg(definitions)p Fh(,)i(c)m(har)e(*)f
+Fg(errorDescription)p Fi(\))390 736 y Ff(arra)m(y)8 b
+Fs(:)41 b(sp)s(ecify)30 b(the)h(arra)m(y)f(that)h(con)m(tains)h(ASN.1)f
+(declarations)390 891 y Ff(de\014nitions)t Fs(:)44 b(return)31
b(the)h(p)s(oin)m(ter)h(to)g(the)f(structure)g(created)h(b)m(y)f(*ARRA)
-8 b(Y)34 b(ASN.1)f(declara-)390 1001 y(tions)390 1156
-y Fg(errorDescription)p Fr(:)41 b(return)30 b(the)g(error)g
+y Ff(errorDescription)p Fs(:)41 b(return)30 b(the)g(error)g
(description.)390 1312 y(Creates)38 b(the)g(structures)f(needed)h(to)g
-(manage)h(the)f(ASN.1)g(de\014nitions.)62 b Fk(array)36
-b Fr(is)i(a)g(v)m(ector)390 1421 y(created)31 b(b)m(y)g
-Fk(asn1_parser2array\(\))25 b Fr(.)390 1577 y Fe(Returns:)37
-b Fk(ASN1_SUCCESS)20 b Fr(if)k(structure)f(w)m(as)h(created)h
-(correctly)-8 b(,)27 b Fk(ASN1_ELEMENT_NOT_EMPTY)390
-1686 y Fr(if)34 b(*)g Fk(definitions)d Fr(not)j(NULL,)g
-Fk(ASN1_IDENTIFIER_NOT_FOUND)27 b Fr(if)34 b(in)g(the)g(\014le)g(there)
+(manage)h(the)f(ASN.1)g(de\014nitions.)62 b Fl(array)36
+b Fs(is)i(a)g(v)m(ector)390 1421 y(created)31 b(b)m(y)g
+Fl(asn1_parser2array\(\))25 b Fs(.)390 1577 y Fe(Returns:)37
+b Fl(ASN1_SUCCESS)20 b Fs(if)k(structure)f(w)m(as)h(created)h
+(correctly)-8 b(,)27 b Fl(ASN1_ELEMENT_NOT_EMPTY)390
+1686 y Fs(if)34 b(*)g Fl(definitions)d Fs(not)j(NULL,)g
+Fl(ASN1_IDENTIFIER_NOT_FOUND)27 b Fs(if)34 b(in)g(the)g(\014le)g(there)
g(is)g(an)390 1796 y(iden)m(ti\014er)k(that)h(is)f(not)h(de\014ned)e
-(\(see)i Fk(errorDescription)34 b Fr(for)k(more)g(information\),)j
-Fk(ASN1_)390 1906 y(ARRAY_ERROR)27 b Fr(if)k(the)f(arra)m(y)h(p)s(oin)m
-(ted)f(b)m(y)h Fk(array)e Fr(is)h(wrong.)150 2126 y Fj(asn1)p
+(\(see)i Fl(errorDescription)34 b Fs(for)k(more)g(information\),)j
+Fl(ASN1_)390 1906 y(ARRAY_ERROR)27 b Fs(if)k(the)f(arra)m(y)h(p)s(oin)m
+(ted)f(b)m(y)h Fl(array)e Fs(is)h(wrong.)150 2126 y Fk(asn1)p
396 2126 37 5 v 55 w(delete)p 769 2126 V 54 w(structure)3350
-2344 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_delete_structure)f
-Fh(\()p Fg(asn1)p 1721 2344 28 4 v 41 w(no)s(de)29 b(*)i
-Ff(structure)p Fh(\))390 2453 y Fg(structure)5 b Fr(:)40
+2344 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_delete_structure)f
+Fi(\()p Fh(asn1)p 1739 2344 30 5 v 45 w(no)s(de)33 b(*)g
+Fg(structure)p Fi(\))390 2453 y Ff(structure)5 b Fs(:)40
b(p)s(oin)m(ter)31 b(to)g(the)f(structure)g(that)h(y)m(ou)g(w)m(an)m(t)
g(to)g(delete.)390 2609 y(Deletes)h(the)f(structure)f(*)h
-Fk(structure)c Fr(.)41 b(A)m(t)31 b(the)g(end,)f(*)h
-Fk(structure)d Fr(is)i(set)h(to)g(NULL.)390 2764 y Fe(Returns:)41
-b Fk(ASN1_SUCCESS)27 b Fr(if)k(successful,)g Fk(ASN1_ELEMENT_NOT_FOUND)
-25 b Fr(if)30 b(*)h Fk(structure)e Fr(w)m(as)390 2874
-y(NULL.)150 3094 y Fj(asn1)p 396 3094 37 5 v 55 w(delete)p
-769 3094 V 54 w(structure2)3350 3312 y Fr([F)-8 b(unction])-3599
-b Fi(int)53 b(asn1_delete_structure)q(2)e Fh(\()p Fg(asn1)p
-1773 3312 28 4 v 41 w(no)s(de)30 b(*)g Ff(structure)p
-Fg(,)k(unsigned)29 b(in)m(t)565 3421 y Ff(flags)p Fh(\))390
-3531 y Fg(structure)5 b Fr(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f
+Fl(structure)c Fs(.)41 b(A)m(t)31 b(the)g(end,)f(*)h
+Fl(structure)d Fs(is)i(set)h(to)g(NULL.)390 2764 y Fe(Returns:)41
+b Fl(ASN1_SUCCESS)27 b Fs(if)k(successful,)g Fl(ASN1_ELEMENT_NOT_FOUND)
+25 b Fs(if)30 b(*)h Fl(structure)e Fs(w)m(as)390 2874
+y(NULL.)150 3094 y Fk(asn1)p 396 3094 37 5 v 55 w(delete)p
+769 3094 V 54 w(structure2)3350 3312 y Fs([F)-8 b(unction])-3599
+b Fj(int)53 b(asn1_delete_structure)q(2)e Fi(\()p Fh(asn1)p
+1791 3312 30 5 v 45 w(no)s(de)34 b(*)f Fg(structure)p
+Fh(,)i(unsigned)565 3421 y(in)m(t)e Fg(flags)p Fi(\))390
+3531 y Ff(structure)5 b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f
(structure)g(that)h(y)m(ou)g(w)m(an)m(t)g(to)g(delete.)390
-3686 y Fg(\015ags)t Fr(:)41 b(additional)31 b(\015ags)g(\(see)g
-Fk(ASN1_DELETE_FLAG)26 b Fr(\))390 3842 y(Deletes)32
-b(the)f(structure)f(*)h Fk(structure)c Fr(.)41 b(A)m(t)31
-b(the)g(end,)f(*)h Fk(structure)d Fr(is)i(set)h(to)g(NULL.)390
-3997 y Fe(Returns:)41 b Fk(ASN1_SUCCESS)27 b Fr(if)k(successful,)g
-Fk(ASN1_ELEMENT_NOT_FOUND)25 b Fr(if)30 b(*)h Fk(structure)e
-Fr(w)m(as)390 4107 y(NULL.)150 4327 y Fj(asn1)p 396 4327
+3686 y Ff(\015ags)t Fs(:)41 b(additional)31 b(\015ags)g(\(see)g
+Fl(ASN1_DELETE_FLAG)26 b Fs(\))390 3842 y(Deletes)32
+b(the)f(structure)f(*)h Fl(structure)c Fs(.)41 b(A)m(t)31
+b(the)g(end,)f(*)h Fl(structure)d Fs(is)i(set)h(to)g(NULL.)390
+3997 y Fe(Returns:)41 b Fl(ASN1_SUCCESS)27 b Fs(if)k(successful,)g
+Fl(ASN1_ELEMENT_NOT_FOUND)25 b Fs(if)30 b(*)h Fl(structure)e
+Fs(w)m(as)390 4107 y(NULL.)150 4327 y Fk(asn1)p 396 4327
37 5 v 55 w(delete)p 769 4327 V 54 w(elemen)m(t)3350
-4545 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_delete_element)e
-Fh(\()p Fg(asn1)p 1616 4545 28 4 v 41 w(no)s(de)30 b
-Ff(structure)p Fg(,)j(const)e(c)m(har)g(*)565 4654 y
-Ff(element_name)p Fh(\))390 4764 y Fg(structure)5 b Fr(:)40
+4545 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_delete_element)e
+Fi(\()p Fh(asn1)p 1634 4545 30 5 v 45 w(no)s(de)34 b
+Fg(structure)p Fh(,)h(const)f(c)m(har)g(*)565 4654 y
+Fg(element_name)p Fi(\))390 4764 y Ff(structure)5 b Fs(:)40
b(p)s(oin)m(ter)31 b(to)g(the)f(structure)g(that)h(con)m(tains)h(the)e
(elemen)m(t)i(y)m(ou)f(w)m(an)m(t)g(to)g(delete.)390
-4919 y Fg(elemen)m(t)p 700 4919 V 42 w(name)5 b Fr(:)40
-b(elemen)m(t's)32 b(name)f(y)m(ou)g(w)m(an)m(t)g(to)g(delete.)390
-5075 y(Deletes)h(the)f(elemen)m(t)h(named)e(*)h Fk(element_name)c
-Fr(inside)j(*)g Fk(structure)e Fr(.)390 5230 y Fe(Returns:)37
-b Fk(ASN1_SUCCESS)19 b Fr(if)k(successful,)i Fk(ASN1_ELEMENT_NOT_FOUND)
-17 b Fr(if)23 b(the)g Fk(element_name)390 5340 y Fr(w)m(as)31
+4919 y Ff(elemen)m(t)p 700 4919 28 4 v 42 w(name)5 b
+Fs(:)40 b(elemen)m(t's)32 b(name)f(y)m(ou)g(w)m(an)m(t)g(to)g(delete.)
+390 5075 y(Deletes)h(the)f(elemen)m(t)h(named)e(*)h Fl(element_name)c
+Fs(inside)j(*)g Fl(structure)e Fs(.)390 5230 y Fe(Returns:)37
+b Fl(ASN1_SUCCESS)19 b Fs(if)k(successful,)i Fl(ASN1_ELEMENT_NOT_FOUND)
+17 b Fs(if)23 b(the)g Fl(element_name)390 5340 y Fs(w)m(as)31
b(not)f(found.)p eop end
%%Page: 10 13
-TeXDict begin 10 12 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(10)150 299 y Fj(asn1)p
+TeXDict begin 10 12 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(10)150 299 y Fk(asn1)p
396 299 37 5 v 55 w(create)p 776 299 V 53 w(elemen)m(t)3350
-492 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_create_element)e
-Fh(\()p Fg(asn1)p 1616 492 28 4 v 41 w(no)s(de)30 b Ff(definitions)p
-Fg(,)k(const)d(c)m(har)f(*)565 602 y Ff(source_name)p
-Fg(,)k(asn1)p 1379 602 V 40 w(no)s(de)c(*)h Ff(element)p
-Fh(\))390 712 y Fg(de\014nitions)t Fr(:)40 b(p)s(oin)m(ter)30
-b(to)h(the)g(structure)f(returned)f(b)m(y)h Fk(")p Fr(parser)p
-2633 712 V 40 w(asn1)p Fk(")g Fr(function)390 845 y Fg(source)p
-644 845 V 40 w(name)5 b Fr(:)39 b(the)25 b(name)g(of)g(the)h(t)m(yp)s
-(e)f(of)h(the)f(new)g(structure)f(\(m)m(ust)i(b)s(e)e(inside)h(p)p
-3296 845 V 40 w(structure\).)390 977 y Fg(elemen)m(t)r
-Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(the)f(structure)g(created.)390
-1110 y(Creates)h(a)g(structure)f(of)g(t)m(yp)s(e)h Fk(source_name)c
-Fr(.)41 b(Example)30 b(using)g Fk(")p Fr(pkix.asn)p Fk(")p
-Fr(:)390 1243 y(rc)g(=)g(asn1)p 780 1243 V 41 w(create)p
-1057 1243 V 41 w(elemen)m(t\(cert)p 1588 1243 V 43 w(def,)g
-Fk(")p Fr(PKIX1.Certi\014cate)p Fk(")p Fr(,)i(certptr\);)390
-1376 y Fe(Returns:)53 b Fk(ASN1_SUCCESS)34 b Fr(if)i(creation)i(OK,)f
-Fk(ASN1_ELEMENT_NOT_FOUND)30 b Fr(if)37 b Fk(source_name)390
-1486 y Fr(is)30 b(not)h(kno)m(wn.)150 1682 y Fj(asn1)p
+492 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_create_element)e
+Fi(\()p Fh(asn1)p 1634 492 30 5 v 45 w(no)s(de)34 b Fg(definitions)p
+Fh(,)i(const)e(c)m(har)f(*)565 602 y Fg(source_name)p
+Fh(,)j(asn1)p 1402 602 V 44 w(no)s(de)e(*)f Fg(element)p
+Fi(\))390 712 y Ff(de\014nitions)t Fs(:)40 b(p)s(oin)m(ter)30
+b(to)h(the)g(structure)f(returned)f(b)m(y)h Fl(")p Fs(parser)p
+2633 712 28 4 v 40 w(asn1)p Fl(")g Fs(function)390 845
+y Ff(source)p 644 845 V 40 w(name)5 b Fs(:)39 b(the)25
+b(name)g(of)g(the)h(t)m(yp)s(e)f(of)h(the)f(new)g(structure)f(\(m)m
+(ust)i(b)s(e)e(inside)h(p)p 3296 845 V 40 w(structure\).)390
+977 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31 b(to)g(the)f
+(structure)g(created.)390 1110 y(Creates)h(a)g(structure)f(of)g(t)m(yp)
+s(e)h Fl(source_name)c Fs(.)41 b(Example)30 b(using)g
+Fl(")p Fs(pkix.asn)p Fl(")p Fs(:)390 1243 y(rc)g(=)g(asn1)p
+780 1243 V 41 w(create)p 1057 1243 V 41 w(elemen)m(t\(cert)p
+1588 1243 V 43 w(def,)g Fl(")p Fs(PKIX1.Certi\014cate)p
+Fl(")p Fs(,)i(certptr\);)390 1376 y Fe(Returns:)53 b
+Fl(ASN1_SUCCESS)34 b Fs(if)i(creation)i(OK,)f Fl
+(ASN1_ELEMENT_NOT_FOUND)30 b Fs(if)37 b Fl(source_name)390
+1486 y Fs(is)30 b(not)h(kno)m(wn.)150 1682 y Fk(asn1)p
396 1682 37 5 v 55 w(prin)m(t)p 716 1682 V 54 w(structure)3350
-1875 y Fr([F)-8 b(unction])-3599 b Fi(void)54 b(asn1_print_structure)d
-Fh(\()p Fg(FILE)31 b(*)f Ff(out)p Fg(,)i(asn1)p 2251
-1875 28 4 v 40 w(no)s(de)e Ff(structure)p Fg(,)565 1985
-y(const)h(c)m(har)g(*)f Ff(name)p Fg(,)i(in)m(t)f Ff(mode)p
-Fh(\))390 2095 y Fg(out)r Fr(:)41 b(p)s(oin)m(ter)30
+1875 y Fs([F)-8 b(unction])-3599 b Fj(void)54 b(asn1_print_structure)d
+Fi(\()p Fh(FILE)34 b(*)f Fg(out)p Fh(,)g(asn1)p 2304
+1875 30 5 v 45 w(no)s(de)g Fg(structure)p Fh(,)565 1985
+y(const)h(c)m(har)g(*)f Fg(name)p Fh(,)h(in)m(t)f Fg(mode)p
+Fi(\))390 2095 y Ff(out)r Fs(:)41 b(p)s(oin)m(ter)30
b(to)h(the)g(output)f(\014le)g(\(e.g.)43 b(stdout\).)390
-2228 y Fg(structure)5 b Fr(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f
+2228 y Ff(structure)5 b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f
(structure)g(that)h(y)m(ou)g(w)m(an)m(t)g(to)g(visit.)390
-2360 y Fg(name)5 b Fr(:)41 b(an)30 b(elemen)m(t)i(of)f(the)f(structure)
-390 2493 y Fg(mo)s(de)5 b Fr(:)40 b(sp)s(ecify)30 b(ho)m(w)h(m)m(uc)m
+2360 y Ff(name)5 b Fs(:)41 b(an)30 b(elemen)m(t)i(of)f(the)f(structure)
+390 2493 y Ff(mo)s(de)5 b Fs(:)40 b(sp)s(ecify)30 b(ho)m(w)h(m)m(uc)m
(h)f(of)h(the)f(structure)g(to)h(prin)m(t,)f(can)h(b)s(e)f
-Fk(ASN1_PRINT_NAME)c Fr(,)k Fk(ASN1_)390 2603 y(PRINT_NAME_TYPE)c
-Fr(,)31 b Fk(ASN1_PRINT_NAME_TYPE_VA)o(LUE)24 b Fr(,)31
-b(or)f Fk(ASN1_PRINT_ALL)c Fr(.)390 2736 y(Prin)m(ts)33
-b(on)g(the)g Fk(out)f Fr(\014le)h(descriptor)f(the)h(structure's)g
-(tree)h(starting)f(from)g(the)g Fk(name)e Fr(elemen)m(t)390
-2845 y(inside)f(the)h(structure)f Fk(structure)d Fr(.)150
-3042 y Fj(asn1)p 396 3042 37 5 v 55 w(n)m(um)m(b)s(er)p
+Fl(ASN1_PRINT_NAME)c Fs(,)k Fl(ASN1_)390 2603 y(PRINT_NAME_TYPE)c
+Fs(,)31 b Fl(ASN1_PRINT_NAME_TYPE_VA)o(LUE)24 b Fs(,)31
+b(or)f Fl(ASN1_PRINT_ALL)c Fs(.)390 2736 y(Prin)m(ts)33
+b(on)g(the)g Fl(out)f Fs(\014le)h(descriptor)f(the)h(structure's)g
+(tree)h(starting)f(from)g(the)g Fl(name)e Fs(elemen)m(t)390
+2845 y(inside)f(the)h(structure)f Fl(structure)d Fs(.)150
+3042 y Fk(asn1)p 396 3042 37 5 v 55 w(n)m(um)m(b)s(er)p
860 3042 V 54 w(of)p 1012 3042 V 55 w(elemen)m(ts)3350
-3235 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_number_of_elemen)q
-(ts)f Fh(\()p Fg(asn1)p 1826 3235 28 4 v 40 w(no)s(de)30
-b Ff(element)p Fg(,)j(const)e(c)m(har)f(*)565 3345 y
-Ff(name)p Fg(,)i(in)m(t)f(*)g Ff(num)p Fh(\))390 3454
-y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(the)f(ro)s(ot)h(of)
-f(an)h(ASN1)f(structure.)390 3587 y Fg(name)5 b Fr(:)41
+3235 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_number_of_elemen)q
+(ts)f Fi(\()p Fh(asn1)p 1844 3235 30 5 v 44 w(no)s(de)34
+b Fg(element)p Fh(,)h(const)f(c)m(har)f(*)565 3345 y
+Fg(name)p Fh(,)h(in)m(t)f(*)g Fg(num)p Fi(\))390 3454
+y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31 b(to)g(the)f(ro)s(ot)h(of)
+f(an)h(ASN1)f(structure.)390 3587 y Ff(name)5 b Fs(:)41
b(the)30 b(name)h(of)f(a)h(sub-structure)e(of)i(R)m(OOT.)390
-3720 y Fg(n)m(um)p Fr(:)40 b(p)s(oin)m(ter)30 b(to)h(an)g(in)m(teger)g
+3720 y Ff(n)m(um)p Fs(:)40 b(p)s(oin)m(ter)30 b(to)h(an)g(in)m(teger)g
(where)f(the)h(result)f(will)h(b)s(e)f(stored)390 3853
y(Coun)m(ts)e(the)h(n)m(um)m(b)s(er)e(of)h(elemen)m(ts)i(of)f(a)f
(sub-structure)f(called)j(NAME)f(with)f(names)g(equal)h(to)390
-3963 y Fk(")p Fr(?1)p Fk(")p Fr(,)p Fk(")p Fr(?2)p Fk(")p
-Fr(,)h(...)390 4096 y Fe(Returns:)36 b Fk(ASN1_SUCCESS)18
-b Fr(if)k(successful,)h Fk(ASN1_ELEMENT_NOT_FOUND)15
-b Fr(if)22 b Fk(name)e Fr(is)h(not)h(kno)m(wn,)390 4205
-y Fk(ASN1_GENERIC_ERROR)j Fr(if)31 b(p)s(oin)m(ter)f
-Fk(num)g Fr(is)g Fk(NULL)f Fr(.)150 4401 y Fj(asn1)p
+3963 y Fl(")p Fs(?1)p Fl(")p Fs(,)p Fl(")p Fs(?2)p Fl(")p
+Fs(,)h(...)390 4096 y Fe(Returns:)36 b Fl(ASN1_SUCCESS)18
+b Fs(if)k(successful,)h Fl(ASN1_ELEMENT_NOT_FOUND)15
+b Fs(if)22 b Fl(name)e Fs(is)h(not)h(kno)m(wn,)390 4205
+y Fl(ASN1_GENERIC_ERROR)j Fs(if)31 b(p)s(oin)m(ter)f
+Fl(num)g Fs(is)g Fl(NULL)f Fs(.)150 4401 y Fk(asn1)p
396 4401 37 5 v 55 w(\014nd)p 655 4401 V 54 w(structure)p
1200 4401 V 54 w(from)p 1504 4401 V 55 w(oid)3350 4595
-y Fr([F)-8 b(unction])-3599 b Fi(const)54 b(char)f(*)g
-(asn1_find_structure_fr)q(om_)q(oid)f Fh(\()p Fg(asn1)p
-2558 4595 28 4 v 41 w(no)s(de)565 4704 y Ff(definitions)p
-Fg(,)34 b(const)d(c)m(har)g(*)f Ff(oidValue)p Fh(\))390
-4814 y Fg(de\014nitions)t Fr(:)40 b(ASN1)31 b(de\014nitions)390
-4947 y Fg(oidV)-8 b(alue)5 b Fr(:)42 b(v)-5 b(alue)31
-b(of)g(the)f(OID)g(to)i(searc)m(h)f(\(e.g.)42 b Fk(")p
-Fr(1.2.3.4)p Fk(")p Fr(\).)390 5080 y(Searc)m(h)31 b(the)f(structure)g
+y Fs([F)-8 b(unction])-3599 b Fj(const)54 b(char)f(*)g
+(asn1_find_structure_fr)q(om_)q(oid)f Fi(\()p Fh(asn1)p
+2576 4595 30 5 v 44 w(no)s(de)565 4704 y Fg(definitions)p
+Fh(,)36 b(const)e(c)m(har)g(*)f Fg(oidValue)p Fi(\))390
+4814 y Ff(de\014nitions)t Fs(:)40 b(ASN1)31 b(de\014nitions)390
+4947 y Ff(oidV)-8 b(alue)5 b Fs(:)42 b(v)-5 b(alue)31
+b(of)g(the)f(OID)g(to)i(searc)m(h)f(\(e.g.)42 b Fl(")p
+Fs(1.2.3.4)p Fl(")p Fs(\).)390 5080 y(Searc)m(h)31 b(the)f(structure)g
(that)h(is)g(de\014ned)e(just)g(after)i(an)g(OID)f(de\014nition.)390
-5213 y Fe(Returns:)41 b Fk(NULL)29 b Fr(when)h Fk(oidValue)e
-Fr(not)j(found,)e(otherwise)i(the)g(p)s(oin)m(ter)g(to)g(a)g(constan)m
+5213 y Fe(Returns:)41 b Fl(NULL)29 b Fs(when)h Fl(oidValue)e
+Fs(not)j(found,)e(otherwise)i(the)g(p)s(oin)m(ter)g(to)g(a)g(constan)m
(t)h(string)390 5322 y(that)f(con)m(tains)h(the)e(elemen)m(t)i(name)e
(de\014ned)g(just)f(after)i(the)g(OID.)p eop end
%%Page: 11 14
-TeXDict begin 11 13 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(11)150 299 y Fj(asn1)p
+TeXDict begin 11 13 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(11)150 299 y Fk(asn1)p
396 299 37 5 v 55 w(cop)m(y)p 697 299 V 53 w(no)s(de)3350
-493 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_copy_node)d
-Fh(\()p Fg(asn1)p 1355 493 28 4 v 41 w(no)s(de)29 b Ff(dst)p
-Fg(,)j(const)f(c)m(har)f(*)h Ff(dst_name)p Fg(,)565 603
-y(asn1)p 748 603 V 40 w(no)s(de)f Ff(src)p Fg(,)i(const)e(c)m(har)h(*)g
-Ff(src_name)p Fh(\))390 712 y Fg(dst)r Fr(:)40 b(Destination)32
-b(asn1)f(no)s(de.)390 845 y Fg(dst)p 518 845 V 40 w(name)5
-b Fr(:)41 b(Field)31 b(name)f(in)g(destination)h(no)s(de.)390
-979 y Fg(src)6 b Fr(:)40 b(Source)30 b(asn1)h(no)s(de.)390
-1112 y Fg(src)p 508 1112 V 40 w(name)5 b Fr(:)41 b(Field)31
+493 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_copy_node)d
+Fi(\()p Fh(asn1)p 1373 493 30 5 v 44 w(no)s(de)34 b Fg(dst)p
+Fh(,)g(const)g(c)m(har)g(*)f Fg(dst_name)p Fh(,)565 603
+y(asn1)p 766 603 V 44 w(no)s(de)h Fg(src)p Fh(,)g(const)f(c)m(har)h(*)f
+Fg(src_name)p Fi(\))390 712 y Ff(dst)r Fs(:)40 b(Destination)32
+b(asn1)f(no)s(de.)390 845 y Ff(dst)p 518 845 28 4 v 40
+w(name)5 b Fs(:)41 b(Field)31 b(name)f(in)g(destination)h(no)s(de.)390
+979 y Ff(src)6 b Fs(:)40 b(Source)30 b(asn1)h(no)s(de.)390
+1112 y Ff(src)p 508 1112 V 40 w(name)5 b Fs(:)41 b(Field)31
b(name)f(in)g(source)h(no)s(de.)390 1245 y(Create)39
b(a)f(deep)g(cop)m(y)h(of)f(a)g(asn1)p 1591 1245 V 40
w(no)s(de)g(v)-5 b(ariable.)64 b(That)38 b(function)g(requires)f
-Fk(dst)g Fr(to)i(b)s(e)e(ex-)390 1355 y(panded)29 b(using)h
-Fk(asn1_create_element\(\))25 b Fr(.)390 1488 y Fe(Returns:)40
-b Fr(Return)30 b Fk(ASN1_SUCCESS)d Fr(on)j(success.)150
-1685 y Fj(asn1)p 396 1685 37 5 v 55 w(dup)p 655 1685
-V 54 w(no)s(de)3350 1879 y Fr([F)-8 b(unction])-3599
-b Fi(asn1_node)55 b(asn1_dup_node)49 b Fh(\()p Fg(asn1)p
-1616 1879 28 4 v 41 w(no)s(de)30 b Ff(src)p Fg(,)h(const)g(c)m(har)g(*)
-g Ff(src_name)p Fh(\))390 1988 y Fg(src)6 b Fr(:)40 b(Source)30
-b(asn1)h(no)s(de.)390 2122 y Fg(src)p 508 2122 V 40 w(name)5
-b Fr(:)41 b(Field)31 b(name)f(in)g(source)h(no)s(de.)390
+Fl(dst)g Fs(to)i(b)s(e)e(ex-)390 1355 y(panded)29 b(using)h
+Fl(asn1_create_element\(\))25 b Fs(.)390 1488 y Fe(Returns:)40
+b Fs(Return)30 b Fl(ASN1_SUCCESS)d Fs(on)j(success.)150
+1685 y Fk(asn1)p 396 1685 37 5 v 55 w(dup)p 655 1685
+V 54 w(no)s(de)3350 1879 y Fs([F)-8 b(unction])-3599
+b Fj(asn1_node)55 b(asn1_dup_node)49 b Fi(\()p Fh(asn1)p
+1634 1879 30 5 v 45 w(no)s(de)34 b Fg(src)p Fh(,)f(const)h(c)m(har)g(*)
+f Fg(src_name)p Fi(\))390 1988 y Ff(src)6 b Fs(:)40 b(Source)30
+b(asn1)h(no)s(de.)390 2122 y Ff(src)p 508 2122 28 4 v
+40 w(name)5 b Fs(:)41 b(Field)31 b(name)f(in)g(source)h(no)s(de.)390
2255 y(Create)h(a)f(deep)g(cop)m(y)h(of)g(a)f(asn1)p
1550 2255 V 40 w(no)s(de)g(v)-5 b(ariable.)44 b(This)30
b(function)h(will)g(return)f(an)i(exact)g(cop)m(y)390
2364 y(of)f(the)f(pro)m(vided)g(structure.)390 2498 y
-Fe(Returns:)40 b Fr(Return)30 b Fk(NULL)f Fr(on)h(failure.)150
-2694 y Fj(asn1)p 396 2694 37 5 v 55 w(write)p 728 2694
-V 53 w(v)-7 b(alue)3350 2888 y Fr([F)f(unction])-3599
-b Fi(int)53 b(asn1_write_value)e Fh(\()p Fg(asn1)p 1460
-2888 28 4 v 40 w(no)s(de)30 b Ff(node_root)p Fg(,)j(const)e(c)m(har)g
-(*)g Ff(name)p Fg(,)565 2998 y(const)g(v)m(oid)g(*)g
-Ff(ivalue)p Fg(,)h(in)m(t)f Ff(len)p Fh(\))390 3108 y
-Fg(no)s(de)p 586 3108 V 39 w(ro)s(ot)r Fr(:)41 b(p)s(oin)m(ter)31
-b(to)g(a)g(structure)390 3241 y Fg(name)5 b Fr(:)41 b(the)30
+Fe(Returns:)40 b Fs(Return)30 b Fl(NULL)f Fs(on)h(failure.)150
+2694 y Fk(asn1)p 396 2694 37 5 v 55 w(write)p 728 2694
+V 53 w(v)-7 b(alue)3350 2888 y Fs([F)f(unction])-3599
+b Fj(int)53 b(asn1_write_value)e Fi(\()p Fh(asn1)p 1478
+2888 30 5 v 44 w(no)s(de)34 b Fg(node_root)p Fh(,)h(const)f(c)m(har)g
+(*)f Fg(name)p Fh(,)565 2998 y(const)h(v)m(oid)f(*)g
+Fg(ivalue)p Fh(,)h(in)m(t)g Fg(len)p Fi(\))390 3108 y
+Ff(no)s(de)p 586 3108 28 4 v 39 w(ro)s(ot)r Fs(:)41 b(p)s(oin)m(ter)31
+b(to)g(a)g(structure)390 3241 y Ff(name)5 b Fs(:)41 b(the)30
b(name)h(of)f(the)h(elemen)m(t)h(inside)e(the)g(structure)g(that)h(y)m
-(ou)g(w)m(an)m(t)g(to)g(set.)390 3374 y Fg(iv)-5 b(alue)5
-b Fr(:)45 b(v)m(ector)34 b(used)e(to)h(sp)s(ecify)f(the)g(v)-5
-b(alue)33 b(to)g(set.)47 b(If)32 b(len)g(is)h Fk(>)p
-Fr(0,)g(V)-10 b(ALUE)32 b(m)m(ust)g(b)s(e)g(a)g(t)m(w)m(o's)390
+(ou)g(w)m(an)m(t)g(to)g(set.)390 3374 y Ff(iv)-5 b(alue)5
+b Fs(:)45 b(v)m(ector)34 b(used)e(to)h(sp)s(ecify)f(the)g(v)-5
+b(alue)33 b(to)g(set.)47 b(If)32 b(len)g(is)h Fl(>)p
+Fs(0,)g(V)-10 b(ALUE)32 b(m)m(ust)g(b)s(e)g(a)g(t)m(w)m(o's)390
3484 y(complemen)m(t)k(form)e(in)m(teger.)56 b(if)35
b(len=0)g(*V)-10 b(ALUE)35 b(m)m(ust)g(b)s(e)f(a)h(n)m(ull)g
(terminated)g(string)g(with)390 3593 y(an)30 b(in)m(teger)i(v)-5
-b(alue.)390 3726 y Fg(len)p Fr(:)53 b(n)m(um)m(b)s(er)35
+b(alue.)390 3726 y Ff(len)p Fs(:)53 b(n)m(um)m(b)s(er)35
b(of)i(b)m(ytes)g(of)g(*v)-5 b(alue)38 b(to)f(use)f(to)h(set)h(the)e(v)
-5 b(alue:)54 b(v)-5 b(alue[0]..v)g(alue[len-1])40 b(or)d(0)g(if)390
3836 y(v)-5 b(alue)31 b(is)f(a)h(n)m(ull)f(terminated)h(string)390
@@ -6713,937 +6713,949 @@ b(of)i(b)m(ytes)g(of)g(*v)-5 b(alue)38 b(to)f(use)f(to)h(set)h(the)e(v)
h(structure.)390 4102 y(If)23 b(an)g(elemen)m(t)i(is)e(OPTIONAL)f(and)g
(y)m(ou)i(w)m(an)m(t)g(to)g(delete)g(it,)i(y)m(ou)d(m)m(ust)g(use)g
(the)h(v)-5 b(alue=NULL)390 4212 y(and)30 b(len=0.)41
-b(Using)30 b Fk(")p Fr(pkix.asn)p Fk(")p Fr(:)390 4345
+b(Using)30 b Fl(")p Fs(pkix.asn)p Fl(")p Fs(:)390 4345
y(result=asn1)p 867 4345 V 40 w(write)p 1109 4345 V 40
-w(v)-5 b(alue\(cert,)32 b Fk(")p Fr(tbsCerti\014cate.issuerUniqueID)p
-Fk(")p Fr(,)f(NULL,)g(0\);)390 4478 y(Description)g(for)f(eac)m(h)i(t)m
-(yp)s(e:)390 4612 y Fe(INTEGER:)f Fr(V)-10 b(ALUE)30
+w(v)-5 b(alue\(cert,)32 b Fl(")p Fs(tbsCerti\014cate.issuerUniqueID)p
+Fl(")p Fs(,)f(NULL,)g(0\);)390 4478 y(Description)g(for)f(eac)m(h)i(t)m
+(yp)s(e:)390 4612 y Fe(INTEGER:)f Fs(V)-10 b(ALUE)30
b(m)m(ust)g(con)m(tain)i(a)f(t)m(w)m(o's)h(complemen)m(t)f(form)f(in)m
(teger.)390 4745 y(v)-5 b(alue[0]=0xFF)52 b(,)e(len=1)g(-)p
-Fk(>)g Fr(in)m(teger=-1.)101 b(v)-5 b(alue[0]=0xFF)52
-b(v)-5 b(alue[1]=0xFF)52 b(,)e(len=2)g(-)p Fk(>)390 4854
-y Fr(in)m(teger=-1.)85 b(v)-5 b(alue[0]=0x01)46 b(,)i(len=1)d(-)p
-Fk(>)f Fr(in)m(teger=)i(1.)83 b(v)-5 b(alue[0]=0x00)47
+Fl(>)g Fs(in)m(teger=-1.)101 b(v)-5 b(alue[0]=0xFF)52
+b(v)-5 b(alue[1]=0xFF)52 b(,)e(len=2)g(-)p Fl(>)390 4854
+y Fs(in)m(teger=-1.)85 b(v)-5 b(alue[0]=0x01)46 b(,)i(len=1)d(-)p
+Fl(>)f Fs(in)m(teger=)i(1.)83 b(v)-5 b(alue[0]=0x00)47
b(v)-5 b(alue[1]=0x01)47 b(,)390 4964 y(len=2)31 b(-)p
-Fk(>)f Fr(in)m(teger=)h(1.)42 b(v)-5 b(alue=)p Fk(")p
-Fr(123)p Fk(")31 b Fr(,)f(len=0)h(-)p Fk(>)f Fr(in)m(teger=)i(123.)390
-5097 y Fe(ENUMERA)-8 b(TED:)30 b Fr(As)g(INTEGER)g(\(but)g(only)h(with)
+Fl(>)f Fs(in)m(teger=)h(1.)42 b(v)-5 b(alue=)p Fl(")p
+Fs(123)p Fl(")31 b Fs(,)f(len=0)h(-)p Fl(>)f Fs(in)m(teger=)i(123.)390
+5097 y Fe(ENUMERA)-8 b(TED:)30 b Fs(As)g(INTEGER)g(\(but)g(only)h(with)
f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 5230 y
-Fe(BOOLEAN:)g Fr(V)-10 b(ALUE)35 b(m)m(ust)f(b)s(e)f(the)i(n)m(ull)f
-(terminated)g(string)h Fk(")p Fr(TR)m(UE)p Fk(")e Fr(or)h
-Fk(")p Fr(F)-10 b(ALSE)p Fk(")34 b Fr(and)390 5340 y(LEN)c(!=)g(0.)p
+Fe(BOOLEAN:)g Fs(V)-10 b(ALUE)35 b(m)m(ust)f(b)s(e)f(the)i(n)m(ull)f
+(terminated)g(string)h Fl(")p Fs(TR)m(UE)p Fl(")e Fs(or)h
+Fl(")p Fs(F)-10 b(ALSE)p Fl(")34 b Fs(and)390 5340 y(LEN)c(!=)g(0.)p
eop end
%%Page: 12 15
-TeXDict begin 12 14 bop 150 -116 a Fr(Chapter)30 b(4:)41
+TeXDict begin 12 14 bop 150 -116 a Fs(Chapter)30 b(4:)41
b(F)-8 b(unction)31 b(reference)2313 b(12)390 299 y(v)-5
-b(alue=)p Fk(")p Fr(TR)m(UE)p Fk(")88 b Fr(,)103 b(len=1)89
-b(-)p Fk(>)g Fr(b)s(o)s(olean=TR)m(UE.)f(v)-5 b(alue=)p
-Fk(")p Fr(F)-10 b(ALSE)p Fk(")88 b Fr(,)103 b(len=1)89
-b(-)p Fk(>)390 408 y Fr(b)s(o)s(olean=F)-10 b(ALSE.)390
+b(alue=)p Fl(")p Fs(TR)m(UE)p Fl(")88 b Fs(,)103 b(len=1)89
+b(-)p Fl(>)g Fs(b)s(o)s(olean=TR)m(UE.)f(v)-5 b(alue=)p
+Fl(")p Fs(F)-10 b(ALSE)p Fl(")88 b Fs(,)103 b(len=1)89
+b(-)p Fl(>)390 408 y Fs(b)s(o)s(olean=F)-10 b(ALSE.)390
538 y(OBJECT)26 b(IDENTIFIER:)h(V)-10 b(ALUE)27 b(m)m(ust)g(b)s(e)g(a)g
(n)m(ull)g(terminated)h(string)f(with)g(eac)m(h)h(n)m(um)m(b)s(er)390
-648 y(separated)j(b)m(y)f(a)h(dot)f(\(e.g.)43 b Fk(")p
-Fr(1.2.3.543.1)p Fk(")p Fr(\).)h(LEN)30 b(!=)h(0.)390
-777 y(v)-5 b(alue=)p Fk(")p Fr(1)31 b(2)f(840)i(10040)h(4)d(3)p
-Fk(")h Fr(,)g(len=1)f(-)p Fk(>)g Fr(OID=dsa-with-sha.)390
-907 y Fe(UTCTime:)84 b Fr(V)-10 b(ALUE)53 b(m)m(ust)f(b)s(e)f(a)i(n)m
+648 y(separated)j(b)m(y)f(a)h(dot)f(\(e.g.)43 b Fl(")p
+Fs(1.2.3.543.1)p Fl(")p Fs(\).)h(LEN)30 b(!=)h(0.)390
+777 y(v)-5 b(alue=)p Fl(")p Fs(1)31 b(2)f(840)i(10040)h(4)d(3)p
+Fl(")h Fs(,)g(len=1)f(-)p Fl(>)g Fs(OID=dsa-with-sha.)390
+907 y Fe(UTCTime:)84 b Fs(V)-10 b(ALUE)53 b(m)m(ust)f(b)s(e)f(a)i(n)m
(ull)f(terminated)g(string)g(in)g(one)h(of)f(these)g(formats:)390
-1017 y Fk(")p Fr(YYMMDDhhmmssZ)p Fk(")p Fr(,)118 b Fk(")p
-Fr(YYMMDDhhmmssZ)p Fk(")p Fr(,)g Fk(")p Fr(YYMMDDhhmmss)p
-Fk(+)p Fr(hh'mm')p Fk(")p Fr(,)390 1126 y Fk(")p Fr
-(YYMMDDhhmmss-hh'mm')p Fk(")p Fr(,)40 b Fk(")p Fr(YYMMDDhhmm)p
-Fk(+)p Fr(hh'mm')p Fk(")p Fr(,)g(or)f Fk(")p Fr(YYMMDDhhmm-)390
-1236 y(hh'mm')p Fk(")p Fr(.)g(LEN)31 b(!=)f(0.)390 1365
-y(v)-5 b(alue=)p Fk(")p Fr(9801011200Z)p Fk(")43 b Fr(,)f(len=1)e(-)p
-Fk(>)f Fr(time=Jann)m(uary)g(1st,)k(1998)e(at)f(12h)g(00m)g(Green)m
+1017 y Fl(")p Fs(YYMMDDhhmmssZ)p Fl(")p Fs(,)118 b Fl(")p
+Fs(YYMMDDhhmmssZ)p Fl(")p Fs(,)g Fl(")p Fs(YYMMDDhhmmss)p
+Fl(+)p Fs(hh'mm')p Fl(")p Fs(,)390 1126 y Fl(")p Fs
+(YYMMDDhhmmss-hh'mm')p Fl(")p Fs(,)40 b Fl(")p Fs(YYMMDDhhmm)p
+Fl(+)p Fs(hh'mm')p Fl(")p Fs(,)g(or)f Fl(")p Fs(YYMMDDhhmm-)390
+1236 y(hh'mm')p Fl(")p Fs(.)g(LEN)31 b(!=)f(0.)390 1365
+y(v)-5 b(alue=)p Fl(")p Fs(9801011200Z)p Fl(")43 b Fs(,)f(len=1)e(-)p
+Fl(>)f Fs(time=Jann)m(uary)g(1st,)k(1998)e(at)f(12h)g(00m)g(Green)m
(wic)m(h)390 1475 y(Mean)31 b(Time)390 1605 y Fe(GeneralizedTime:)94
-b Fr(V)-10 b(ALUE)56 b(m)m(ust)f(b)s(e)h(in)f(one)h(of)g(this)g
-(format:)92 b Fk(")p Fr(YYYYMMDDhh-)390 1714 y(mmss.sZ)p
-Fk(")p Fr(,)185 b Fk(")p Fr(YYYYMMDDhhmmss.sZ)p Fk(")p
-Fr(,)h Fk(")p Fr(YYYYMMDDhhmmss.s)p Fk(+)p Fr(hh'mm')p
-Fk(")p Fr(,)390 1824 y Fk(")p Fr(YYYYMMDDhhmmss.s-hh'mm')p
-Fk(")p Fr(,)279 b Fk(")p Fr(YYYYMMDDhhmm)p Fk(+)p Fr(hh'mm')p
-Fk(")p Fr(,)g(or)390 1933 y Fk(")p Fr(YYYYMMDDhhmm-hh'mm')p
-Fk(")36 b Fr(where)h(ss.s)f(indicates)i(the)f(seconds)f(with)h(an)m(y)g
-(precision)390 2043 y(lik)m(e)32 b Fk(")p Fr(10.1)p Fk(")f
-Fr(or)f Fk(")p Fr(01.02)p Fk(")p Fr(.)43 b(LEN)30 b(!=)g(0)390
-2172 y(v)-5 b(alue=)p Fk(")p Fr(2001010112001.1)q(2-0)q(70)q(0)p
-Fk(")50 b Fr(,)e(len=1)c(-)p Fk(>)h Fr(time=Jann)m(uary)e(1st,)49
+b Fs(V)-10 b(ALUE)56 b(m)m(ust)f(b)s(e)h(in)f(one)h(of)g(this)g
+(format:)92 b Fl(")p Fs(YYYYMMDDhh-)390 1714 y(mmss.sZ)p
+Fl(")p Fs(,)185 b Fl(")p Fs(YYYYMMDDhhmmss.sZ)p Fl(")p
+Fs(,)h Fl(")p Fs(YYYYMMDDhhmmss.s)p Fl(+)p Fs(hh'mm')p
+Fl(")p Fs(,)390 1824 y Fl(")p Fs(YYYYMMDDhhmmss.s-hh'mm')p
+Fl(")p Fs(,)279 b Fl(")p Fs(YYYYMMDDhhmm)p Fl(+)p Fs(hh'mm')p
+Fl(")p Fs(,)g(or)390 1933 y Fl(")p Fs(YYYYMMDDhhmm-hh'mm')p
+Fl(")36 b Fs(where)h(ss.s)f(indicates)i(the)f(seconds)f(with)h(an)m(y)g
+(precision)390 2043 y(lik)m(e)32 b Fl(")p Fs(10.1)p Fl(")f
+Fs(or)f Fl(")p Fs(01.02)p Fl(")p Fs(.)43 b(LEN)30 b(!=)g(0)390
+2172 y(v)-5 b(alue=)p Fl(")p Fs(2001010112001.1)q(2-0)q(70)q(0)p
+Fl(")50 b Fs(,)e(len=1)c(-)p Fl(>)h Fs(time=Jann)m(uary)e(1st,)49
b(2001)d(at)f(12h)f(00m)390 2282 y(01.12s)32 b(P)m(aci\014c)g(Da)m
(yligh)m(t)h(Time)390 2412 y(OCTET)22 b(STRING:)h(V)-10
b(ALUE)23 b(con)m(tains)h(the)g(o)s(ctet)g(string)g(and)e(LEN)h(is)h
(the)f(n)m(um)m(b)s(er)f(of)h(o)s(ctets.)390 2541 y(v)-5
-b(alue=)p Fk(")p Fr($)p Fk(\\)p Fr(bac)m(kslash$x01$)p
-Fk(\\)p Fr(bac)m(kslash$x02$)p Fk(\\)p Fr(bac)m(kslash$x03)q
-Fk(")62 b Fr(,)g(len=3)57 b(-)p Fk(>)f Fr(three)g(b)m(ytes)390
+b(alue=)p Fl(")p Fs($)p Fl(\\)p Fs(bac)m(kslash$x01$)p
+Fl(\\)p Fs(bac)m(kslash$x02$)p Fl(\\)p Fs(bac)m(kslash$x03)q
+Fl(")62 b Fs(,)g(len=3)57 b(-)p Fl(>)f Fs(three)g(b)m(ytes)390
2651 y(o)s(ctet)32 b(string)390 2781 y Fe(GeneralString:)42
-b Fr(V)-10 b(ALUE)30 b(con)m(tains)h(the)g(generalstring)g(and)f(LEN)g
+b Fs(V)-10 b(ALUE)30 b(con)m(tains)h(the)g(generalstring)g(and)f(LEN)g
(is)g(the)g(n)m(um)m(b)s(er)f(of)h(o)s(ctets.)390 2910
-y(v)-5 b(alue=)p Fk(")p Fr($)p Fk(\\)p Fr(bac)m(kslash$x01$)p
-Fk(\\)p Fr(bac)m(kslash$x02$)p Fk(\\)p Fr(bac)m(kslash$x03)q
-Fk(")62 b Fr(,)g(len=3)57 b(-)p Fk(>)f Fr(three)g(b)m(ytes)390
+y(v)-5 b(alue=)p Fl(")p Fs($)p Fl(\\)p Fs(bac)m(kslash$x01$)p
+Fl(\\)p Fs(bac)m(kslash$x02$)p Fl(\\)p Fs(bac)m(kslash$x03)q
+Fl(")62 b Fs(,)g(len=3)57 b(-)p Fl(>)f Fs(three)g(b)m(ytes)390
3020 y(generalstring)390 3149 y(BIT)39 b(STRING:)g(V)-10
b(ALUE)39 b(con)m(tains)h(the)g(bit)f(string)g(organized)h(b)m(y)f(b)m
(ytes)h(and)f(LEN)g(is)g(the)390 3259 y(n)m(um)m(b)s(er)29
-b(of)i(bits.)390 3389 y(v)-5 b(alue=)p Fk(")p Fr($)p
-Fk(\\)p Fr(bac)m(kslash$xCF)p Fk(")31 b Fr(,)g(len=6)g(-)p
-Fk(>)f Fr(bit)g(string=)p Fk(")p Fr(110011)p Fk(")j Fr(\(six)d(bits\))
-390 3518 y Fe(CHOICE:)f Fr(if)g(NAME)g(indicates)h(a)g(c)m(hoice)g(t)m
+b(of)i(bits.)390 3389 y(v)-5 b(alue=)p Fl(")p Fs($)p
+Fl(\\)p Fs(bac)m(kslash$xCF)p Fl(")31 b Fs(,)g(len=6)g(-)p
+Fl(>)f Fs(bit)g(string=)p Fl(")p Fs(110011)p Fl(")j Fs(\(six)d(bits\))
+390 3518 y Fe(CHOICE:)f Fs(if)g(NAME)g(indicates)h(a)g(c)m(hoice)g(t)m
(yp)s(e,)g(V)-10 b(ALUE)29 b(m)m(ust)g(sp)s(ecify)g(one)g(of)g(the)h
(alterna-)390 3628 y(tiv)m(es)i(with)e(a)g(n)m(ull)h(terminated)g
-(string.)40 b(LEN)31 b(!=)f(0.)41 b(Using)30 b Fk(")p
-Fr(pkix.asn)p Fk("\\)p Fr(:)390 3757 y(result=asn1)p
+(string.)40 b(LEN)31 b(!=)f(0.)41 b(Using)30 b Fl(")p
+Fs(pkix.asn)p Fl("\\)p Fs(:)390 3757 y(result=asn1)p
867 3757 28 4 v 40 w(write)p 1109 3757 V 40 w(v)-5 b(alue\(cert,)74
-b Fk(")p Fr(certi\014cate1.tbsCerti\014cate.sub)5 b(ject)p
-Fk(")p Fr(,)76 b Fk(")p Fr(rdnSequence)p Fk(")p Fr(,)390
-3867 y(1\);)390 3997 y Fe(ANY:)30 b Fr(V)-10 b(ALUE)31
+b Fl(")p Fs(certi\014cate1.tbsCerti\014cate.sub)5 b(ject)p
+Fl(")p Fs(,)76 b Fl(")p Fs(rdnSequence)p Fl(")p Fs(,)390
+3867 y(1\);)390 3997 y Fe(ANY:)30 b Fs(V)-10 b(ALUE)31
b(indicates)g(the)f(der)g(enco)s(ding)h(of)f(a)h(structure.)40
b(LEN)30 b(!=)h(0.)390 4126 y(SEQUENCE)i(OF:)h(V)-10
b(ALUE)34 b(m)m(ust)g(b)s(e)g(the)g(n)m(ull)g(terminated)h(string)f
-Fk(")p Fr(NEW)p Fk(")g Fr(and)f(LEN)h(!=)390 4236 y(0.)46
+Fl(")p Fs(NEW)p Fl(")g Fs(and)f(LEN)h(!=)390 4236 y(0.)46
b(With)32 b(this)g(instruction)g(another)g(elemen)m(t)i(is)e(app)s
(ended)e(in)h(the)i(sequence.)45 b(The)32 b(name)g(of)390
-4345 y(this)e(elemen)m(t)i(will)f(b)s(e)f Fk(")p Fr(?1)p
-Fk(")g Fr(if)g(it's)h(the)g(\014rst)e(one,)i Fk(")p Fr(?2)p
-Fk(")f Fr(for)g(the)h(second)f(and)g(so)h(on.)390 4475
-y(Using)g Fk(")p Fr(pkix.asn)p Fk("\\)p Fr(:)390 4605
+4345 y(this)e(elemen)m(t)i(will)f(b)s(e)f Fl(")p Fs(?1)p
+Fl(")g Fs(if)g(it's)h(the)g(\014rst)e(one,)i Fl(")p Fs(?2)p
+Fl(")f Fs(for)g(the)h(second)f(and)g(so)h(on.)390 4475
+y(Using)g Fl(")p Fs(pkix.asn)p Fl("\\)p Fs(:)390 4605
y(result=asn1)p 867 4605 V 40 w(write)p 1109 4605 V 40
-w(v)-5 b(alue\(cert,)241 b Fk(")p Fr
+w(v)-5 b(alue\(cert,)241 b Fl(")p Fs
(certi\014cate1.tbsCerti\014cate.sub)5 b(ject.rdnSequence)p
-Fk(")p Fr(,)390 4714 y Fk(")p Fr(NEW)p Fk(")p Fr(,)30
+Fl(")p Fs(,)390 4714 y Fl(")p Fs(NEW)p Fl(")p Fs(,)30
b(1\);)390 4844 y(SET)f(OF:)i(the)g(same)f(as)h(SEQUENCE)e(OF.)i(Using)
-f Fk(")p Fr(pkix.asn)p Fk(")p Fr(:)390 4973 y(result=asn1)p
+f Fl(")p Fs(pkix.asn)p Fl(")p Fs(:)390 4973 y(result=asn1)p
867 4973 V 40 w(write)p 1109 4973 V 40 w(v)-5 b(alue\(cert,)25
-b Fk(")p Fr(tbsCerti\014cate.sub)5 b(ject.rdnSequence.?LAST)p
-Fk(")p Fr(,)22 b Fk(")p Fr(NEW)p Fk(")p Fr(,)390 5083
-y(1\);)390 5213 y Fe(Returns:)38 b Fk(ASN1_SUCCESS)21
-b Fr(if)k(the)g(v)-5 b(alue)26 b(w)m(as)f(set,)i Fk
-(ASN1_ELEMENT_NOT_FOUND)19 b Fr(if)25 b Fk(name)f Fr(is)h(not)390
-5322 y(a)31 b(v)-5 b(alid)30 b(elemen)m(t,)j(and)c Fk
-(ASN1_VALUE_NOT_VALID)c Fr(if)31 b Fk(ivalue)d Fr(has)i(a)h(wrong)f
+b Fl(")p Fs(tbsCerti\014cate.sub)5 b(ject.rdnSequence.?LAST)p
+Fl(")p Fs(,)22 b Fl(")p Fs(NEW)p Fl(")p Fs(,)390 5083
+y(1\);)390 5213 y Fe(Returns:)38 b Fl(ASN1_SUCCESS)21
+b Fs(if)k(the)g(v)-5 b(alue)26 b(w)m(as)f(set,)i Fl
+(ASN1_ELEMENT_NOT_FOUND)19 b Fs(if)25 b Fl(name)f Fs(is)h(not)390
+5322 y(a)31 b(v)-5 b(alid)30 b(elemen)m(t,)j(and)c Fl
+(ASN1_VALUE_NOT_VALID)c Fs(if)31 b Fl(ivalue)d Fs(has)i(a)h(wrong)f
(format.)p eop end
%%Page: 13 16
-TeXDict begin 13 15 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(13)150 299 y Fj(asn1)p
+TeXDict begin 13 15 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(13)150 299 y Fk(asn1)p
396 299 37 5 v 55 w(read)p 685 299 V 54 w(v)-7 b(alue)3350
-493 y Fr([F)f(unction])-3599 b Fi(int)53 b(asn1_read_value)d
-Fh(\()p Fg(asn1)p 1407 493 28 4 v 41 w(no)s(de)30 b Ff(root)p
-Fg(,)h(const)g(c)m(har)g(*)g Ff(name)p Fg(,)g(v)m(oid)g(*)565
-602 y Ff(ivalue)p Fg(,)h(in)m(t)f(*)g Ff(len)p Fh(\))390
-712 y Fg(ro)s(ot)r Fr(:)41 b(p)s(oin)m(ter)30 b(to)i(a)e(structure.)390
-845 y Fg(name)5 b Fr(:)41 b(the)30 b(name)h(of)f(the)h(elemen)m(t)h
+494 y Fs([F)f(unction])-3599 b Fj(int)53 b(asn1_read_value)d
+Fi(\()p Fh(asn1)p 1425 494 30 5 v 45 w(no)s(de)33 b Fg(root)p
+Fh(,)i(const)e(c)m(har)h(*)f Fg(name)p Fh(,)h(v)m(oid)f(*)565
+604 y Fg(ivalue)p Fh(,)i(in)m(t)e(*)g Fg(len)p Fi(\))390
+714 y Ff(ro)s(ot)r Fs(:)41 b(p)s(oin)m(ter)30 b(to)i(a)e(structure.)390
+848 y Ff(name)5 b Fs(:)41 b(the)30 b(name)h(of)f(the)h(elemen)m(t)h
(inside)e(a)h(structure)f(that)h(y)m(ou)f(w)m(an)m(t)h(to)h(read.)390
-978 y Fg(iv)-5 b(alue)5 b Fr(:)45 b(v)m(ector)34 b(that)e(will)h(con)m
+981 y Ff(iv)-5 b(alue)5 b Fs(:)45 b(v)m(ector)34 b(that)e(will)h(con)m
(tain)g(the)g(elemen)m(t's)g(con)m(ten)m(t,)i(m)m(ust)d(b)s(e)g(a)g(p)s
-(oin)m(ter)g(to)h(memory)390 1088 y(cells)e(already)g(allo)s(cated)i
-(\(ma)m(y)e(b)s(e)f Fk(NULL)f Fr(\).)390 1221 y Fg(len)p
-Fr(:)41 b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*v)-5
+(oin)m(ter)g(to)h(memory)390 1091 y(cells)e(already)g(allo)s(cated)i
+(\(ma)m(y)e(b)s(e)f Fl(NULL)f Fs(\).)390 1225 y Ff(len)p
+Fs(:)41 b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*v)-5
b(alue:)41 b(v)-5 b(alue[0]..v)g(alue[len-1].)45 b(Initialy)31
-b(holds)f(the)h(sizeof)g(v)-5 b(alue.)390 1354 y(Returns)25
+b(holds)f(the)h(sizeof)g(v)-5 b(alue.)390 1359 y(Returns)25
b(the)h(v)-5 b(alue)27 b(of)f(one)g(elemen)m(t)i(inside)d(a)i
(structure.)39 b(If)25 b(an)h(elemen)m(t)i(is)e(OPTIONAL)f(and)390
-1463 y(this)j(returns)f Fk(ASN1_ELEMENT_NOT_FOUND)22
-b Fr(,)29 b(it)f(means)g(that)h(this)f(elemen)m(t)i(w)m(asn't)e(presen)
-m(t)g(in)390 1573 y(the)j(der)e(enco)s(ding)i(that)g(created)g(the)f
+1468 y(this)j(returns)f Fl(ASN1_ELEMENT_NOT_FOUND)22
+b Fs(,)29 b(it)f(means)g(that)h(this)f(elemen)m(t)i(w)m(asn't)e(presen)
+m(t)g(in)390 1578 y(the)j(der)e(enco)s(ding)i(that)g(created)g(the)f
(structure.)41 b(The)29 b(\014rst)h(elemen)m(t)i(of)e(a)h(SEQUENCE)p
-3587 1573 V 39 w(OF)390 1683 y(or)c(SET)p 683 1683 V
-39 w(OF)g(is)g(named)f Fk(")p Fr(?1)p Fk(")p Fr(.)40
-b(The)26 b(second)h(one)g Fk(")p Fr(?2)p Fk(")g Fr(and)f(so)h(on.)40
-b(If)26 b(the)h Fk(root)f Fr(pro)m(vided)h(is)g(a)390
-1792 y(no)s(de)c(to)i(sp)s(eci\014c)f(sequence)h(elemen)m(t,)i(then)d
-(the)g(k)m(eyw)m(ord)h Fk(")p Fr(?CURRENT)p Fk(")e Fr(is)h(also)h
-(acceptable)390 1902 y(and)30 b(indicates)h(the)g(curren)m(t)f
-(sequence)h(elemen)m(t)g(of)g(this)f(no)s(de.)390 2035
+3587 1578 28 4 v 39 w(OF)390 1688 y(or)c(SET)p 683 1688
+V 39 w(OF)g(is)g(named)f Fl(")p Fs(?1)p Fl(")p Fs(.)40
+b(The)26 b(second)h(one)g Fl(")p Fs(?2)p Fl(")g Fs(and)f(so)h(on.)40
+b(If)26 b(the)h Fl(root)f Fs(pro)m(vided)h(is)g(a)390
+1797 y(no)s(de)c(to)i(sp)s(eci\014c)f(sequence)h(elemen)m(t,)i(then)d
+(the)g(k)m(eyw)m(ord)h Fl(")p Fs(?CURRENT)p Fl(")e Fs(is)h(also)h
+(acceptable)390 1907 y(and)30 b(indicates)h(the)g(curren)m(t)f
+(sequence)h(elemen)m(t)g(of)g(this)f(no)s(de.)390 2041
y(Note)i(that)f(there)g(can)g(b)s(e)f(v)-5 b(alid)31
b(v)-5 b(alues)31 b(with)f(length)h(zero.)42 b(In)30
-b(these)h(case)h(this)e(function)h(will)390 2144 y(succeed)g(and)f
-Fk(len)f Fr(will)i(b)s(e)e(zero.)390 2277 y Fe(INTEGER:)i
-Fr(V)-10 b(ALUE)30 b(will)h(con)m(tain)h(a)e(t)m(w)m(o's)i(complemen)m
-(t)g(form)e(in)m(teger.)390 2410 y(in)m(teger=-1)i(-)p
-Fk(>)f Fr(v)-5 b(alue[0]=0xFF)32 b(,)f(len=1.)41 b(in)m(teger=1)32
-b(-)p Fk(>)e Fr(v)-5 b(alue[0]=0x01)33 b(,)d(len=1.)390
-2544 y Fe(ENUMERA)-8 b(TED:)30 b Fr(As)g(INTEGER)g(\(but)g(only)h(with)
-f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 2677 y
-Fe(BOOLEAN:)38 b Fr(V)-10 b(ALUE)39 b(will)h(b)s(e)e(the)h(n)m(ull)g
-(terminated)h(string)f Fk(")p Fr(TR)m(UE)p Fk(")f Fr(or)h
-Fk(")p Fr(F)-10 b(ALSE)p Fk(")39 b Fr(and)390 2786 y(LEN=5)30
-b(or)h(LEN=6.)390 2919 y(OBJECT)g(IDENTIFIER:)h(V)-10
+b(these)h(case)h(this)e(function)h(will)390 2150 y(succeed)g(and)f
+Fl(len)f Fs(will)i(b)s(e)e(zero.)390 2284 y Fe(INTEGER:)i
+Fs(V)-10 b(ALUE)30 b(will)h(con)m(tain)h(a)e(t)m(w)m(o's)i(complemen)m
+(t)g(form)e(in)m(teger.)390 2418 y(in)m(teger=-1)i(-)p
+Fl(>)f Fs(v)-5 b(alue[0]=0xFF)32 b(,)f(len=1.)41 b(in)m(teger=1)32
+b(-)p Fl(>)e Fs(v)-5 b(alue[0]=0x01)33 b(,)d(len=1.)390
+2552 y Fe(ENUMERA)-8 b(TED:)30 b Fs(As)g(INTEGER)g(\(but)g(only)h(with)
+f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 2686 y
+Fe(BOOLEAN:)38 b Fs(V)-10 b(ALUE)39 b(will)h(b)s(e)e(the)h(n)m(ull)g
+(terminated)h(string)f Fl(")p Fs(TR)m(UE)p Fl(")f Fs(or)h
+Fl(")p Fs(F)-10 b(ALSE)p Fl(")39 b Fs(and)390 2795 y(LEN=5)30
+b(or)h(LEN=6.)390 2929 y(OBJECT)g(IDENTIFIER:)h(V)-10
b(ALUE)32 b(will)g(b)s(e)g(a)g(n)m(ull)g(terminated)g(string)g(with)g
-(eac)m(h)h(n)m(um)m(b)s(er)390 3029 y(separated)e(b)m(y)f(a)h(dot)f
-(\(i.e.)42 b Fk(")p Fr(1.2.3.543.1)p Fk(")p Fr(\).)390
-3162 y(LEN)30 b(=)g(strlen\(V)-10 b(ALUE\))p Fk(+)p Fr(1)390
-3295 y Fe(UTCTime:)41 b Fr(V)-10 b(ALUE)30 b(will)h(b)s(e)e(a)i(n)m
+(eac)m(h)h(n)m(um)m(b)s(er)390 3039 y(separated)e(b)m(y)f(a)h(dot)f
+(\(i.e.)42 b Fl(")p Fs(1.2.3.543.1)p Fl(")p Fs(\).)390
+3173 y(LEN)30 b(=)g(strlen\(V)-10 b(ALUE\))p Fl(+)p Fs(1)390
+3307 y Fe(UTCTime:)41 b Fs(V)-10 b(ALUE)30 b(will)h(b)s(e)e(a)i(n)m
(ull)f(terminated)h(string)f(in)g(one)g(of)h(these)f(formats:)41
-b Fk(")p Fr(YYM-)390 3405 y(MDDhhmmss)p Fk(+)p Fr(hh'mm')p
-Fk(")28 b Fr(or)j Fk(")p Fr(YYMMDDhhmmss-hh'mm')p Fk(")p
-Fr(.)39 b(LEN=strlen\(V)-10 b(ALUE\))p Fk(+)p Fr(1.)390
-3538 y Fe(GeneralizedTime:)48 b Fr(V)-10 b(ALUE)33 b(will)g(b)s(e)g(a)g
+b Fl(")p Fs(YYM-)390 3416 y(MDDhhmmss)p Fl(+)p Fs(hh'mm')p
+Fl(")28 b Fs(or)j Fl(")p Fs(YYMMDDhhmmss-hh'mm')p Fl(")p
+Fs(.)39 b(LEN=strlen\(V)-10 b(ALUE\))p Fl(+)p Fs(1.)390
+3550 y Fe(GeneralizedTime:)48 b Fs(V)-10 b(ALUE)33 b(will)g(b)s(e)g(a)g
(n)m(ull)g(terminated)g(string)g(in)g(the)g(same)g(format)h(used)390
-3647 y(to)d(set)g(the)g(v)-5 b(alue.)390 3780 y(OCTET)26
+3660 y(to)d(set)g(the)g(v)-5 b(alue.)390 3794 y(OCTET)26
b(STRING:)h(V)-10 b(ALUE)27 b(will)h(con)m(tain)h(the)f(o)s(ctet)h
(string)e(and)g(LEN)g(will)h(b)s(e)f(the)g(n)m(um)m(b)s(er)390
-3890 y(of)k(o)s(ctets.)390 4023 y Fe(GeneralString:)51
-b Fr(V)-10 b(ALUE)34 b(will)i(con)m(tain)g(the)f(generalstring)g(and)g
-(LEN)f(will)h(b)s(e)f(the)h(n)m(um)m(b)s(er)390 4133
-y(of)c(o)s(ctets.)390 4266 y(BIT)j(STRING:)h(V)-10 b(ALUE)34
+3903 y(of)k(o)s(ctets.)390 4037 y Fe(GeneralString:)51
+b Fs(V)-10 b(ALUE)34 b(will)i(con)m(tain)g(the)f(generalstring)g(and)g
+(LEN)f(will)h(b)s(e)f(the)h(n)m(um)m(b)s(er)390 4147
+y(of)c(o)s(ctets.)390 4281 y(BIT)j(STRING:)h(V)-10 b(ALUE)34
b(will)h(con)m(tain)h(the)f(bit)g(string)f(organized)i(b)m(y)e(b)m
-(ytes)h(and)f(LEN)h(will)390 4375 y(b)s(e)30 b(the)g(n)m(um)m(b)s(er)f
-(of)i(bits.)390 4508 y Fe(CHOICE:)j Fr(If)f(NAME)i(indicates)g(a)g(c)m
+(ytes)h(and)f(LEN)h(will)390 4390 y(b)s(e)30 b(the)g(n)m(um)m(b)s(er)f
+(of)i(bits.)390 4524 y Fe(CHOICE:)j Fs(If)f(NAME)i(indicates)g(a)g(c)m
(hoice)h(t)m(yp)s(e,)f(V)-10 b(ALUE)34 b(will)h(sp)s(ecify)f(the)g
-(alternativ)m(e)i(se-)390 4618 y(lected.)390 4751 y Fe(ANY:)h
-Fr(If)f(NAME)i(indicates)g(an)f(an)m(y)g(t)m(yp)s(e,)i(V)-10
+(alternativ)m(e)i(se-)390 4634 y(lected.)390 4768 y Fe(ANY:)h
+Fs(If)f(NAME)i(indicates)g(an)f(an)m(y)g(t)m(yp)s(e,)i(V)-10
b(ALUE)37 b(will)g(indicate)h(the)g(DER)f(enco)s(ding)g(of)390
-4860 y(the)31 b(structure)e(actually)j(used.)390 4994
-y Fe(Returns:)64 b Fk(ASN1_SUCCESS)38 b Fr(if)k(v)-5
-b(alue)42 b(is)g(returned,)i Fk(ASN1_ELEMENT_NOT_FOUND)36
-b Fr(if)42 b Fk(name)f Fr(is)390 5103 y(not)33 b(a)g(v)-5
-b(alid)34 b(elemen)m(t,)h Fk(ASN1_VALUE_NOT_FOUND)27
-b Fr(if)33 b(there)g(isn't)g(an)m(y)g(v)-5 b(alue)34
-b(for)e(the)h(elemen)m(t)390 5213 y(selected,)28 b(and)d
-Fk(ASN1_MEM_ERROR)c Fr(if)26 b(The)f(v)-5 b(alue)26 b(v)m(ector)h
+4877 y(the)31 b(structure)e(actually)j(used.)390 5011
+y Fe(Returns:)64 b Fl(ASN1_SUCCESS)38 b Fs(if)k(v)-5
+b(alue)42 b(is)g(returned,)i Fl(ASN1_ELEMENT_NOT_FOUND)36
+b Fs(if)42 b Fl(name)f Fs(is)390 5121 y(not)33 b(a)g(v)-5
+b(alid)34 b(elemen)m(t,)h Fl(ASN1_VALUE_NOT_FOUND)27
+b Fs(if)33 b(there)g(isn't)g(an)m(y)g(v)-5 b(alue)34
+b(for)e(the)h(elemen)m(t)390 5230 y(selected,)28 b(and)d
+Fl(ASN1_MEM_ERROR)c Fs(if)26 b(The)f(v)-5 b(alue)26 b(v)m(ector)h
(isn't)e(big)h(enough)f(to)h(store)g(the)g(result,)390
-5322 y(and)k(in)g(this)g(case)i Fk(len)d Fr(will)i(con)m(tain)g(the)g
-(n)m(um)m(b)s(er)e(of)i(b)m(ytes)f(needed.)p eop end
+5340 y(and)32 b(in)g(this)h(case)g Fl(len)f Fs(will)h(con)m(tain)h(the)
+f(n)m(um)m(b)s(er)e(of)i(b)m(ytes)g(needed.)47 b(On)32
+b(the)g(o)s(ccasion)i(that)p eop end
%%Page: 14 17
-TeXDict begin 14 16 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(14)150 299 y Fj(asn1)p
-396 299 37 5 v 55 w(read)p 685 299 V 54 w(v)-7 b(alue)p
-1015 299 V 53 w(t)m(yp)s(e)3350 481 y Fr([F)f(unction])-3599
-b Fi(int)53 b(asn1_read_value_type)f Fh(\()p Fg(asn1)p
-1669 481 28 4 v 40 w(no)s(de)29 b Ff(root)p Fg(,)i(const)e(c)m(har)h(*)
-f Ff(name)p Fg(,)i(v)m(oid)f(*)565 590 y Ff(ivalue)p
-Fg(,)i(in)m(t)f(*)g Ff(len)p Fg(,)h(unsigned)d(in)m(t)i(*)g
-Ff(etype)p Fh(\))390 700 y Fg(ro)s(ot)r Fr(:)41 b(p)s(oin)m(ter)30
-b(to)i(a)e(structure.)390 827 y Fg(name)5 b Fr(:)41 b(the)30
-b(name)h(of)f(the)h(elemen)m(t)h(inside)e(a)h(structure)f(that)h(y)m
-(ou)f(w)m(an)m(t)h(to)h(read.)390 954 y Fg(iv)-5 b(alue)5
-b Fr(:)45 b(v)m(ector)34 b(that)e(will)h(con)m(tain)g(the)g(elemen)m
-(t's)g(con)m(ten)m(t,)i(m)m(ust)d(b)s(e)g(a)g(p)s(oin)m(ter)g(to)h
-(memory)390 1063 y(cells)e(already)g(allo)s(cated)i(\(ma)m(y)e(b)s(e)f
-Fk(NULL)f Fr(\).)390 1190 y Fg(len)p Fr(:)41 b(n)m(um)m(b)s(er)29
+TeXDict begin 14 16 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(14)390 299 y(the)28
+b(stored)g(data)h(are)f(of)h(zero-length)g(this)f(function)g(ma)m(y)g
+(return)f Fl(ASN1_SUCCESS)e Fs(ev)m(en)k(if)f(the)390
+408 y(pro)m(vided)i Fl(len)f Fs(is)i(zero.)150 608 y
+Fk(asn1)p 396 608 37 5 v 55 w(read)p 685 608 V 54 w(v)-7
+b(alue)p 1015 608 V 53 w(t)m(yp)s(e)3350 805 y Fs([F)f(unction])-3599
+b Fj(int)53 b(asn1_read_value_type)f Fi(\()p Fh(asn1)p
+1687 805 30 5 v 44 w(no)s(de)34 b Fg(root)p Fh(,)g(const)g(c)m(har)g(*)
+f Fg(name)p Fh(,)565 915 y(v)m(oid)g(*)g Fg(ivalue)p
+Fh(,)i(in)m(t)e(*)g Fg(len)p Fh(,)h(unsigned)g(in)m(t)g(*)f
+Fg(etype)p Fi(\))390 1024 y Ff(ro)s(ot)r Fs(:)41 b(p)s(oin)m(ter)30
+b(to)i(a)e(structure.)390 1159 y Ff(name)5 b Fs(:)41
+b(the)30 b(name)h(of)f(the)h(elemen)m(t)h(inside)e(a)h(structure)f
+(that)h(y)m(ou)f(w)m(an)m(t)h(to)h(read.)390 1294 y Ff(iv)-5
+b(alue)5 b Fs(:)45 b(v)m(ector)34 b(that)e(will)h(con)m(tain)g(the)g
+(elemen)m(t's)g(con)m(ten)m(t,)i(m)m(ust)d(b)s(e)g(a)g(p)s(oin)m(ter)g
+(to)h(memory)390 1404 y(cells)e(already)g(allo)s(cated)i(\(ma)m(y)e(b)s
+(e)f Fl(NULL)f Fs(\).)390 1539 y Ff(len)p Fs(:)41 b(n)m(um)m(b)s(er)29
b(of)h(b)m(ytes)h(of)g(*v)-5 b(alue:)41 b(v)-5 b(alue[0]..v)g
(alue[len-1].)45 b(Initialy)31 b(holds)f(the)h(sizeof)g(v)-5
-b(alue.)390 1317 y Fg(et)m(yp)s(e)5 b Fr(:)41 b(The)30
+b(alue.)390 1673 y Ff(et)m(yp)s(e)5 b Fs(:)41 b(The)30
b(t)m(yp)s(e)h(of)f(the)h(v)-5 b(alue)31 b(read)f(\(ASN1)p
-2037 1317 V 41 w(ETYPE\))390 1445 y(Returns)k(the)g(t)m(yp)s(e)h(and)f
-(v)-5 b(alue)35 b(of)f(one)h(elemen)m(t)h(inside)e(a)h(structure.)52
-b(If)34 b(an)h(elemen)m(t)h(is)e(OP-)390 1554 y(TIONAL)41
-b(and)g(this)g(returns)f Fk(ASN1_ELEMENT_NOT_FOUND)c
-Fr(,)44 b(it)e(means)g(that)g(this)f(elemen)m(t)390 1664
+2037 1673 28 4 v 41 w(ETYPE\))390 1808 y(Returns)k(the)g(t)m(yp)s(e)h
+(and)f(v)-5 b(alue)35 b(of)f(one)h(elemen)m(t)h(inside)e(a)h
+(structure.)52 b(If)34 b(an)h(elemen)m(t)h(is)e(OP-)390
+1918 y(TIONAL)41 b(and)g(this)g(returns)f Fl(ASN1_ELEMENT_NOT_FOUND)c
+Fs(,)44 b(it)e(means)g(that)g(this)f(elemen)m(t)390 2027
y(w)m(asn't)36 b(presen)m(t)f(in)h(the)f(der)g(enco)s(ding)g(that)i
(created)f(the)g(structure.)55 b(The)35 b(\014rst)g(elemen)m(t)i(of)390
-1773 y(a)e(SEQUENCE)p 986 1773 V 39 w(OF)g(or)g(SET)p
-1485 1773 V 39 w(OF)f(is)h(named)g Fk(")p Fr(?1)p Fk(")p
-Fr(.)53 b(The)35 b(second)g(one)g Fk(")p Fr(?2)p Fk(")f
-Fr(and)g(so)h(on.)54 b(If)390 1883 y(the)31 b Fk(root)g
-Fr(pro)m(vided)f(is)i(a)f(no)s(de)g(to)h(sp)s(eci\014c)f(sequence)h
-(elemen)m(t,)h(then)e(the)h(k)m(eyw)m(ord)f Fk(")p Fr(?CUR-)390
-1992 y(RENT)p Fk(")f Fr(is)g(also)h(acceptable)i(and)d(indicates)h(the)
+2137 y(a)e(SEQUENCE)p 986 2137 V 39 w(OF)g(or)g(SET)p
+1485 2137 V 39 w(OF)f(is)h(named)g Fl(")p Fs(?1)p Fl(")p
+Fs(.)53 b(The)35 b(second)g(one)g Fl(")p Fs(?2)p Fl(")f
+Fs(and)g(so)h(on.)54 b(If)390 2247 y(the)31 b Fl(root)g
+Fs(pro)m(vided)f(is)i(a)f(no)s(de)g(to)h(sp)s(eci\014c)f(sequence)h
+(elemen)m(t,)h(then)e(the)h(k)m(eyw)m(ord)f Fl(")p Fs(?CUR-)390
+2356 y(RENT)p Fl(")f Fs(is)g(also)h(acceptable)i(and)d(indicates)h(the)
f(curren)m(t)h(sequence)f(elemen)m(t)i(of)f(this)f(no)s(de.)390
-2119 y(Note)i(that)f(there)g(can)g(b)s(e)f(v)-5 b(alid)31
+2491 y(Note)i(that)f(there)g(can)g(b)s(e)f(v)-5 b(alid)31
b(v)-5 b(alues)31 b(with)f(length)h(zero.)42 b(In)30
-b(these)h(case)h(this)e(function)h(will)390 2229 y(succeed)g(and)f
-Fk(len)f Fr(will)i(b)s(e)e(zero.)390 2356 y Fe(INTEGER:)i
-Fr(V)-10 b(ALUE)30 b(will)h(con)m(tain)h(a)e(t)m(w)m(o's)i(complemen)m
-(t)g(form)e(in)m(teger.)390 2483 y(in)m(teger=-1)i(-)p
-Fk(>)f Fr(v)-5 b(alue[0]=0xFF)32 b(,)f(len=1.)41 b(in)m(teger=1)32
-b(-)p Fk(>)e Fr(v)-5 b(alue[0]=0x01)33 b(,)d(len=1.)390
-2610 y Fe(ENUMERA)-8 b(TED:)30 b Fr(As)g(INTEGER)g(\(but)g(only)h(with)
-f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 2737 y
-Fe(BOOLEAN:)38 b Fr(V)-10 b(ALUE)39 b(will)h(b)s(e)e(the)h(n)m(ull)g
-(terminated)h(string)f Fk(")p Fr(TR)m(UE)p Fk(")f Fr(or)h
-Fk(")p Fr(F)-10 b(ALSE)p Fk(")39 b Fr(and)390 2847 y(LEN=5)30
-b(or)h(LEN=6.)390 2974 y(OBJECT)g(IDENTIFIER:)h(V)-10
+b(these)h(case)h(this)e(function)h(will)390 2601 y(succeed)g(and)f
+Fl(len)f Fs(will)i(b)s(e)e(zero.)390 2735 y Fe(INTEGER:)i
+Fs(V)-10 b(ALUE)30 b(will)h(con)m(tain)h(a)e(t)m(w)m(o's)i(complemen)m
+(t)g(form)e(in)m(teger.)390 2870 y(in)m(teger=-1)i(-)p
+Fl(>)f Fs(v)-5 b(alue[0]=0xFF)32 b(,)f(len=1.)41 b(in)m(teger=1)32
+b(-)p Fl(>)e Fs(v)-5 b(alue[0]=0x01)33 b(,)d(len=1.)390
+3005 y Fe(ENUMERA)-8 b(TED:)30 b Fs(As)g(INTEGER)g(\(but)g(only)h(with)
+f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 3140 y
+Fe(BOOLEAN:)38 b Fs(V)-10 b(ALUE)39 b(will)h(b)s(e)e(the)h(n)m(ull)g
+(terminated)h(string)f Fl(")p Fs(TR)m(UE)p Fl(")f Fs(or)h
+Fl(")p Fs(F)-10 b(ALSE)p Fl(")39 b Fs(and)390 3250 y(LEN=5)30
+b(or)h(LEN=6.)390 3384 y(OBJECT)g(IDENTIFIER:)h(V)-10
b(ALUE)32 b(will)g(b)s(e)g(a)g(n)m(ull)g(terminated)g(string)g(with)g
-(eac)m(h)h(n)m(um)m(b)s(er)390 3083 y(separated)e(b)m(y)f(a)h(dot)f
-(\(i.e.)42 b Fk(")p Fr(1.2.3.543.1)p Fk(")p Fr(\).)390
-3210 y(LEN)30 b(=)g(strlen\(V)-10 b(ALUE\))p Fk(+)p Fr(1)390
-3337 y Fe(UTCTime:)41 b Fr(V)-10 b(ALUE)30 b(will)h(b)s(e)e(a)i(n)m
+(eac)m(h)h(n)m(um)m(b)s(er)390 3494 y(separated)e(b)m(y)f(a)h(dot)f
+(\(i.e.)42 b Fl(")p Fs(1.2.3.543.1)p Fl(")p Fs(\).)390
+3629 y(LEN)30 b(=)g(strlen\(V)-10 b(ALUE\))p Fl(+)p Fs(1)390
+3764 y Fe(UTCTime:)41 b Fs(V)-10 b(ALUE)30 b(will)h(b)s(e)e(a)i(n)m
(ull)f(terminated)h(string)f(in)g(one)g(of)h(these)f(formats:)41
-b Fk(")p Fr(YYM-)390 3447 y(MDDhhmmss)p Fk(+)p Fr(hh'mm')p
-Fk(")28 b Fr(or)j Fk(")p Fr(YYMMDDhhmmss-hh'mm')p Fk(")p
-Fr(.)39 b(LEN=strlen\(V)-10 b(ALUE\))p Fk(+)p Fr(1.)390
-3574 y Fe(GeneralizedTime:)48 b Fr(V)-10 b(ALUE)33 b(will)g(b)s(e)g(a)g
+b Fl(")p Fs(YYM-)390 3873 y(MDDhhmmss)p Fl(+)p Fs(hh'mm')p
+Fl(")28 b Fs(or)j Fl(")p Fs(YYMMDDhhmmss-hh'mm')p Fl(")p
+Fs(.)39 b(LEN=strlen\(V)-10 b(ALUE\))p Fl(+)p Fs(1.)390
+4008 y Fe(GeneralizedTime:)48 b Fs(V)-10 b(ALUE)33 b(will)g(b)s(e)g(a)g
(n)m(ull)g(terminated)g(string)g(in)g(the)g(same)g(format)h(used)390
-3684 y(to)d(set)g(the)g(v)-5 b(alue.)390 3811 y(OCTET)26
+4118 y(to)d(set)g(the)g(v)-5 b(alue.)390 4253 y(OCTET)26
b(STRING:)h(V)-10 b(ALUE)27 b(will)h(con)m(tain)h(the)f(o)s(ctet)h
(string)e(and)g(LEN)g(will)h(b)s(e)f(the)g(n)m(um)m(b)s(er)390
-3920 y(of)k(o)s(ctets.)390 4047 y Fe(GeneralString:)51
-b Fr(V)-10 b(ALUE)34 b(will)i(con)m(tain)g(the)f(generalstring)g(and)g
-(LEN)f(will)h(b)s(e)f(the)h(n)m(um)m(b)s(er)390 4157
-y(of)c(o)s(ctets.)390 4284 y(BIT)j(STRING:)h(V)-10 b(ALUE)34
+4362 y(of)k(o)s(ctets.)390 4497 y Fe(GeneralString:)51
+b Fs(V)-10 b(ALUE)34 b(will)i(con)m(tain)g(the)f(generalstring)g(and)g
+(LEN)f(will)h(b)s(e)f(the)h(n)m(um)m(b)s(er)390 4607
+y(of)c(o)s(ctets.)390 4742 y(BIT)j(STRING:)h(V)-10 b(ALUE)34
b(will)h(con)m(tain)h(the)f(bit)g(string)f(organized)i(b)m(y)e(b)m
-(ytes)h(and)f(LEN)h(will)390 4393 y(b)s(e)30 b(the)g(n)m(um)m(b)s(er)f
-(of)i(bits.)390 4520 y Fe(CHOICE:)j Fr(If)f(NAME)i(indicates)g(a)g(c)m
+(ytes)h(and)f(LEN)h(will)390 4851 y(b)s(e)30 b(the)g(n)m(um)m(b)s(er)f
+(of)i(bits.)390 4986 y Fe(CHOICE:)j Fs(If)f(NAME)i(indicates)g(a)g(c)m
(hoice)h(t)m(yp)s(e,)f(V)-10 b(ALUE)34 b(will)h(sp)s(ecify)f(the)g
-(alternativ)m(e)i(se-)390 4630 y(lected.)390 4757 y Fe(ANY:)h
-Fr(If)f(NAME)i(indicates)g(an)f(an)m(y)g(t)m(yp)s(e,)i(V)-10
+(alternativ)m(e)i(se-)390 5096 y(lected.)390 5230 y Fe(ANY:)h
+Fs(If)f(NAME)i(indicates)g(an)f(an)m(y)g(t)m(yp)s(e,)i(V)-10
b(ALUE)37 b(will)g(indicate)h(the)g(DER)f(enco)s(ding)g(of)390
-4867 y(the)31 b(structure)e(actually)j(used.)390 4994
-y Fe(Returns:)64 b Fk(ASN1_SUCCESS)38 b Fr(if)k(v)-5
-b(alue)42 b(is)g(returned,)i Fk(ASN1_ELEMENT_NOT_FOUND)36
-b Fr(if)42 b Fk(name)f Fr(is)390 5103 y(not)33 b(a)g(v)-5
-b(alid)34 b(elemen)m(t,)h Fk(ASN1_VALUE_NOT_FOUND)27
-b Fr(if)33 b(there)g(isn't)g(an)m(y)g(v)-5 b(alue)34
-b(for)e(the)h(elemen)m(t)390 5213 y(selected,)28 b(and)d
-Fk(ASN1_MEM_ERROR)c Fr(if)26 b(The)f(v)-5 b(alue)26 b(v)m(ector)h
-(isn't)e(big)h(enough)f(to)h(store)g(the)g(result,)390
-5322 y(and)k(in)g(this)g(case)i Fk(len)d Fr(will)i(con)m(tain)g(the)g
-(n)m(um)m(b)s(er)e(of)i(b)m(ytes)f(needed.)p eop end
+5340 y(the)31 b(structure)e(actually)j(used.)p eop end
%%Page: 15 18
-TeXDict begin 15 17 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(15)150 299 y Fj(asn1)p
-396 299 37 5 v 55 w(read)p 685 299 V 54 w(tag)3350 494
-y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_read_tag)d
-Fh(\()p Fg(asn1)p 1303 494 28 4 v 40 w(no)s(de)30 b Ff(root)p
-Fg(,)i(const)f(c)m(har)f(*)h Ff(name)p Fg(,)h(in)m(t)f(*)565
-604 y Ff(tagValue)p Fg(,)i(in)m(t)e(*)g Ff(classValue)p
-Fh(\))390 714 y Fg(ro)s(ot)r Fr(:)41 b(p)s(oin)m(ter)30
-b(to)i(a)e(structure)390 847 y Fg(name)5 b Fr(:)41 b(the)30
-b(name)h(of)f(the)h(elemen)m(t)h(inside)e(a)h(structure.)390
-981 y Fg(tagV)-8 b(alue)5 b Fr(:)43 b(v)-5 b(ariable)31
-b(that)g(will)g(con)m(tain)h(the)e(T)-8 b(A)m(G)32 b(v)-5
-b(alue.)390 1115 y Fg(classV)d(alue)5 b Fr(:)43 b(v)-5
-b(ariable)31 b(that)g(will)g(sp)s(ecify)f(the)g(T)-8
-b(A)m(G)32 b(t)m(yp)s(e.)390 1249 y(Returns)40 b(the)h(T)-8
+TeXDict begin 15 17 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(15)390 299 y Fe(Returns:)64
+b Fl(ASN1_SUCCESS)38 b Fs(if)k(v)-5 b(alue)42 b(is)g(returned,)i
+Fl(ASN1_ELEMENT_NOT_FOUND)36 b Fs(if)42 b Fl(name)f Fs(is)390
+408 y(not)33 b(a)g(v)-5 b(alid)34 b(elemen)m(t,)h Fl
+(ASN1_VALUE_NOT_FOUND)27 b Fs(if)33 b(there)g(isn't)g(an)m(y)g(v)-5
+b(alue)34 b(for)e(the)h(elemen)m(t)390 518 y(selected,)28
+b(and)d Fl(ASN1_MEM_ERROR)c Fs(if)26 b(The)f(v)-5 b(alue)26
+b(v)m(ector)h(isn't)e(big)h(enough)f(to)h(store)g(the)g(result,)390
+628 y(and)32 b(in)g(this)h(case)g Fl(len)f Fs(will)h(con)m(tain)h(the)f
+(n)m(um)m(b)s(er)e(of)i(b)m(ytes)g(needed.)47 b(On)32
+b(the)g(o)s(ccasion)i(that)390 737 y(the)28 b(stored)g(data)h(are)f(of)
+h(zero-length)g(this)f(function)g(ma)m(y)g(return)f Fl(ASN1_SUCCESS)e
+Fs(ev)m(en)k(if)f(the)390 847 y(pro)m(vided)i Fl(len)f
+Fs(is)i(zero.)150 1051 y Fk(asn1)p 396 1051 37 5 v 55
+w(read)p 685 1051 V 54 w(tag)3350 1253 y Fs([F)-8 b(unction])-3599
+b Fj(int)53 b(asn1_read_tag)d Fi(\()p Fh(asn1)p 1321
+1253 30 5 v 44 w(no)s(de)34 b Fg(root)p Fh(,)g(const)g(c)m(har)g(*)f
+Fg(name)p Fh(,)h(in)m(t)f(*)565 1362 y Fg(tagValue)p
+Fh(,)i(in)m(t)f(*)f Fg(classValue)p Fi(\))390 1472 y
+Ff(ro)s(ot)r Fs(:)41 b(p)s(oin)m(ter)30 b(to)i(a)e(structure)390
+1612 y Ff(name)5 b Fs(:)41 b(the)30 b(name)h(of)f(the)h(elemen)m(t)h
+(inside)e(a)h(structure.)390 1751 y Ff(tagV)-8 b(alue)5
+b Fs(:)43 b(v)-5 b(ariable)31 b(that)g(will)g(con)m(tain)h(the)e(T)-8
+b(A)m(G)32 b(v)-5 b(alue.)390 1891 y Ff(classV)d(alue)5
+b Fs(:)43 b(v)-5 b(ariable)31 b(that)g(will)g(sp)s(ecify)f(the)g(T)-8
+b(A)m(G)32 b(t)m(yp)s(e.)390 2030 y(Returns)40 b(the)h(T)-8
b(A)m(G)41 b(and)f(the)h(CLASS)e(of)i(one)g(elemen)m(t)h(inside)e(a)h
-(structure.)71 b(CLASS)40 b(can)390 1359 y(ha)m(v)m(e)e(one)g(of)f
-(these)h(constan)m(ts:)56 b Fk(ASN1_CLASS_APPLICATION)31
-b Fr(,)39 b Fk(ASN1_CLASS_UNIVERSAL)32 b Fr(,)390 1468
-y Fk(ASN1_CLASS_PRIVATE)25 b Fr(or)31 b Fk(ASN1_CLASS_CONTEXT_SPEC)o
-(IFIC)24 b Fr(.)390 1602 y Fe(Returns:)37 b Fk(ASN1_SUCCESS)21
-b Fr(if)k(successful,)g Fk(ASN1_ELEMENT_NOT_FOUND)18
-b Fr(if)25 b Fk(name)e Fr(is)h(not)h(a)g(v)-5 b(alid)390
-1712 y(elemen)m(t.)150 1910 y Fj(asn1)p 396 1910 37 5
-v 55 w(read)p 685 1910 V 54 w(no)s(de)p 995 1910 V 55
-w(v)e(alue)3350 2105 y Fr([F)f(unction])-3599 b Fi(int)53
-b(asn1_read_node_value)f Fh(\()p Fg(asn1)p 1669 2105
-28 4 v 40 w(no)s(de)30 b Ff(node)p Fg(,)i(asn1)p 2371
-2105 V 40 w(data)p 2587 2105 V 41 w(no)s(de)p 2818 2105
-V 39 w(st)f(*)565 2215 y Ff(data)p Fh(\))390 2324 y Fg(no)s(de)5
-b Fr(:)40 b(p)s(oin)m(ter)31 b(to)g(a)f(no)s(de.)390
-2458 y Fg(data)p Fr(:)41 b(a)31 b(p)s(oin)m(t)g(to)g(a)f(asn1)p
-1315 2458 V 41 w(data)p 1532 2458 V 40 w(no)s(de)p 1762
-2458 V 40 w(st)390 2592 y(Returns)22 b(the)g(v)-5 b(alue)23
-b(a)g(data)h(no)s(de)d(inside)i(a)g(asn1)p 2084 2592
-V 40 w(no)s(de)f(structure.)37 b(The)22 b(data)i(returned)d(should)390
-2702 y(b)s(e)30 b(handled)f(as)i(constan)m(t)g(v)-5 b(alues.)390
-2836 y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27 b Fr(if)k(the)f(no)s(de)g
-(exists.)150 3067 y Fq(4.3)68 b(DER)46 b(functions)150
-3290 y Fj(asn1)p 396 3290 37 5 v 55 w(length)p 786 3290
-V 54 w(der)3350 3486 y Fr([F)-8 b(unction])-3599 b Fi(void)54
-b(asn1_length_der)c Fh(\()p Fg(unsigned)29 b(long)i(in)m(t)g
-Ff(len)p Fg(,)g(unsigned)f(c)m(har)h(*)f Ff(der)p Fg(,)i(in)m(t)565
-3595 y(*)f Ff(der_len)p Fh(\))390 3705 y Fg(len)p Fr(:)41
-b(v)-5 b(alue)31 b(to)g(con)m(v)m(ert.)390 3839 y Fg(der)7
-b Fr(:)40 b(bu\013er)29 b(to)i(hold)f(the)h(returned)e(enco)s(ding)h
-(\(ma)m(y)i(b)s(e)d Fk(NULL)h Fr(\).)390 3973 y Fg(der)p
-523 3973 28 4 v 40 w(len)p Fr(:)40 b(n)m(um)m(b)s(er)29
-b(of)i(meaningful)f(b)m(ytes)h(of)g(ANS)f(\(der[0]..der[der)p
-2791 3973 V 40 w(len-1]\).)390 4107 y(Creates)35 b(the)f(DER)h(enco)s
-(ding)f(of)g(the)g(pro)m(vided)g(length)h(v)-5 b(alue.)52
-b(The)34 b Fk(der)f Fr(bu\013er)h(m)m(ust)g(ha)m(v)m(e)390
-4216 y(enough)27 b(ro)s(om)f(for)h(the)g(output.)40 b(The)26
-b(maxim)m(um)h(length)g(this)g(function)g(will)g(enco)s(de)g(is)g
-Fk(ASN1_)390 4326 y(MAX_LENGTH_SIZE)f Fr(.)390 4460 y(T)-8
-b(o)31 b(kno)m(w)f(the)h(size)g(of)g(the)f(DER)h(enco)s(ding)f(use)g(a)
-h Fk(NULL)e Fr(v)-5 b(alue)31 b(for)f Fk(der)f Fr(.)150
-4658 y Fj(asn1)p 396 4658 37 5 v 55 w(o)s(ctet)p 722
-4658 V 53 w(der)3350 4853 y Fr([F)-8 b(unction])-3599
-b Fi(void)54 b(asn1_octet_der)49 b Fh(\()p Fg(const)31
-b(unsigned)f(c)m(har)g(*)h Ff(str)p Fg(,)h(in)m(t)f Ff(str_len)p
-Fg(,)565 4963 y(unsigned)e(c)m(har)i(*)g Ff(der)p Fg(,)g(in)m(t)g(*)g
-Ff(der_len)p Fh(\))390 5072 y Fg(str)7 b Fr(:)40 b(the)31
-b(input)e(data.)390 5206 y Fg(str)p 503 5206 28 4 v 40
-w(len)p Fr(:)41 b(STR)29 b(length)i(\(str[0]..str[*str)p
-1787 5206 V 42 w(len-1]\).)390 5340 y Fg(der)7 b Fr(:)40
-b(enco)s(ded)30 b(string)g(returned.)p eop end
+(structure.)71 b(CLASS)40 b(can)390 2140 y(ha)m(v)m(e)e(one)g(of)f
+(these)h(constan)m(ts:)56 b Fl(ASN1_CLASS_APPLICATION)31
+b Fs(,)39 b Fl(ASN1_CLASS_UNIVERSAL)32 b Fs(,)390 2249
+y Fl(ASN1_CLASS_PRIVATE)25 b Fs(or)31 b Fl(ASN1_CLASS_CONTEXT_SPEC)o
+(IFIC)24 b Fs(.)390 2389 y Fe(Returns:)37 b Fl(ASN1_SUCCESS)21
+b Fs(if)k(successful,)g Fl(ASN1_ELEMENT_NOT_FOUND)18
+b Fs(if)25 b Fl(name)e Fs(is)h(not)h(a)g(v)-5 b(alid)390
+2498 y(elemen)m(t.)150 2703 y Fk(asn1)p 396 2703 37 5
+v 55 w(read)p 685 2703 V 54 w(no)s(de)p 995 2703 V 55
+w(v)e(alue)3350 2904 y Fs([F)f(unction])-3599 b Fj(int)53
+b(asn1_read_node_value)f Fi(\()p Fh(asn1)p 1687 2904
+30 5 v 44 w(no)s(de)34 b Fg(node)p Fh(,)g(asn1)p 2436
+2904 V 44 w(data)p 2674 2904 V 44 w(no)s(de)p 2925 2904
+V 44 w(st)f(*)565 3014 y Fg(data)p Fi(\))390 3124 y Ff(no)s(de)5
+b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(a)f(no)s(de.)390
+3263 y Ff(data)p Fs(:)41 b(a)31 b(p)s(oin)m(t)g(to)g(a)f(asn1)p
+1315 3263 28 4 v 41 w(data)p 1532 3263 V 40 w(no)s(de)p
+1762 3263 V 40 w(st)390 3403 y(Returns)22 b(the)g(v)-5
+b(alue)23 b(a)g(data)h(no)s(de)d(inside)i(a)g(asn1)p
+2084 3403 V 40 w(no)s(de)f(structure.)37 b(The)22 b(data)i(returned)d
+(should)390 3512 y(b)s(e)30 b(handled)f(as)i(constan)m(t)g(v)-5
+b(alues.)390 3652 y Fe(Returns:)40 b Fl(ASN1_SUCCESS)27
+b Fs(if)k(the)f(no)s(de)g(exists.)150 3900 y Fr(4.3)68
+b(DER)46 b(functions)150 4124 y Fk(asn1)p 396 4124 37
+5 v 55 w(length)p 786 4124 V 54 w(der)3350 4326 y Fs([F)-8
+b(unction])-3599 b Fj(void)54 b(asn1_length_der)c Fi(\()p
+Fh(unsigned)35 b(long)d(in)m(t)i Fg(len)p Fh(,)f(unsigned)i(c)m(har)f
+(*)f Fg(der)p Fh(,)565 4435 y(in)m(t)g(*)g Fg(der_len)p
+Fi(\))390 4545 y Ff(len)p Fs(:)41 b(v)-5 b(alue)31 b(to)g(con)m(v)m
+(ert.)390 4685 y Ff(der)7 b Fs(:)40 b(bu\013er)29 b(to)i(hold)f(the)h
+(returned)e(enco)s(ding)h(\(ma)m(y)i(b)s(e)d Fl(NULL)h
+Fs(\).)390 4824 y Ff(der)p 523 4824 28 4 v 40 w(len)p
+Fs(:)40 b(n)m(um)m(b)s(er)29 b(of)i(meaningful)f(b)m(ytes)h(of)g(ANS)f
+(\(der[0]..der[der)p 2791 4824 V 40 w(len-1]\).)390 4964
+y(Creates)35 b(the)f(DER)h(enco)s(ding)f(of)g(the)g(pro)m(vided)g
+(length)h(v)-5 b(alue.)52 b(The)34 b Fl(der)f Fs(bu\013er)h(m)m(ust)g
+(ha)m(v)m(e)390 5073 y(enough)27 b(ro)s(om)f(for)h(the)g(output.)40
+b(The)26 b(maxim)m(um)h(length)g(this)g(function)g(will)g(enco)s(de)g
+(is)g Fl(ASN1_)390 5183 y(MAX_LENGTH_SIZE)f Fs(.)390
+5322 y(T)-8 b(o)31 b(kno)m(w)f(the)h(size)g(of)g(the)f(DER)h(enco)s
+(ding)f(use)g(a)h Fl(NULL)e Fs(v)-5 b(alue)31 b(for)f
+Fl(der)f Fs(.)p eop end
%%Page: 16 19
-TeXDict begin 16 18 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(16)390 299 y Fg(der)p
-523 299 28 4 v 40 w(len)p Fr(:)40 b(n)m(um)m(b)s(er)29
+TeXDict begin 16 18 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(16)150 299 y Fk(asn1)p
+396 299 37 5 v 55 w(o)s(ctet)p 722 299 V 53 w(der)3350
+500 y Fs([F)-8 b(unction])-3599 b Fj(void)54 b(asn1_octet_der)49
+b Fi(\()p Fh(const)34 b(unsigned)h(c)m(har)f(*)f Fg(str)p
+Fh(,)h(in)m(t)f Fg(str_len)p Fh(,)565 609 y(unsigned)i(c)m(har)f(*)f
+Fg(der)p Fh(,)g(in)m(t)h(*)f Fg(der_len)p Fi(\))390 719
+y Ff(str)7 b Fs(:)40 b(the)31 b(input)e(data.)390 858
+y Ff(str)p 503 858 28 4 v 40 w(len)p Fs(:)41 b(STR)29
+b(length)i(\(str[0]..str[*str)p 1787 858 V 42 w(len-1]\).)390
+996 y Ff(der)7 b Fs(:)40 b(enco)s(ded)30 b(string)g(returned.)390
+1135 y Ff(der)p 523 1135 V 40 w(len)p Fs(:)40 b(n)m(um)m(b)s(er)29
b(of)i(meaningful)f(b)m(ytes)h(of)g(DER)f(\(der[0]..der[der)p
-2802 299 V 41 w(len-1]\).)390 436 y(Creates)j(a)f(length-v)-5
+2802 1135 V 41 w(len-1]\).)390 1274 y(Creates)j(a)f(length-v)-5
b(alue)34 b(DER)e(enco)s(ding)g(for)g(the)g(input)f(data.)47
-b(The)31 b(DER)h(enco)s(ding)g(of)h(the)390 546 y(input)c(data)i(will)g
-(b)s(e)f(placed)h(in)f(the)g Fk(der)g Fr(v)-5 b(ariable.)390
-683 y(Note)32 b(that)f(the)f(OCTET)f(STRING)h(tag)h(is)g(not)f
-(included)g(in)g(the)h(output.)390 820 y(This)41 b(function)g(do)s(es)g
-(not)h(return)e(an)m(y)i(v)-5 b(alue)42 b(b)s(ecause)f(it)i(is)e(exp)s
-(ected)h(that)g Fk(der_len)e Fr(will)390 929 y(con)m(tain)30
+b(The)31 b(DER)h(enco)s(ding)g(of)h(the)390 1384 y(input)c(data)i(will)
+g(b)s(e)f(placed)h(in)f(the)g Fl(der)g Fs(v)-5 b(ariable.)390
+1522 y(Note)32 b(that)f(the)f(OCTET)f(STRING)h(tag)h(is)g(not)f
+(included)g(in)g(the)h(output.)390 1661 y(This)41 b(function)g(do)s(es)
+g(not)h(return)e(an)m(y)i(v)-5 b(alue)42 b(b)s(ecause)f(it)i(is)e(exp)s
+(ected)h(that)g Fl(der_len)e Fs(will)390 1771 y(con)m(tain)30
b(enough)e(b)m(ytes)i(to)f(store)g(the)g(string)g(plus)e(the)i(DER)g
-(enco)s(ding.)40 b(The)28 b(DER)h(enco)s(ding)390 1039
-y(size)i(can)g(b)s(e)f(obtained)g(using)g Fk(asn1_length_der\(\))c
-Fr(.)150 1241 y Fj(asn1)p 396 1241 37 5 v 55 w(enco)s(de)p
-818 1241 V 54 w(simple)p 1214 1241 V 55 w(der)3350 1440
-y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_encode_simple_de)q(r)e
-Fh(\()p Fg(unsigned)30 b(in)m(t)h Ff(etype)p Fg(,)h(const)f(unsigned)
-565 1550 y(c)m(har)g(*)f Ff(str)p Fg(,)i(unsigned)d(in)m(t)i
-Ff(str_len)p Fg(,)h(unsigned)e(c)m(har)g(*)h Ff(tl)p
-Fg(,)g(unsigned)e(in)m(t)i(*)g Ff(tl_len)p Fh(\))390
-1659 y Fg(et)m(yp)s(e)5 b Fr(:)41 b(The)30 b(t)m(yp)s(e)h(of)f(the)h
-(string)f(to)h(b)s(e)f(enco)s(ded)g(\(ASN1)p 2444 1659
-28 4 v 41 w(ETYPE)p 2805 1659 V 39 w(\))390 1796 y Fg(str)7
-b Fr(:)40 b(the)31 b(string)f(data.)390 1934 y Fg(str)p
-503 1934 V 40 w(len)p Fr(:)41 b(the)30 b(string)h(length)390
-2071 y Fg(tl)t Fr(:)41 b(the)30 b(enco)s(ded)g(tag)i(and)e(length)390
-2208 y Fg(tl)p 456 2208 V 41 w(len)p Fr(:)40 b(the)31
-b(b)m(ytes)g(of)f(the)h Fk(tl)f Fr(\014eld)390 2345 y(Creates)j(the)g
+(enco)s(ding.)40 b(The)28 b(DER)h(enco)s(ding)390 1880
+y(size)i(can)g(b)s(e)f(obtained)g(using)g Fl(asn1_length_der\(\))c
+Fs(.)150 2084 y Fk(asn1)p 396 2084 37 5 v 55 w(enco)s(de)p
+818 2084 V 54 w(simple)p 1214 2084 V 55 w(der)3350 2285
+y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_encode_simple_de)q(r)e
+Fi(\()p Fh(unsigned)35 b(in)m(t)f Fg(etype)p Fh(,)g(const)g(unsigned)
+565 2394 y(c)m(har)g(*)f Fg(str)p Fh(,)h(unsigned)g(in)m(t)g
+Fg(str_len)p Fh(,)h(unsigned)f(c)m(har)g(*)f Fg(tl)p
+Fh(,)h(unsigned)g(in)m(t)g(*)565 2504 y Fg(tl_len)p Fi(\))390
+2613 y Ff(et)m(yp)s(e)5 b Fs(:)41 b(The)30 b(t)m(yp)s(e)h(of)f(the)h
+(string)f(to)h(b)s(e)f(enco)s(ded)g(\(ASN1)p 2444 2613
+28 4 v 41 w(ETYPE)p 2805 2613 V 39 w(\))390 2752 y Ff(str)7
+b Fs(:)40 b(the)31 b(string)f(data.)390 2891 y Ff(str)p
+503 2891 V 40 w(len)p Fs(:)41 b(the)30 b(string)h(length)390
+3030 y Ff(tl)t Fs(:)41 b(the)30 b(enco)s(ded)g(tag)i(and)e(length)390
+3168 y Ff(tl)p 456 3168 V 41 w(len)p Fs(:)40 b(the)31
+b(b)m(ytes)g(of)f(the)h Fl(tl)f Fs(\014eld)390 3307 y(Creates)j(the)g
(DER)g(enco)s(ding)f(for)h(v)-5 b(arious)32 b(simple)h(ASN.1)g(t)m(yp)s
(es)f(lik)m(e)i(strings)e(etc.)49 b(It)32 b(stores)390
-2454 y(the)k(tag)h(and)e(length)h(in)g Fk(tl)f Fr(,)i(whic)m(h)f
-(should)f(ha)m(v)m(e)i(space)f(for)g(at)g(least)h Fk(ASN1_MAX_TL_SIZE)
-390 2564 y Fr(b)m(ytes.)k(Initially)32 b Fk(tl_len)c
-Fr(should)i(con)m(tain)h(the)g(size)g(of)g Fk(tl)e Fr(.)390
-2701 y(The)39 b(complete)i(DER)f(enco)s(ding)g(should)e(consist)i(of)g
-(the)g(v)-5 b(alue)40 b(in)g Fk(tl)f Fr(app)s(ended)e(with)j(the)390
-2811 y(pro)m(vided)30 b Fk(str)f Fr(.)390 2948 y Fe(Returns:)40
-b Fk(ASN1_SUCCESS)27 b Fr(if)k(successful)f(or)g(an)g(error)g(v)-5
-b(alue.)150 3150 y Fj(asn1)p 396 3150 37 5 v 55 w(bit)p
-601 3150 V 54 w(der)3350 3349 y Fr([F)d(unction])-3599
-b Fi(void)54 b(asn1_bit_der)49 b Fh(\()p Fg(const)31
-b(unsigned)e(c)m(har)i(*)g Ff(str)p Fg(,)g(in)m(t)g Ff(bit_len)p
-Fg(,)i(unsigned)565 3459 y(c)m(har)e(*)g Ff(der)p Fg(,)g(in)m(t)g(*)g
-Ff(der_len)p Fh(\))390 3568 y Fg(str)7 b Fr(:)40 b(BIT)30
-b(string.)390 3705 y Fg(bit)p 507 3705 28 4 v 40 w(len)p
-Fr(:)41 b(n)m(um)m(b)s(er)29 b(of)i(meaningful)f(bits)g(in)g(STR.)390
-3842 y Fg(der)7 b Fr(:)40 b(string)30 b(returned.)390
-3980 y Fg(der)p 523 3980 V 40 w(len)p Fr(:)40 b(n)m(um)m(b)s(er)29
+3417 y(the)k(tag)h(and)e(length)h(in)g Fl(tl)f Fs(,)i(whic)m(h)f
+(should)f(ha)m(v)m(e)i(space)f(for)g(at)g(least)h Fl(ASN1_MAX_TL_SIZE)
+390 3526 y Fs(b)m(ytes.)k(Initially)32 b Fl(tl_len)c
+Fs(should)i(con)m(tain)h(the)g(size)g(of)g Fl(tl)e Fs(.)390
+3665 y(The)39 b(complete)i(DER)f(enco)s(ding)g(should)e(consist)i(of)g
+(the)g(v)-5 b(alue)40 b(in)g Fl(tl)f Fs(app)s(ended)e(with)j(the)390
+3774 y(pro)m(vided)30 b Fl(str)f Fs(.)390 3913 y Fe(Returns:)40
+b Fl(ASN1_SUCCESS)27 b Fs(if)k(successful)f(or)g(an)g(error)g(v)-5
+b(alue.)150 4117 y Fk(asn1)p 396 4117 37 5 v 55 w(bit)p
+601 4117 V 54 w(der)3350 4318 y Fs([F)d(unction])-3599
+b Fj(void)54 b(asn1_bit_der)49 b Fi(\()p Fh(const)34
+b(unsigned)g(c)m(har)g(*)f Fg(str)p Fh(,)h(in)m(t)f Fg(bit_len)p
+Fh(,)565 4427 y(unsigned)i(c)m(har)f(*)f Fg(der)p Fh(,)g(in)m(t)h(*)f
+Fg(der_len)p Fi(\))390 4537 y Ff(str)7 b Fs(:)40 b(BIT)30
+b(string.)390 4676 y Ff(bit)p 507 4676 28 4 v 40 w(len)p
+Fs(:)41 b(n)m(um)m(b)s(er)29 b(of)i(meaningful)f(bits)g(in)g(STR.)390
+4814 y Ff(der)7 b Fs(:)40 b(string)30 b(returned.)390
+4953 y Ff(der)p 523 4953 V 40 w(len)p Fs(:)40 b(n)m(um)m(b)s(er)29
b(of)i(meaningful)f(b)m(ytes)h(of)g(DER)f(\(der[0]..der[ans)p
-2807 3980 V 41 w(len-1]\).)390 4117 y(Creates)i(a)f(length-v)-5
+2807 4953 V 41 w(len-1]\).)390 5092 y(Creates)i(a)f(length-v)-5
b(alue)33 b(DER)e(enco)s(ding)g(for)g(the)g(input)f(data)i(as)f(it)h(w)
-m(ould)f(ha)m(v)m(e)h(b)s(een)f(for)g(a)390 4226 y(BIT)f(STRING.)g(The)
+m(ould)f(ha)m(v)m(e)h(b)s(een)f(for)g(a)390 5201 y(BIT)f(STRING.)g(The)
g(DER)h(enco)s(ded)f(data)h(will)f(b)s(e)g(copied)h(in)f
-Fk(der)f Fr(.)390 4363 y(Note)j(that)f(the)f(BIT)g(STRING)g(tag)i(is)e
-(not)h(included)e(in)h(the)h(output.)390 4500 y(This)41
-b(function)g(do)s(es)g(not)h(return)e(an)m(y)i(v)-5 b(alue)42
-b(b)s(ecause)f(it)i(is)e(exp)s(ected)h(that)g Fk(der_len)e
-Fr(will)390 4610 y(con)m(tain)30 b(enough)e(b)m(ytes)i(to)f(store)g
-(the)g(string)g(plus)e(the)i(DER)g(enco)s(ding.)40 b(The)28
-b(DER)h(enco)s(ding)390 4720 y(size)i(can)g(b)s(e)f(obtained)g(using)g
-Fk(asn1_length_der\(\))c Fr(.)150 4921 y Fj(asn1)p 396
-4921 37 5 v 55 w(der)p 625 4921 V 54 w(co)s(ding)3350
-5121 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_der_coding)d
-Fh(\()p Fg(asn1)p 1407 5121 28 4 v 41 w(no)s(de)30 b
-Ff(element)p Fg(,)i(const)f(c)m(har)g(*)g Ff(name)p Fg(,)g(v)m(oid)g(*)
-565 5230 y Ff(ider)p Fg(,)h(in)m(t)f(*)g Ff(len)p Fg(,)g(c)m(har)g(*)f
-Ff(ErrorDescription)p Fh(\))390 5340 y Fg(elemen)m(t)r
-Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(elemen)m(t)p
-eop end
+Fl(der)f Fs(.)390 5340 y(Note)j(that)f(the)f(BIT)g(STRING)g(tag)i(is)e
+(not)h(included)e(in)h(the)h(output.)p eop end
%%Page: 17 20
-TeXDict begin 17 19 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(17)390 299 y Fg(name)5
-b Fr(:)39 b(the)27 b(name)h(of)f(the)g(structure)g(y)m(ou)g(w)m(an)m(t)
-h(to)g(enco)s(de)f(\(it)h(m)m(ust)f(b)s(e)f(inside)h(*POINTER\).)390
-440 y Fg(ider)7 b Fr(:)39 b(v)m(ector)30 b(that)f(will)f(con)m(tain)i
-(the)e(DER)h(enco)s(ding.)40 b(DER)28 b(m)m(ust)g(b)s(e)g(a)h(p)s(oin)m
-(ter)f(to)h(memory)390 549 y(cells)i(already)g(allo)s(cated.)390
-690 y Fg(len)p Fr(:)49 b(n)m(um)m(b)s(er)33 b(of)h(b)m(ytes)h(of)g(*)g
-Fk(ider)e Fr(:)48 b Fk(ider)34 b Fr([0]..)54 b Fk(ider)33
-b Fr([len-1],)k(Initialy)e(holds)f(the)g(sizeof)i(of)390
-799 y(der)30 b(v)m(ector.)390 940 y Fg(ErrorDescription)p
-Fr(:)41 b(return)29 b(the)i(error)f(description)g(or)g(an)h(empt)m(y)f
-(string)h(if)f(success.)390 1081 y(Creates)h(the)g(DER)f(enco)s(ding)g
+TeXDict begin 17 19 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(17)390 299 y(This)41
+b(function)g(do)s(es)g(not)h(return)e(an)m(y)i(v)-5 b(alue)42
+b(b)s(ecause)f(it)i(is)e(exp)s(ected)h(that)g Fl(der_len)e
+Fs(will)390 408 y(con)m(tain)30 b(enough)e(b)m(ytes)i(to)f(store)g(the)
+g(string)g(plus)e(the)i(DER)g(enco)s(ding.)40 b(The)28
+b(DER)h(enco)s(ding)390 518 y(size)i(can)g(b)s(e)f(obtained)g(using)g
+Fl(asn1_length_der\(\))c Fs(.)150 719 y Fk(asn1)p 396
+719 37 5 v 55 w(der)p 625 719 V 54 w(co)s(ding)3350 918
+y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_der_coding)d
+Fi(\()p Fh(asn1)p 1425 918 30 5 v 45 w(no)s(de)33 b Fg(element)p
+Fh(,)i(const)f(c)m(har)g(*)f Fg(name)p Fh(,)h(v)m(oid)565
+1027 y(*)f Fg(ider)p Fh(,)h(in)m(t)f(*)g Fg(len)p Fh(,)h(c)m(har)g(*)f
+Fg(ErrorDescription)p Fi(\))390 1137 y Ff(elemen)m(t)r
+Fs(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(elemen)m(t)390
+1273 y Ff(name)5 b Fs(:)39 b(the)27 b(name)h(of)f(the)g(structure)g(y)m
+(ou)g(w)m(an)m(t)h(to)g(enco)s(de)f(\(it)h(m)m(ust)f(b)s(e)f(inside)h
+(*POINTER\).)390 1409 y Ff(ider)7 b Fs(:)39 b(v)m(ector)30
+b(that)f(will)f(con)m(tain)i(the)e(DER)h(enco)s(ding.)40
+b(DER)28 b(m)m(ust)g(b)s(e)g(a)h(p)s(oin)m(ter)f(to)h(memory)390
+1519 y(cells)i(already)g(allo)s(cated.)390 1655 y Ff(len)p
+Fs(:)49 b(n)m(um)m(b)s(er)33 b(of)h(b)m(ytes)h(of)g(*)g
+Fl(ider)e Fs(:)48 b Fl(ider)34 b Fs([0]..)54 b Fl(ider)33
+b Fs([len-1],)k(Initialy)e(holds)f(the)g(sizeof)i(of)390
+1765 y(der)30 b(v)m(ector.)390 1901 y Ff(ErrorDescription)p
+Fs(:)41 b(return)29 b(the)i(error)f(description)g(or)g(an)h(empt)m(y)f
+(string)h(if)f(success.)390 2038 y(Creates)h(the)g(DER)f(enco)s(ding)g
(for)h(the)f(NAME)h(structure)f(\(inside)g(*POINTER)g(structure\).)390
-1221 y Fe(Returns:)47 b Fk(ASN1_SUCCESS)30 b Fr(if)k(DER)g(enco)s(ding)
-f(OK,)g Fk(ASN1_ELEMENT_NOT_FOUND)28 b Fr(if)33 b Fk(name)g
-Fr(is)390 1331 y(not)h(a)g(v)-5 b(alid)35 b(elemen)m(t,)h
-Fk(ASN1_VALUE_NOT_FOUND)29 b Fr(if)34 b(there)g(is)g(an)g(elemen)m(t)h
-(without)f(a)g(v)-5 b(alue,)390 1441 y Fk(ASN1_MEM_ERROR)24
-b Fr(if)29 b(the)f Fk(ider)g Fr(v)m(ector)i(isn't)e(big)h(enough)f(and)
-g(in)g(this)g(case)h Fk(len)f Fr(will)h(con)m(tain)390
-1550 y(the)i(length)f(needed.)150 1756 y Fj(asn1)p 396
-1756 37 5 v 55 w(get)p 616 1756 V 54 w(length)p 1005
-1756 V 54 w(der)3350 1959 y Fr([F)-8 b(unction])-3599
-b Fi(long)54 b(asn1_get_length_der)d Fh(\()p Fg(const)31
-b(unsigned)e(c)m(har)i(*)g Ff(der)p Fg(,)g(in)m(t)g Ff(der_len)p
-Fg(,)565 2068 y(in)m(t)g(*)g Ff(len)p Fh(\))390 2178
-y Fg(der)7 b Fr(:)40 b(DER)30 b(data)h(to)g(deco)s(de.)390
-2318 y Fg(der)p 523 2318 28 4 v 40 w(len)p Fr(:)40 b(Length)31
-b(of)f(DER)h(data)g(to)g(deco)s(de.)390 2459 y Fg(len)p
-Fr(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length)
-f(of)h(the)g(DER)f(length)h(\014eld.)390 2600 y(Extract)g(a)g(length)g
-(\014eld)f(from)g(DER)g(data.)390 2740 y Fe(Returns:)40
-b Fr(Return)29 b(the)h(deco)s(ded)f(length)h(v)-5 b(alue,)30
+2174 y Fe(Returns:)47 b Fl(ASN1_SUCCESS)30 b Fs(if)k(DER)g(enco)s(ding)
+f(OK,)g Fl(ASN1_ELEMENT_NOT_FOUND)28 b Fs(if)33 b Fl(name)g
+Fs(is)390 2283 y(not)h(a)g(v)-5 b(alid)35 b(elemen)m(t,)h
+Fl(ASN1_VALUE_NOT_FOUND)29 b Fs(if)34 b(there)g(is)g(an)g(elemen)m(t)h
+(without)f(a)g(v)-5 b(alue,)390 2393 y Fl(ASN1_MEM_ERROR)24
+b Fs(if)29 b(the)f Fl(ider)g Fs(v)m(ector)i(isn't)e(big)h(enough)f(and)
+g(in)g(this)g(case)h Fl(len)f Fs(will)h(con)m(tain)390
+2503 y(the)i(length)f(needed.)150 2704 y Fk(asn1)p 396
+2704 37 5 v 55 w(get)p 616 2704 V 54 w(length)p 1005
+2704 V 54 w(der)3350 2902 y Fs([F)-8 b(unction])-3599
+b Fj(long)54 b(asn1_get_length_der)d Fi(\()p Fh(const)34
+b(unsigned)g(c)m(har)g(*)f Fg(der)p Fh(,)h(in)m(t)565
+3012 y Fg(der_len)p Fh(,)h(in)m(t)e(*)g Fg(len)p Fi(\))390
+3121 y Ff(der)7 b Fs(:)40 b(DER)30 b(data)h(to)g(deco)s(de.)390
+3258 y Ff(der)p 523 3258 28 4 v 40 w(len)p Fs(:)40 b(Length)31
+b(of)f(DER)h(data)g(to)g(deco)s(de.)390 3394 y Ff(len)p
+Fs(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length)
+f(of)h(the)g(DER)f(length)h(\014eld.)390 3530 y(Extract)g(a)g(length)g
+(\014eld)f(from)g(DER)g(data.)390 3667 y Fe(Returns:)40
+b Fs(Return)29 b(the)h(deco)s(ded)f(length)h(v)-5 b(alue,)30
b(or)g(-1)g(on)g(inde\014nite)f(length,)h(or)g(-2)g(when)f(the)390
-2850 y(v)-5 b(alue)30 b(w)m(as)h(to)s(o)f(big)g(to)h(\014t)e(in)h(a)g
+3776 y(v)-5 b(alue)30 b(w)m(as)h(to)s(o)f(big)g(to)h(\014t)e(in)h(a)g
(in)m(t,)h(or)f(-4)g(when)f(the)h(deco)s(ded)g(length)g(v)-5
-b(alue)30 b(plus)f Fk(len)g Fr(w)m(ould)390 2960 y(exceed)i
-Fk(der_len)e Fr(.)150 3165 y Fj(asn1)p 396 3165 37 5
-v 55 w(get)p 616 3165 V 54 w(tag)p 839 3165 V 53 w(der)3350
-3368 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_get_tag_der)e
-Fh(\()p Fg(const)31 b(unsigned)e(c)m(har)i(*)g Ff(der)p
-Fg(,)g(in)m(t)g Ff(der_len)p Fg(,)565 3478 y(unsigned)e(c)m(har)i(*)g
-Ff(cls)p Fg(,)g(in)m(t)g(*)g Ff(len)p Fg(,)g(unsigned)f(long)h(*)g
-Ff(tag)p Fh(\))390 3587 y Fg(der)7 b Fr(:)40 b(DER)30
-b(data)h(to)g(deco)s(de.)390 3728 y Fg(der)p 523 3728
-28 4 v 40 w(len)p Fr(:)40 b(Length)31 b(of)f(DER)h(data)g(to)g(deco)s
-(de.)390 3868 y Fg(cls)t Fr(:)41 b(Output)29 b(v)-5 b(ariable)31
-b(con)m(taining)h(deco)s(ded)e(class.)390 4009 y Fg(len)p
-Fr(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length)
-f(of)h(the)g(DER)f(T)-8 b(A)m(G)31 b(data.)390 4150 y
-Fg(tag)8 b Fr(:)42 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h
-(the)f(deco)s(ded)f(tag.)390 4290 y(Deco)s(de)h(the)g(class)g(and)f(T)
--8 b(A)m(G)31 b(from)f(DER)h(co)s(de.)390 4431 y Fe(Returns:)40
-b Fr(Returns)30 b Fk(ASN1_SUCCESS)d Fr(on)j(success,)h(or)f(an)h
-(error.)150 4637 y Fj(asn1)p 396 4637 37 5 v 55 w(get)p
-616 4637 V 54 w(length)p 1005 4637 V 54 w(b)s(er)3350
-4839 y Fr([F)-8 b(unction])-3599 b Fi(long)54 b(asn1_get_length_ber)d
-Fh(\()p Fg(const)31 b(unsigned)e(c)m(har)i(*)g Ff(ber)p
-Fg(,)g(in)m(t)g Ff(ber_len)p Fg(,)565 4949 y(in)m(t)g(*)g
-Ff(len)p Fh(\))390 5059 y Fg(b)s(er)7 b Fr(:)39 b(BER)31
-b(data)g(to)g(deco)s(de.)390 5199 y Fg(b)s(er)p 526 5199
-28 4 v 39 w(len)p Fr(:)41 b(Length)30 b(of)h(BER)f(data)h(to)g(deco)s
-(de.)390 5340 y Fg(len)p Fr(:)41 b(Output)29 b(v)-5 b(ariable)31
-b(con)m(taining)h(the)f(length)f(of)h(the)g(BER)f(length)h(\014eld.)p
-eop end
+b(alue)30 b(plus)f Fl(len)g Fs(w)m(ould)390 3886 y(exceed)i
+Fl(der_len)e Fs(.)150 4087 y Fk(asn1)p 396 4087 37 5
+v 55 w(get)p 616 4087 V 54 w(tag)p 839 4087 V 53 w(der)3350
+4285 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_get_tag_der)e
+Fi(\()p Fh(const)34 b(unsigned)g(c)m(har)g(*)f Fg(der)p
+Fh(,)h(in)m(t)f Fg(der_len)p Fh(,)565 4395 y(unsigned)i(c)m(har)f(*)f
+Fg(cls)p Fh(,)g(in)m(t)h(*)f Fg(len)p Fh(,)h(unsigned)g(long)f(*)g
+Fg(tag)p Fi(\))390 4505 y Ff(der)7 b Fs(:)40 b(DER)30
+b(data)h(to)g(deco)s(de.)390 4641 y Ff(der)p 523 4641
+28 4 v 40 w(len)p Fs(:)40 b(Length)31 b(of)f(DER)h(data)g(to)g(deco)s
+(de.)390 4777 y Ff(cls)t Fs(:)41 b(Output)29 b(v)-5 b(ariable)31
+b(con)m(taining)h(deco)s(ded)e(class.)390 4913 y Ff(len)p
+Fs(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length)
+f(of)h(the)g(DER)f(T)-8 b(A)m(G)31 b(data.)390 5050 y
+Ff(tag)8 b Fs(:)42 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h
+(the)f(deco)s(ded)f(tag)h(\(ma)m(y)g(b)s(e)f Fl(NULL)f
+Fs(\).)390 5186 y(Deco)s(de)i(the)g(class)g(and)f(T)-8
+b(A)m(G)31 b(from)f(DER)h(co)s(de.)390 5322 y Fe(Returns:)40
+b Fs(Returns)30 b Fl(ASN1_SUCCESS)d Fs(on)j(success,)h(or)f(an)h
+(error.)p eop end
%%Page: 18 21
-TeXDict begin 18 20 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(18)390 299 y(Extract)31
-b(a)g(length)f(\014eld)g(from)g(BER)g(data.)41 b(The)30
-b(di\013erence)h(to)g Fk(asn1_get_length_der\(\))24 b
-Fr(is)390 408 y(that)31 b(this)f(function)g(will)h(return)e(a)i(length)
-g(ev)m(en)g(if)f(the)h(v)-5 b(alue)31 b(has)f(inde\014nite)g(enco)s
-(ding.)390 537 y Fe(Returns:)40 b Fr(Return)27 b(the)i(deco)s(ded)g
-(length)g(v)-5 b(alue,)30 b(or)e(negativ)m(e)j(v)-5 b(alue)29
-b(when)f(the)h(v)-5 b(alue)29 b(w)m(as)g(to)s(o)390 646
-y(big.)390 774 y Fe(Since:)41 b Fr(2.0)150 960 y Fj(asn1)p
-396 960 37 5 v 55 w(get)p 616 960 V 54 w(o)s(ctet)p 941
-960 V 53 w(der)3350 1144 y Fr([F)-8 b(unction])-3599
-b Fi(int)53 b(asn1_get_octet_der)e Fh(\()p Fg(const)31
-b(unsigned)f(c)m(har)g(*)h Ff(der)p Fg(,)h(in)m(t)f Ff(der_len)p
-Fg(,)h(in)m(t)565 1254 y(*)f Ff(ret_len)p Fg(,)i(unsigned)c(c)m(har)i
-(*)f Ff(str)p Fg(,)i(in)m(t)f Ff(str_size)p Fg(,)i(in)m(t)e(*)f
-Ff(str_len)p Fh(\))390 1364 y Fg(der)7 b Fr(:)40 b(DER)30
-b(data)h(to)g(deco)s(de)g(con)m(taining)h(the)e(OCTET)f(SEQUENCE.)390
-1492 y Fg(der)p 523 1492 28 4 v 40 w(len)p Fr(:)40 b(The)30
-b(length)h(of)g(the)f Fk(der)g Fr(data)h(to)g(deco)s(de.)390
-1620 y Fg(ret)p 507 1620 V 40 w(len)p Fr(:)41 b(Output)29
-b(v)-5 b(ariable)32 b(con)m(taining)f(the)g(enco)s(ded)f(length)h(of)f
-(the)h(DER)f(data.)390 1748 y Fg(str)7 b Fr(:)40 b(Pre-allo)s(cated)33
-b(output)d(bu\013er)f(to)i(put)f(deco)s(ded)g(OCTET)f(SEQUENCE)g(in.)
-390 1876 y Fg(str)p 503 1876 V 40 w(size)5 b Fr(:)41
-b(Length)31 b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390
-2004 y Fg(str)p 503 2004 V 40 w(len)p Fr(:)57 b(Output)38
+TeXDict begin 18 20 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(18)150 299 y Fk(asn1)p
+396 299 37 5 v 55 w(get)p 616 299 V 54 w(length)p 1005
+299 V 54 w(b)s(er)3350 513 y Fs([F)-8 b(unction])-3599
+b Fj(long)54 b(asn1_get_length_ber)d Fi(\()p Fh(const)34
+b(unsigned)g(c)m(har)g(*)f Fg(ber)p Fh(,)h(in)m(t)565
+623 y Fg(ber_len)p Fh(,)h(in)m(t)e(*)g Fg(len)p Fi(\))390
+733 y Ff(b)s(er)7 b Fs(:)39 b(BER)31 b(data)g(to)g(deco)s(de.)390
+885 y Ff(b)s(er)p 526 885 28 4 v 39 w(len)p Fs(:)41 b(Length)30
+b(of)h(BER)f(data)h(to)g(deco)s(de.)390 1037 y Ff(len)p
+Fs(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length)
+f(of)h(the)g(BER)f(length)h(\014eld.)390 1189 y(Extract)g(a)g(length)f
+(\014eld)g(from)g(BER)g(data.)41 b(The)30 b(di\013erence)h(to)g
+Fl(asn1_get_length_der\(\))24 b Fs(is)390 1299 y(that)31
+b(this)f(function)g(will)h(return)e(a)i(length)g(ev)m(en)g(if)f(the)h
+(v)-5 b(alue)31 b(has)f(inde\014nite)g(enco)s(ding.)390
+1451 y Fe(Returns:)40 b Fs(Return)27 b(the)i(deco)s(ded)g(length)g(v)-5
+b(alue,)30 b(or)e(negativ)m(e)j(v)-5 b(alue)29 b(when)f(the)h(v)-5
+b(alue)29 b(w)m(as)g(to)s(o)390 1561 y(big.)390 1713
+y Fe(Since:)41 b Fs(2.0)150 1930 y Fk(asn1)p 396 1930
+37 5 v 55 w(get)p 616 1930 V 54 w(o)s(ctet)p 941 1930
+V 53 w(der)3350 2144 y Fs([F)-8 b(unction])-3599 b Fj(int)53
+b(asn1_get_octet_der)e Fi(\()p Fh(const)34 b(unsigned)h(c)m(har)f(*)f
+Fg(der)p Fh(,)h(in)m(t)f Fg(der_len)p Fh(,)565 2254 y(in)m(t)g(*)g
+Fg(ret_len)p Fh(,)i(unsigned)g(c)m(har)f(*)f Fg(str)p
+Fh(,)h(in)m(t)f Fg(str_size)p Fh(,)i(in)m(t)e(*)g Fg(str_len)p
+Fi(\))390 2364 y Ff(der)7 b Fs(:)40 b(DER)30 b(data)h(to)g(deco)s(de)g
+(con)m(taining)h(the)e(OCTET)f(SEQUENCE.)390 2516 y Ff(der)p
+523 2516 28 4 v 40 w(len)p Fs(:)40 b(The)30 b(length)h(of)g(the)f
+Fl(der)g Fs(data)h(to)g(deco)s(de.)390 2668 y Ff(ret)p
+507 2668 V 40 w(len)p Fs(:)41 b(Output)29 b(v)-5 b(ariable)32
+b(con)m(taining)f(the)g(enco)s(ded)f(length)h(of)f(the)h(DER)f(data.)
+390 2820 y Ff(str)7 b Fs(:)40 b(Pre-allo)s(cated)33 b(output)d
+(bu\013er)f(to)i(put)f(deco)s(ded)g(OCTET)f(SEQUENCE)g(in.)390
+2973 y Ff(str)p 503 2973 V 40 w(size)5 b Fs(:)41 b(Length)31
+b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 3125
+y Ff(str)p 503 3125 V 40 w(len)p Fs(:)57 b(Output)38
b(v)-5 b(ariable)40 b(con)m(taining)g(the)f(length)g(of)g(the)g(con)m
-(ten)m(ts)h(of)f(the)g(OCTET)e(SE-)390 2113 y(QUENCE.)390
-2241 y(Extract)g(an)f(OCTET)e(SEQUENCE)h(from)h(DER)g(data.)58
-b(Note)37 b(that)g(this)f(function)g(exp)s(ects)390 2351
+(ten)m(ts)h(of)f(the)g(OCTET)e(SE-)390 3234 y(QUENCE.)390
+3387 y(Extract)g(an)f(OCTET)e(SEQUENCE)h(from)h(DER)g(data.)58
+b(Note)37 b(that)g(this)f(function)g(exp)s(ects)390 3496
y(the)31 b(DER)f(data)h(past)g(the)f(tag)i(\014eld,)e(i.e.,)i(the)e
-(length)h(and)f(con)m(ten)m(t)i(o)s(ctets.)390 2479 y
-Fe(Returns:)40 b Fr(Returns)30 b Fk(ASN1_SUCCESS)d Fr(on)j(success,)h
-(or)f(an)h(error.)150 2665 y Fj(asn1)p 396 2665 37 5
-v 55 w(get)p 616 2665 V 54 w(ob)7 b(ject)p 1002 2665
-V 54 w(id)p 1158 2665 V 54 w(der)3350 2849 y Fr([F)-8
-b(unction])-3599 b Fi(int)53 b(asn1_get_object_id_de)q(r)e
-Fh(\()p Fg(const)32 b(unsigned)d(c)m(har)i(*)f Ff(der)p
-Fg(,)i(in)m(t)565 2959 y Ff(der_len)p Fg(,)h(in)m(t)e(*)f
-Ff(ret_len)p Fg(,)j(c)m(har)e(*)g Ff(str)p Fg(,)g(in)m(t)g
-Ff(str_size)p Fh(\))390 3068 y Fg(der)7 b Fr(:)40 b(DER)30
+(length)h(and)f(con)m(ten)m(t)i(o)s(ctets.)390 3649 y
+Fe(Returns:)40 b Fs(Returns)30 b Fl(ASN1_SUCCESS)d Fs(on)j(success,)h
+(or)f(an)h(error.)150 3866 y Fk(asn1)p 396 3866 37 5
+v 55 w(get)p 616 3866 V 54 w(ob)7 b(ject)p 1002 3866
+V 54 w(id)p 1158 3866 V 54 w(der)3350 4080 y Fs([F)-8
+b(unction])-3599 b Fj(int)53 b(asn1_get_object_id_de)q(r)e
+Fi(\()p Fh(const)34 b(unsigned)h(c)m(har)f(*)f Fg(der)p
+Fh(,)h(in)m(t)565 4190 y Fg(der_len)p Fh(,)h(in)m(t)e(*)g
+Fg(ret_len)p Fh(,)i(c)m(har)f(*)f Fg(str)p Fh(,)h(in)m(t)f
+Fg(str_size)p Fi(\))390 4299 y Ff(der)7 b Fs(:)40 b(DER)30
b(data)h(to)g(deco)s(de)g(con)m(taining)h(the)e(OBJECT)g(IDENTIFIER)390
-3196 y Fg(der)p 523 3196 28 4 v 40 w(len)p Fr(:)40 b(Length)31
-b(of)f(DER)h(data)g(to)g(deco)s(de.)390 3324 y Fg(ret)p
-507 3324 V 40 w(len)p Fr(:)41 b(Output)29 b(v)-5 b(ariable)32
+4451 y Ff(der)p 523 4451 28 4 v 40 w(len)p Fs(:)40 b(Length)31
+b(of)f(DER)h(data)g(to)g(deco)s(de.)390 4604 y Ff(ret)p
+507 4604 V 40 w(len)p Fs(:)41 b(Output)29 b(v)-5 b(ariable)32
b(con)m(taining)f(the)g(length)g(of)f(the)h(DER)f(data.)390
-3452 y Fg(str)7 b Fr(:)40 b(Pre-allo)s(cated)33 b(output)d(bu\013er)f
+4756 y Ff(str)7 b Fs(:)40 b(Pre-allo)s(cated)33 b(output)d(bu\013er)f
(to)i(put)f(the)g(textual)i(ob)5 b(ject)31 b(id)f(in.)390
-3581 y Fg(str)p 503 3581 V 40 w(size)5 b Fr(:)41 b(Length)31
-b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 3709
-y(Con)m(v)m(erts)h(a)g(DER)f(enco)s(ded)g(ob)5 b(ject)32
-b(iden)m(ti\014er)e(to)h(its)g(textual)h(form.)390 3837
-y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27 b Fr(on)k(success,)g(or)f(an)g
-(error.)150 4023 y Fj(asn1)p 396 4023 37 5 v 55 w(get)p
-616 4023 V 54 w(bit)p 820 4023 V 54 w(der)3350 4207 y
-Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_get_bit_der)e
-Fh(\()p Fg(const)31 b(unsigned)e(c)m(har)i(*)g Ff(der)p
-Fg(,)g(in)m(t)g Ff(der_len)p Fg(,)i(in)m(t)d(*)565 4316
-y Ff(ret_len)p Fg(,)j(unsigned)c(c)m(har)i(*)g Ff(str)p
-Fg(,)g(in)m(t)g Ff(str_size)p Fg(,)i(in)m(t)e(*)g Ff(bit_len)p
-Fh(\))390 4426 y Fg(der)7 b Fr(:)40 b(DER)30 b(data)h(to)g(deco)s(de)g
-(con)m(taining)h(the)e(BIT)h(SEQUENCE.)390 4554 y Fg(der)p
-523 4554 28 4 v 40 w(len)p Fr(:)40 b(Length)31 b(of)f(DER)h(data)g(to)g
-(deco)s(de.)390 4682 y Fg(ret)p 507 4682 V 40 w(len)p
-Fr(:)41 b(Output)29 b(v)-5 b(ariable)32 b(con)m(taining)f(the)g(length)
-g(of)f(the)h(DER)f(data.)390 4810 y Fg(str)7 b Fr(:)40
-b(Pre-allo)s(cated)33 b(output)d(bu\013er)f(to)i(put)f(deco)s(ded)g
-(BIT)g(SEQUENCE)f(in.)390 4938 y Fg(str)p 503 4938 V
-40 w(size)5 b Fr(:)41 b(Length)31 b(of)f(pre-allo)s(cated)j(output)d
-(bu\013er.)390 5066 y Fg(bit)p 507 5066 V 40 w(len)p
-Fr(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(size)g
-(of)g(the)f(BIT)g(SEQUENCE.)390 5194 y(Extract)h(a)g(BIT)f(SEQUENCE)f
-(from)h(DER)h(data.)390 5322 y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27
-b Fr(on)k(success,)g(or)f(an)g(error.)p eop end
+4908 y Ff(str)p 503 4908 V 40 w(size)5 b Fs(:)41 b(Length)31
+b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 5060
+y(Con)m(v)m(erts)i(a)f(DER)h(enco)s(ded)e(ob)5 b(ject)32
+b(iden)m(ti\014er)f(to)h(its)g(textual)g(form.)42 b(This)31
+b(function)g(exp)s(ects)390 5170 y(the)g(DER)f(ob)5 b(ject)31
+b(iden)m(ti\014er)g(without)f(the)h(tag.)390 5322 y Fe(Returns:)40
+b Fl(ASN1_SUCCESS)27 b Fs(on)k(success,)g(or)f(an)g(error.)p
+eop end
%%Page: 19 22
-TeXDict begin 19 21 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(19)150 299 y Fj(asn1)p
-396 299 37 5 v 55 w(der)p 625 299 V 54 w(deco)s(ding2)3350
-497 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_der_decoding2)e
-Fh(\()p Fg(asn1)p 1564 497 28 4 v 41 w(no)s(de)29 b(*)i
-Ff(element)p Fg(,)i(const)e(v)m(oid)g(*)f Ff(ider)p Fg(,)i(in)m(t)565
-607 y(*)f Ff(max_ider_len)p Fg(,)j(unsigned)29 b(in)m(t)i
-Ff(flags)p Fg(,)h(c)m(har)f(*)g Ff(errorDescription)p
-Fh(\))390 717 y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31
-b(to)g(an)f(ASN1)h(structure.)390 853 y Fg(ider)7 b Fr(:)40
-b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)390
-989 y Fg(max)p 565 989 V 40 w(ider)p 757 989 V 40 w(len)p
-Fr(:)37 b(p)s(oin)m(ter)22 b(to)i(an)e(in)m(teger)i(giving)f(the)g
-(information)g(ab)s(out)f(the)h(maximal)g(n)m(um)m(b)s(er)390
-1099 y(of)29 b(b)m(ytes)g(o)s(ccupied)f(b)m(y)h(*)g Fk(ider)e
-Fr(.)41 b(The)28 b(real)h(size)g(of)g(the)g(DER)g(enco)s(ding)f(is)h
-(returned)f(through)390 1208 y(this)i(p)s(oin)m(ter.)390
-1345 y Fg(\015ags)t Fr(:)41 b(\015ags)30 b(con)m(trolling)j(the)d(b)s
-(eha)m(viour)g(of)h(the)f(function.)390 1481 y Fg(errorDescription)p
-Fr(:)41 b(n)m(ull-terminated)32 b(string)e(con)m(tains)h(details)h
-(when)d(an)h(error)g(o)s(ccurred.)390 1617 y(Fill)38
-b(the)f(structure)g(*)h Fk(element)d Fr(with)h(v)-5 b(alues)38
+TeXDict begin 19 21 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(19)150 299 y Fk(asn1)p
+396 299 37 5 v 55 w(get)p 616 299 V 54 w(bit)p 820 299
+V 54 w(der)3350 500 y Fs([F)-8 b(unction])-3599 b Fj(int)53
+b(asn1_get_bit_der)e Fi(\()p Fh(const)34 b(unsigned)g(c)m(har)g(*)f
+Fg(der)p Fh(,)h(in)m(t)f Fg(der_len)p Fh(,)i(in)m(t)565
+609 y(*)e Fg(ret_len)p Fh(,)i(unsigned)g(c)m(har)f(*)f
+Fg(str)p Fh(,)h(in)m(t)f Fg(str_size)p Fh(,)i(in)m(t)e(*)g
+Fg(bit_len)p Fi(\))390 719 y Ff(der)7 b Fs(:)40 b(DER)30
+b(data)h(to)g(deco)s(de)g(con)m(taining)h(the)e(BIT)h(SEQUENCE.)390
+858 y Ff(der)p 523 858 28 4 v 40 w(len)p Fs(:)40 b(Length)31
+b(of)f(DER)h(data)g(to)g(deco)s(de.)390 996 y Ff(ret)p
+507 996 V 40 w(len)p Fs(:)41 b(Output)29 b(v)-5 b(ariable)32
+b(con)m(taining)f(the)g(length)g(of)f(the)h(DER)f(data.)390
+1135 y Ff(str)7 b Fs(:)40 b(Pre-allo)s(cated)33 b(output)d(bu\013er)f
+(to)i(put)f(deco)s(ded)g(BIT)g(SEQUENCE)f(in.)390 1274
+y Ff(str)p 503 1274 V 40 w(size)5 b Fs(:)41 b(Length)31
+b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 1413
+y Ff(bit)p 507 1413 V 40 w(len)p Fs(:)41 b(Output)29
+b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(size)g(of)g(the)f(BIT)g
+(SEQUENCE.)390 1551 y(Extract)h(a)g(BIT)f(SEQUENCE)f(from)h(DER)h
+(data.)390 1690 y Fe(Returns:)40 b Fl(ASN1_SUCCESS)27
+b Fs(on)k(success,)g(or)f(an)g(error.)150 1894 y Fk(asn1)p
+396 1894 37 5 v 55 w(der)p 625 1894 V 54 w(deco)s(ding2)3350
+2095 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_der_decoding2)e
+Fi(\()p Fh(asn1)p 1582 2095 30 5 v 45 w(no)s(de)33 b(*)g
+Fg(element)p Fh(,)i(const)f(v)m(oid)f(*)g Fg(ider)p Fh(,)565
+2204 y(in)m(t)g(*)g Fg(max_ider_len)p Fh(,)k(unsigned)e(in)m(t)e
+Fg(flags)p Fh(,)h(c)m(har)g(*)f Fg(errorDescription)p
+Fi(\))390 2314 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31
+b(to)g(an)f(ASN1)h(structure.)390 2452 y Ff(ider)7 b
+Fs(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)
+390 2591 y Ff(max)p 565 2591 28 4 v 40 w(ider)p 757 2591
+V 40 w(len)p Fs(:)37 b(p)s(oin)m(ter)22 b(to)i(an)e(in)m(teger)i
+(giving)f(the)g(information)g(ab)s(out)f(the)h(maximal)g(n)m(um)m(b)s
+(er)390 2701 y(of)29 b(b)m(ytes)g(o)s(ccupied)f(b)m(y)h(*)g
+Fl(ider)e Fs(.)41 b(The)28 b(real)h(size)g(of)g(the)g(DER)g(enco)s
+(ding)f(is)h(returned)f(through)390 2810 y(this)i(p)s(oin)m(ter.)390
+2949 y Ff(\015ags)t Fs(:)41 b(\015ags)30 b(con)m(trolling)j(the)d(b)s
+(eha)m(viour)g(of)h(the)f(function.)390 3088 y Ff(errorDescription)p
+Fs(:)41 b(n)m(ull-terminated)32 b(string)e(con)m(tains)h(details)h
+(when)d(an)h(error)g(o)s(ccurred.)390 3226 y(Fill)38
+b(the)f(structure)g(*)h Fl(element)d Fs(with)h(v)-5 b(alues)38
b(of)f(a)h(DER)f(enco)s(ding)g(string.)61 b(The)36 b(structure)390
-1727 y(m)m(ust)30 b(just)g(b)s(e)g(created)h(with)f(function)g
-Fk(asn1_create_element\(\))25 b Fr(.)390 1863 y(If)d
-Fk(ASN1_DECODE_FLAG_ALLOW_P)o(ADD)o(ING)16 b Fr(\015ag)23
+3336 y(m)m(ust)30 b(just)g(b)s(e)g(created)h(with)f(function)g
+Fl(asn1_create_element\(\))25 b Fs(.)390 3475 y(If)d
+Fl(ASN1_DECODE_FLAG_ALLOW_P)o(ADD)o(ING)16 b Fs(\015ag)23
b(is)f(set)h(then)f(the)g(function)g(will)h(ignore)g(padding)390
-1973 y(after)31 b(the)h(deco)s(ded)e(DER)h(data.)43 b(Up)s(on)30
+3584 y(after)31 b(the)h(deco)s(ded)e(DER)h(data.)43 b(Up)s(on)30
b(a)i(successful)e(return)g(the)h(v)-5 b(alue)32 b(of)f(*)g
-Fk(max_ider_len)390 2082 y Fr(will)g(b)s(e)e(set)i(to)g(the)g(n)m(um)m
-(b)s(er)e(of)i(b)m(ytes)g(deco)s(ded.)390 2218 y(If)j
-Fk(ASN1_DECODE_FLAG_STRICT_DE)o(R)29 b Fr(\015ag)35 b(is)g(set)h(then)e
+Fl(max_ider_len)390 3694 y Fs(will)g(b)s(e)e(set)i(to)g(the)g(n)m(um)m
+(b)s(er)e(of)i(b)m(ytes)g(deco)s(ded.)390 3833 y(If)j
+Fl(ASN1_DECODE_FLAG_STRICT_DE)o(R)29 b Fs(\015ag)35 b(is)g(set)h(then)e
(the)h(function)g(will)g(not)h(deco)s(de)f(an)m(y)390
-2328 y(BER-enco)s(ded)30 b(elemen)m(ts.)390 2464 y Fe(Returns:)39
-b Fk(ASN1_SUCCESS)25 b Fr(if)i(DER)h(enco)s(ding)g(OK,)f
-Fk(ASN1_ELEMENT_NOT_FOUND)22 b Fr(if)28 b Fk(ELEMENT)390
-2574 y Fr(is)g Fk(NULL)e Fr(,)i(and)g Fk(ASN1_TAG_ERROR)23
-b Fr(or)28 b Fk(ASN1_DER_ERROR)c Fr(if)j(the)h(der)f(enco)s(ding)h(do)s
-(esn't)f(matc)m(h)390 2684 y(the)k(structure)e(name)i(\(*)g
-Fk(ELEMENT)d Fr(deleted\).)150 2885 y Fj(asn1)p 396 2885
-37 5 v 55 w(der)p 625 2885 V 54 w(deco)s(ding)3350 3083
-y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_der_decoding)e
-Fh(\()p Fg(asn1)p 1512 3083 28 4 v 40 w(no)s(de)30 b(*)h
-Ff(element)p Fg(,)i(const)d(v)m(oid)h(*)g Ff(ider)p Fg(,)h(in)m(t)565
-3193 y Ff(ider_len)p Fg(,)h(c)m(har)e(*)g Ff(errorDescription)p
-Fh(\))390 3302 y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31
-b(to)g(an)f(ASN1)h(structure.)390 3439 y Fg(ider)7 b
-Fr(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)
-390 3575 y Fg(ider)p 548 3575 V 40 w(len)p Fr(:)41 b(n)m(um)m(b)s(er)29
-b(of)h(b)m(ytes)h(of)g(*)f Fk(ider)g Fr(:)40 b Fk(ider)29
-b Fr([0]..)42 b Fk(ider)30 b Fr([len-1].)390 3711 y Fg
-(errorDescription)p Fr(:)41 b(n)m(ull-terminated)32 b(string)e(con)m
-(tains)h(details)h(when)d(an)h(error)g(o)s(ccurred.)390
-3847 y(Fill)38 b(the)f(structure)g(*)h Fk(element)d Fr(with)h(v)-5
-b(alues)38 b(of)f(a)h(DER)f(enco)s(ding)g(string.)61
-b(The)36 b(structure)390 3957 y(m)m(ust)30 b(just)g(b)s(e)g(created)h
-(with)f(function)g Fk(asn1_create_element\(\))25 b Fr(.)390
-4093 y(Note)32 b(that)f(the)f(*)h Fk(element)d Fr(v)-5
-b(ariable)32 b(is)e(pro)m(vided)g(as)h(a)f(p)s(oin)m(ter)h(for)f
-(historical)i(reasons.)390 4229 y Fe(Returns:)39 b Fk(ASN1_SUCCESS)25
-b Fr(if)i(DER)h(enco)s(ding)g(OK,)f Fk(ASN1_ELEMENT_NOT_FOUND)22
-b Fr(if)28 b Fk(ELEMENT)390 4339 y Fr(is)g Fk(NULL)e
-Fr(,)i(and)g Fk(ASN1_TAG_ERROR)23 b Fr(or)28 b Fk(ASN1_DER_ERROR)c
-Fr(if)j(the)h(der)f(enco)s(ding)h(do)s(esn't)f(matc)m(h)390
-4449 y(the)k(structure)e(name)i(\(*)g Fk(ELEMENT)d Fr(deleted\).)150
-4650 y Fj(asn1)p 396 4650 37 5 v 55 w(der)p 625 4650
-V 54 w(deco)s(ding)p 1153 4650 V 55 w(elemen)m(t)3350
-4848 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_der_decoding_ele)q
-(ment)f Fh(\()p Fg(asn1)p 1930 4848 28 4 v 41 w(no)s(de)30
-b(*)g Ff(structure)p Fg(,)k(const)d(c)m(har)565 4958
-y(*)g Ff(elementName)p Fg(,)j(const)d(v)m(oid)g(*)f Ff(ider)p
-Fg(,)i(in)m(t)f Ff(len)p Fg(,)g(c)m(har)g(*)g Ff(errorDescription)p
-Fh(\))390 5067 y Fg(structure)5 b Fr(:)40 b(p)s(oin)m(ter)31
-b(to)g(an)f(ASN1)h(structure)390 5204 y Fg(elemen)m(tName)5
-b Fr(:)43 b(name)31 b(of)f(the)h(elemen)m(t)g(to)h(\014ll)390
-5340 y Fg(ider)7 b Fr(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g
-(DER)g(enco)s(ding)f(of)g(the)h(whole)g(structure.)p
+3942 y(BER-enco)s(ded)30 b(elemen)m(ts.)390 4081 y Fe(Returns:)39
+b Fl(ASN1_SUCCESS)25 b Fs(if)i(DER)h(enco)s(ding)g(OK,)f
+Fl(ASN1_ELEMENT_NOT_FOUND)22 b Fs(if)28 b Fl(ELEMENT)390
+4191 y Fs(is)g Fl(NULL)e Fs(,)i(and)g Fl(ASN1_TAG_ERROR)23
+b Fs(or)28 b Fl(ASN1_DER_ERROR)c Fs(if)j(the)h(der)f(enco)s(ding)h(do)s
+(esn't)f(matc)m(h)390 4300 y(the)k(structure)e(name)i(\(*)g
+Fl(ELEMENT)d Fs(deleted\).)150 4504 y Fk(asn1)p 396 4504
+37 5 v 55 w(der)p 625 4504 V 54 w(deco)s(ding)3350 4705
+y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_der_decoding)e
+Fi(\()p Fh(asn1)p 1530 4705 30 5 v 44 w(no)s(de)34 b(*)f
+Fg(element)p Fh(,)i(const)f(v)m(oid)f(*)g Fg(ider)p Fh(,)565
+4814 y(in)m(t)g Fg(ider_len)p Fh(,)j(c)m(har)e(*)f Fg(errorDescription)
+p Fi(\))390 4924 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31
+b(to)g(an)f(ASN1)h(structure.)390 5063 y Ff(ider)7 b
+Fs(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)
+390 5201 y Ff(ider)p 548 5201 28 4 v 40 w(len)p Fs(:)41
+b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*)f Fl(ider)g
+Fs(:)40 b Fl(ider)29 b Fs([0]..)42 b Fl(ider)30 b Fs([len-1].)390
+5340 y Ff(errorDescription)p Fs(:)41 b(n)m(ull-terminated)32
+b(string)e(con)m(tains)h(details)h(when)d(an)h(error)g(o)s(ccurred.)p
eop end
%%Page: 20 23
-TeXDict begin 20 22 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(20)390 299 y Fg(len)p
-Fr(:)41 b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*der:)40
-b(der[0]..der[len-1])390 435 y Fg(errorDescription)p
-Fr(:)h(n)m(ull-terminated)32 b(string)e(con)m(tains)h(details)h(when)d
-(an)h(error)g(o)s(ccurred.)390 572 y(Fill)41 b(the)g(elemen)m(t)g
-(named)f Fk(ELEMENTNAME)d Fr(with)j(v)-5 b(alues)40 b(of)h(a)f(DER)g
-(enco)s(ding)g(string.)70 b(The)390 682 y(structure)36
-b(m)m(ust)h(just)f(b)s(e)g(created)i(with)e(function)h
-Fk(asn1_create_element\(\))31 b Fr(.)60 b(The)36 b(DER)390
-791 y(v)m(ector)d(m)m(ust)e(con)m(tain)h(the)f(enco)s(ding)g(string)g
-(of)g(the)h(whole)f Fk(STRUCTURE)d Fr(.)43 b(If)31 b(an)g(error)f(o)s
-(ccurs)390 901 y(during)f(the)i(deco)s(ding)f(pro)s(cedure,)f(the)i(*)g
-Fk(STRUCTURE)d Fr(is)i(deleted)h(and)f(set)h(equal)g(to)g
-Fk(NULL)e Fr(.)390 1037 y(This)h(function)h(is)h(deprecated)f(and)g(ma)
-m(y)h(just)f(b)s(e)f(an)h(alias)i(to)f(asn1)p 2820 1037
-28 4 v 40 w(der)p 2987 1037 V 40 w(deco)s(ding)f(in)g(future)390
-1147 y(v)m(ersions.)41 b(Use)31 b Fk(asn1_der_decoding\(\))25
-b Fr(instead.)390 1284 y Fe(Returns:)63 b Fk(ASN1_SUCCESS)39
-b Fr(if)j(DER)g(enco)s(ding)g(OK,)f Fk(ASN1_ELEMENT_NOT_FOUND)36
-b Fr(if)42 b(ELE-)390 1393 y(MENT)24 b(is)h Fk(NULL)e
-Fr(or)h Fk(elementName)d Fr(==)j(NULL,)g(and)g Fk(ASN1_TAG_ERROR)d
-Fr(or)j Fk(ASN1_DER_ERROR)390 1503 y Fr(if)30 b(the)h(der)f(enco)s
-(ding)g(do)s(esn't)g(matc)m(h)h(the)g(structure)f Fk(structure)e
-Fr(\(*ELEMENT)i(deleted\).)150 1704 y Fj(asn1)p 396 1704
-37 5 v 55 w(der)p 625 1704 V 54 w(deco)s(ding)p 1153
-1704 V 55 w(startEnd)3350 1903 y Fr([F)-8 b(unction])-3599
-b Fi(int)53 b(asn1_der_decoding_sta)q(rtEn)q(d)f Fh(\()p
-Fg(asn1)p 1983 1903 28 4 v 40 w(no)s(de)30 b Ff(element)p
-Fg(,)j(const)d(v)m(oid)h(*)565 2013 y Ff(ider)p Fg(,)h(in)m(t)f
-Ff(ider_len)p Fg(,)i(const)e(c)m(har)f(*)h Ff(name_element)p
-Fg(,)j(in)m(t)d(*)g Ff(start)p Fg(,)h(in)m(t)f(*)g Ff(end)p
-Fh(\))390 2122 y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31
-b(to)g(an)f(ASN1)h(elemen)m(t)390 2259 y Fg(ider)7 b
-Fr(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)
-390 2395 y Fg(ider)p 548 2395 V 40 w(len)p Fr(:)41 b(n)m(um)m(b)s(er)29
-b(of)h(b)m(ytes)h(of)g(*)f Fk(ider)g Fr(:)40 b Fk(ider)29
-b Fr([0]..)42 b Fk(ider)30 b Fr([len-1])390 2532 y Fg(name)p
-608 2532 V 40 w(elemen)m(t)r Fr(:)42 b(an)31 b(elemen)m(t)g(of)g(NAME)g
-(structure.)390 2669 y Fg(start)r Fr(:)41 b(the)31 b(p)s(osition)f(of)h
-(the)f(\014rst)g(b)m(yte)h(of)g(NAME)p 2189 2669 V 40
-w(ELEMENT)f(deco)s(ding)g(\()h Fk(ider)e Fr([*start]\))390
-2805 y Fg(end)t Fr(:)40 b(the)30 b(p)s(osition)h(of)f(the)h(last)g(b)m
-(yte)g(of)g(NAME)p 2129 2805 V 40 w(ELEMENT)f(deco)s(ding)g(\()h
-Fk(ider)e Fr([*end]\))390 2942 y(Find)45 b(the)h(start)g(and)f(end)g(p)
-s(oin)m(t)g(of)h(an)f(elemen)m(t)i(in)e(a)h(DER)g(enco)s(ding)f
-(string.)87 b(I)45 b(mean)390 3051 y(that)35 b(if)f(y)m(ou)h(ha)m(v)m
-(e)h(a)e(der)g(enco)s(ding)g(and)g(y)m(ou)h(ha)m(v)m(e)g(already)g
-(used)f(the)g(function)g Fk(asn1_der_)390 3161 y(decoding\(\))22
-b Fr(to)j(\014ll)g(a)g(structure,)h(it)f(ma)m(y)h(happ)s(en)d(that)i(y)
-m(ou)g(w)m(an)m(t)h(to)f(\014nd)e(the)i(piece)h(of)f(string)390
-3270 y(concerning)31 b(an)f(elemen)m(t)i(of)e(the)h(structure.)390
-3407 y(One)f(example)h(is)f(the)h(sequence)g Fk(")p Fr
-(tbsCerti\014cate)p Fk(")g Fr(inside)f(an)g(X509)i(certi\014cate.)390
-3544 y(Note)38 b(that)g(since)f(libtasn1)g(3.7)h(the)f
-Fk(ider)f Fr(and)g Fk(ider_len)f Fr(parameters)i(can)g(b)s(e)f
-(omitted,)k(if)390 3653 y(the)31 b(elemen)m(t)g(is)g(already)g(deco)s
-(ded)f(using)g Fk(asn1_der_decoding\(\))25 b Fr(.)390
-3790 y Fe(Returns:)63 b Fk(ASN1_SUCCESS)39 b Fr(if)j(DER)g(enco)s(ding)
-g(OK,)f Fk(ASN1_ELEMENT_NOT_FOUND)36 b Fr(if)42 b(ELE-)390
-3899 y(MENT)37 b(is)g Fk(asn1_node)e Fr(EMPTY)h(or)h
-Fk(name_element)d Fr(is)j(not)g(a)h(v)-5 b(alid)37 b(elemen)m(t,)j
-Fk(ASN1_TAG_)390 4009 y(ERROR)j Fr(or)h Fk(ASN1_DER_ERROR)d
-Fr(if)j(the)h(der)f(enco)s(ding)g(do)s(esn't)g(matc)m(h)i(the)e
-(structure)g(ELE-)390 4119 y(MENT.)150 4320 y Fj(asn1)p
-396 4320 37 5 v 55 w(expand)p 836 4320 V 54 w(an)m(y)p
-1080 4320 V 53 w(de\014ned)p 1517 4320 V 55 w(b)m(y)3350
-4519 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_expand_any_defin)q
-(ed_b)q(y)f Fh(\()p Fg(asn1)p 1983 4519 28 4 v 40 w(no)s(de)30
-b Ff(definitions)p Fg(,)565 4628 y(asn1)p 748 4628 V
-40 w(no)s(de)g(*)h Ff(element)p Fh(\))390 4738 y Fg(de\014nitions)t
-Fr(:)40 b(ASN1)31 b(de\014nitions)390 4875 y Fg(elemen)m(t)r
-Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(structure)390
-5011 y(Expands)36 b(ev)m(ery)j Fk(")p Fr(ANY)f(DEFINED)g(BY)p
-Fk(")g Fr(elemen)m(t)h(of)f(a)g(structure)g(created)g(from)g(a)g(DER)
-390 5121 y(deco)s(ding)c(pro)s(cess)g(\(asn1)p 1314 5121
-V 41 w(der)p 1482 5121 V 40 w(deco)s(ding)g(function\).)53
-b(The)34 b(elemen)m(t)i(ANY)f(m)m(ust)f(b)s(e)g(de\014ned)390
-5230 y(b)m(y)26 b(an)f(OBJECT)g(IDENTIFIER.)h(The)f(t)m(yp)s(e)h(used)f
-(to)i(expand)e(the)h(elemen)m(t)h(ANY)g(is)f(the)g(\014rst)390
-5340 y(one)31 b(follo)m(wing)h(the)e(de\014nition)g(of)h(the)f(actual)i
-(v)-5 b(alue)31 b(of)f(the)h(OBJECT)e(IDENTIFIER.)p eop
+TeXDict begin 20 22 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(20)390 299 y(Fill)38
+b(the)f(structure)g(*)h Fl(element)d Fs(with)h(v)-5 b(alues)38
+b(of)f(a)h(DER)f(enco)s(ding)g(string.)61 b(The)36 b(structure)390
+408 y(m)m(ust)30 b(just)g(b)s(e)g(created)h(with)f(function)g
+Fl(asn1_create_element\(\))25 b Fs(.)390 543 y(Note)32
+b(that)f(the)f(*)h Fl(element)d Fs(v)-5 b(ariable)32
+b(is)e(pro)m(vided)g(as)h(a)f(p)s(oin)m(ter)h(for)f(historical)i
+(reasons.)390 677 y Fe(Returns:)39 b Fl(ASN1_SUCCESS)25
+b Fs(if)i(DER)h(enco)s(ding)g(OK,)f Fl(ASN1_ELEMENT_NOT_FOUND)22
+b Fs(if)28 b Fl(ELEMENT)390 786 y Fs(is)g Fl(NULL)e Fs(,)i(and)g
+Fl(ASN1_TAG_ERROR)23 b Fs(or)28 b Fl(ASN1_DER_ERROR)c
+Fs(if)j(the)h(der)f(enco)s(ding)h(do)s(esn't)f(matc)m(h)390
+896 y(the)k(structure)e(name)i(\(*)g Fl(ELEMENT)d Fs(deleted\).)150
+1094 y Fk(asn1)p 396 1094 37 5 v 55 w(der)p 625 1094
+V 54 w(deco)s(ding)p 1153 1094 V 55 w(elemen)m(t)3350
+1290 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_der_decoding_ele)q
+(ment)f Fi(\()p Fh(asn1)p 1948 1290 30 5 v 45 w(no)s(de)33
+b(*)h Fg(structure)p Fh(,)h(const)565 1400 y(c)m(har)f(*)f
+Fg(elementName)p Fh(,)j(const)e(v)m(oid)f(*)g Fg(ider)p
+Fh(,)h(in)m(t)f Fg(len)p Fh(,)h(c)m(har)g(*)565 1509
+y Fg(errorDescription)p Fi(\))390 1619 y Ff(structure)5
+b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(structure)390
+1753 y Ff(elemen)m(tName)5 b Fs(:)43 b(name)31 b(of)f(the)h(elemen)m(t)
+g(to)h(\014ll)390 1887 y Ff(ider)7 b Fs(:)40 b(v)m(ector)32
+b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding)f(of)g(the)h(whole)g
+(structure.)390 2021 y Ff(len)p Fs(:)41 b(n)m(um)m(b)s(er)29
+b(of)h(b)m(ytes)h(of)g(*der:)40 b(der[0]..der[len-1])390
+2155 y Ff(errorDescription)p Fs(:)h(n)m(ull-terminated)32
+b(string)e(con)m(tains)h(details)h(when)d(an)h(error)g(o)s(ccurred.)390
+2290 y(Fill)41 b(the)g(elemen)m(t)g(named)f Fl(ELEMENTNAME)d
+Fs(with)j(v)-5 b(alues)40 b(of)h(a)f(DER)g(enco)s(ding)g(string.)70
+b(The)390 2399 y(structure)36 b(m)m(ust)h(just)f(b)s(e)g(created)i
+(with)e(function)h Fl(asn1_create_element\(\))31 b Fs(.)60
+b(The)36 b(DER)390 2509 y(v)m(ector)d(m)m(ust)e(con)m(tain)h(the)f
+(enco)s(ding)g(string)g(of)g(the)h(whole)f Fl(STRUCTURE)d
+Fs(.)43 b(If)31 b(an)g(error)f(o)s(ccurs)390 2618 y(during)f(the)i
+(deco)s(ding)f(pro)s(cedure,)f(the)i(*)g Fl(STRUCTURE)d
+Fs(is)i(deleted)h(and)f(set)h(equal)g(to)g Fl(NULL)e
+Fs(.)390 2752 y(This)h(function)h(is)h(deprecated)f(and)g(ma)m(y)h
+(just)f(b)s(e)f(an)h(alias)i(to)f(asn1)p 2820 2752 28
+4 v 40 w(der)p 2987 2752 V 40 w(deco)s(ding)f(in)g(future)390
+2862 y(v)m(ersions.)41 b(Use)31 b Fl(asn1_der_decoding\(\))25
+b Fs(instead.)390 2996 y Fe(Returns:)63 b Fl(ASN1_SUCCESS)39
+b Fs(if)j(DER)g(enco)s(ding)g(OK,)f Fl(ASN1_ELEMENT_NOT_FOUND)36
+b Fs(if)42 b(ELE-)390 3106 y(MENT)24 b(is)h Fl(NULL)e
+Fs(or)h Fl(elementName)d Fs(==)j(NULL,)g(and)g Fl(ASN1_TAG_ERROR)d
+Fs(or)j Fl(ASN1_DER_ERROR)390 3215 y Fs(if)30 b(the)h(der)f(enco)s
+(ding)g(do)s(esn't)g(matc)m(h)h(the)g(structure)f Fl(structure)e
+Fs(\(*ELEMENT)i(deleted\).)150 3414 y Fk(asn1)p 396 3414
+37 5 v 55 w(der)p 625 3414 V 54 w(deco)s(ding)p 1153
+3414 V 55 w(startEnd)3350 3610 y Fs([F)-8 b(unction])-3599
+b Fj(int)53 b(asn1_der_decoding_sta)q(rtEn)q(d)f Fi(\()p
+Fh(asn1)p 2001 3610 30 5 v 44 w(no)s(de)34 b Fg(element)p
+Fh(,)h(const)e(v)m(oid)565 3719 y(*)d Fg(ider)p Fh(,)i(in)m(t)e
+Fg(ider_len)p Fh(,)j(const)e(c)m(har)g(*)f Fg(name_element)p
+Fh(,)k(in)m(t)c(*)g Fg(start)p Fh(,)i(in)m(t)f(*)f Fg(end)p
+Fi(\))390 3829 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31
+b(to)g(an)f(ASN1)h(elemen)m(t)390 3963 y Ff(ider)7 b
+Fs(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)
+390 4097 y Ff(ider)p 548 4097 28 4 v 40 w(len)p Fs(:)41
+b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*)f Fl(ider)g
+Fs(:)40 b Fl(ider)29 b Fs([0]..)42 b Fl(ider)30 b Fs([len-1])390
+4231 y Ff(name)p 608 4231 V 40 w(elemen)m(t)r Fs(:)42
+b(an)31 b(elemen)m(t)g(of)g(NAME)g(structure.)390 4365
+y Ff(start)r Fs(:)41 b(the)31 b(p)s(osition)f(of)h(the)f(\014rst)g(b)m
+(yte)h(of)g(NAME)p 2189 4365 V 40 w(ELEMENT)f(deco)s(ding)g(\()h
+Fl(ider)e Fs([*start]\))390 4499 y Ff(end)t Fs(:)40 b(the)30
+b(p)s(osition)h(of)f(the)h(last)g(b)m(yte)g(of)g(NAME)p
+2129 4499 V 40 w(ELEMENT)f(deco)s(ding)g(\()h Fl(ider)e
+Fs([*end]\))390 4633 y(Find)45 b(the)h(start)g(and)f(end)g(p)s(oin)m(t)
+g(of)h(an)f(elemen)m(t)i(in)e(a)h(DER)g(enco)s(ding)f(string.)87
+b(I)45 b(mean)390 4743 y(that)35 b(if)f(y)m(ou)h(ha)m(v)m(e)h(a)e(der)g
+(enco)s(ding)g(and)g(y)m(ou)h(ha)m(v)m(e)g(already)g(used)f(the)g
+(function)g Fl(asn1_der_)390 4853 y(decoding\(\))22 b
+Fs(to)j(\014ll)g(a)g(structure,)h(it)f(ma)m(y)h(happ)s(en)d(that)i(y)m
+(ou)g(w)m(an)m(t)h(to)f(\014nd)e(the)i(piece)h(of)f(string)390
+4962 y(concerning)31 b(an)f(elemen)m(t)i(of)e(the)h(structure.)390
+5096 y(One)f(example)h(is)f(the)h(sequence)g Fl(")p Fs
+(tbsCerti\014cate)p Fl(")g Fs(inside)f(an)g(X509)i(certi\014cate.)390
+5230 y(Note)38 b(that)g(since)f(libtasn1)g(3.7)h(the)f
+Fl(ider)f Fs(and)g Fl(ider_len)f Fs(parameters)i(can)g(b)s(e)f
+(omitted,)k(if)390 5340 y(the)31 b(elemen)m(t)g(is)g(already)g(deco)s
+(ded)f(using)g Fl(asn1_der_decoding\(\))25 b Fs(.)p eop
end
%%Page: 21 24
-TeXDict begin 21 23 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(21)390 299 y Fe(Returns:)55
-b Fk(ASN1_SUCCESS)35 b Fr(if)j(Substitution)f(OK,)g Fk
-(ASN1_ERROR_TYPE_ANY)c Fr(if)k(some)i Fk(")p Fr(ANY)390
-408 y(DEFINED)34 b(BY)p Fk(")f Fr(elemen)m(t)i(couldn't)e(b)s(e)g
-(expanded)f(due)g(to)i(a)f(problem)g(in)g(OBJECT)p 3504
-408 28 4 v 39 w(ID)g(-)p Fk(>)390 518 y Fr(TYPE)d(asso)s(ciation,)i(or)
-f(other)f(error)g(co)s(des)h(dep)s(ending)e(on)h(DER)g(deco)s(ding.)150
-715 y Fj(asn1)p 396 715 37 5 v 55 w(expand)p 836 715
-V 54 w(o)s(ctet)p 1161 715 V 53 w(string)3350 910 y Fr([F)-8
-b(unction])-3599 b Fi(int)53 b(asn1_expand_octet_str)q(ing)f
-Fh(\()p Fg(asn1)p 1878 910 28 4 v 41 w(no)s(de)29 b Ff(definitions)p
-Fg(,)34 b(asn1)p 2946 910 V 40 w(no)s(de)565 1020 y(*)d
-Ff(element)p Fg(,)i(const)d(c)m(har)h(*)g Ff(octetName)p
-Fg(,)i(const)e(c)m(har)g(*)g Ff(objectName)p Fh(\))390
-1129 y Fg(de\014nitions)t Fr(:)40 b(ASN1)31 b(de\014nitions)390
-1263 y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h
-(structure)390 1396 y Fg(o)s(ctetName)5 b Fr(:)43 b(name)30
-b(of)h(the)g(OCTECT)d(STRING)i(\014eld)g(to)h(expand.)390
-1530 y Fg(ob)5 b(jectName)g Fr(:)45 b(name)31 b(of)h(the)g(OBJECT)e
-(IDENTIFIER)h(\014eld)g(to)i(use)e(to)h(de\014ne)f(the)g(t)m(yp)s(e)h
-(for)390 1639 y(expansion.)390 1773 y(Expands)23 b(an)h
-Fk(")p Fr(OCTET)e(STRING)p Fk(")i Fr(elemen)m(t)h(of)g(a)f(structure)g
-(created)h(from)f(a)h(DER)f(deco)s(ding)390 1882 y(pro)s(cess)39
-b(\(the)h Fk(asn1_der_decoding\(\))34 b Fr(function\).)68
-b(The)39 b(t)m(yp)s(e)h(used)f(for)g(expansion)g(is)h(the)390
-1992 y(\014rst)c(one)h(follo)m(wing)h(the)f(de\014nition)g(of)f(the)h
-(actual)i(v)-5 b(alue)37 b(of)g(the)g(OBJECT)e(IDENTIFIER)390
-2101 y(indicated)c(b)m(y)f(OBJECTNAME.)390 2235 y Fe(Returns:)36
-b Fk(ASN1_SUCCESS)18 b Fr(if)j(substitution)g(OK,)g Fk
-(ASN1_ELEMENT_NOT_FOUND)15 b Fr(if)22 b Fk(objectName)390
-2345 y Fr(or)j Fk(octetName)e Fr(are)j(not)f(correct,)j
-Fk(ASN1_VALUE_NOT_VALID)20 b Fr(if)25 b(it)h(w)m(asn't)g(p)s(ossible)f
-(to)h(\014nd)e(the)390 2454 y(t)m(yp)s(e)31 b(to)g(use)f(for)g
+TeXDict begin 21 23 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(21)390 299 y Fe(Returns:)63
+b Fl(ASN1_SUCCESS)39 b Fs(if)j(DER)g(enco)s(ding)g(OK,)f
+Fl(ASN1_ELEMENT_NOT_FOUND)36 b Fs(if)42 b(ELE-)390 408
+y(MENT)37 b(is)g Fl(asn1_node)e Fs(EMPTY)h(or)h Fl(name_element)d
+Fs(is)j(not)g(a)h(v)-5 b(alid)37 b(elemen)m(t,)j Fl(ASN1_TAG_)390
+518 y(ERROR)j Fs(or)h Fl(ASN1_DER_ERROR)d Fs(if)j(the)h(der)f(enco)s
+(ding)g(do)s(esn't)g(matc)m(h)i(the)e(structure)g(ELE-)390
+628 y(MENT.)150 831 y Fk(asn1)p 396 831 37 5 v 55 w(expand)p
+836 831 V 54 w(an)m(y)p 1080 831 V 53 w(de\014ned)p 1517
+831 V 55 w(b)m(y)3350 1032 y Fs([F)-8 b(unction])-3599
+b Fj(int)53 b(asn1_expand_any_defin)q(ed_b)q(y)f Fi(\()p
+Fh(asn1)p 2001 1032 30 5 v 44 w(no)s(de)34 b Fg(definitions)p
+Fh(,)565 1142 y(asn1)p 766 1142 V 44 w(no)s(de)g(*)f
+Fg(element)p Fi(\))390 1251 y Ff(de\014nitions)t Fs(:)40
+b(ASN1)31 b(de\014nitions)390 1390 y Ff(elemen)m(t)r
+Fs(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(structure)390
+1529 y(Expands)36 b(ev)m(ery)j Fl(")p Fs(ANY)f(DEFINED)g(BY)p
+Fl(")g Fs(elemen)m(t)h(of)f(a)g(structure)g(created)g(from)g(a)g(DER)
+390 1638 y(deco)s(ding)c(pro)s(cess)g(\(asn1)p 1314 1638
+28 4 v 41 w(der)p 1482 1638 V 40 w(deco)s(ding)g(function\).)53
+b(The)34 b(elemen)m(t)i(ANY)f(m)m(ust)f(b)s(e)g(de\014ned)390
+1748 y(b)m(y)26 b(an)f(OBJECT)g(IDENTIFIER.)h(The)f(t)m(yp)s(e)h(used)f
+(to)i(expand)e(the)h(elemen)m(t)h(ANY)g(is)f(the)g(\014rst)390
+1858 y(one)31 b(follo)m(wing)h(the)e(de\014nition)g(of)h(the)f(actual)i
+(v)-5 b(alue)31 b(of)f(the)h(OBJECT)e(IDENTIFIER.)390
+1996 y Fe(Returns:)55 b Fl(ASN1_SUCCESS)35 b Fs(if)j(Substitution)f
+(OK,)g Fl(ASN1_ERROR_TYPE_ANY)c Fs(if)k(some)i Fl(")p
+Fs(ANY)390 2106 y(DEFINED)34 b(BY)p Fl(")f Fs(elemen)m(t)i(couldn't)e
+(b)s(e)g(expanded)f(due)g(to)i(a)f(problem)g(in)g(OBJECT)p
+3504 2106 V 39 w(ID)g(-)p Fl(>)390 2216 y Fs(TYPE)d(asso)s(ciation,)i
+(or)f(other)f(error)g(co)s(des)h(dep)s(ending)e(on)h(DER)g(deco)s
+(ding.)150 2419 y Fk(asn1)p 396 2419 37 5 v 55 w(expand)p
+836 2419 V 54 w(o)s(ctet)p 1161 2419 V 53 w(string)3350
+2620 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_expand_octet_str)q
+(ing)f Fi(\()p Fh(asn1)p 1896 2620 30 5 v 44 w(no)s(de)34
+b Fg(definitions)p Fh(,)565 2730 y(asn1)p 766 2730 V
+44 w(no)s(de)e(*)f Fg(element)p Fh(,)i(const)f(c)m(har)g(*)f
+Fg(octetName)p Fh(,)j(const)e(c)m(har)g(*)f Fg(objectName)p
+Fi(\))390 2839 y Ff(de\014nitions)t Fs(:)40 b(ASN1)31
+b(de\014nitions)390 2978 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31
+b(to)g(an)f(ASN1)h(structure)390 3117 y Ff(o)s(ctetName)5
+b Fs(:)43 b(name)30 b(of)h(the)g(OCTECT)d(STRING)i(\014eld)g(to)h
+(expand.)390 3255 y Ff(ob)5 b(jectName)g Fs(:)45 b(name)31
+b(of)h(the)g(OBJECT)e(IDENTIFIER)h(\014eld)g(to)i(use)e(to)h(de\014ne)f
+(the)g(t)m(yp)s(e)h(for)390 3365 y(expansion.)390 3504
+y(Expands)23 b(an)h Fl(")p Fs(OCTET)e(STRING)p Fl(")i
+Fs(elemen)m(t)h(of)g(a)f(structure)g(created)h(from)f(a)h(DER)f(deco)s
+(ding)390 3613 y(pro)s(cess)39 b(\(the)h Fl(asn1_der_decoding\(\))34
+b Fs(function\).)68 b(The)39 b(t)m(yp)s(e)h(used)f(for)g(expansion)g
+(is)h(the)390 3723 y(\014rst)c(one)h(follo)m(wing)h(the)f(de\014nition)
+g(of)f(the)h(actual)i(v)-5 b(alue)37 b(of)g(the)g(OBJECT)e(IDENTIFIER)
+390 3833 y(indicated)c(b)m(y)f(OBJECTNAME.)390 3971 y
+Fe(Returns:)36 b Fl(ASN1_SUCCESS)18 b Fs(if)j(substitution)g(OK,)g
+Fl(ASN1_ELEMENT_NOT_FOUND)15 b Fs(if)22 b Fl(objectName)390
+4081 y Fs(or)j Fl(octetName)e Fs(are)j(not)f(correct,)j
+Fl(ASN1_VALUE_NOT_VALID)20 b Fs(if)25 b(it)h(w)m(asn't)g(p)s(ossible)f
+(to)h(\014nd)e(the)390 4190 y(t)m(yp)s(e)31 b(to)g(use)f(for)g
(expansion,)g(or)h(other)f(errors)g(dep)s(ending)f(on)h(DER)h(deco)s
-(ding.)150 2651 y Fj(asn1)p 396 2651 37 5 v 55 w(deco)s(de)p
-818 2651 V 54 w(simple)p 1214 2651 V 55 w(der)3350 2846
-y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_decode_simple_de)q(r)e
-Fh(\()p Fg(unsigned)30 b(in)m(t)h Ff(etype)p Fg(,)h(const)f(unsigned)
-565 2956 y(c)m(har)f(*)g Ff(der)p Fg(,)h(unsigned)d(in)m(t)j
-Ff(_der_len)p Fg(,)h(const)e(unsigned)f(c)m(har)h(**)g
-Ff(str)p Fg(,)h(unsigned)d(in)m(t)j(*)565 3065 y Ff(str_len)p
-Fh(\))390 3175 y Fg(et)m(yp)s(e)5 b Fr(:)41 b(The)30
+(ding.)150 4394 y Fk(asn1)p 396 4394 37 5 v 55 w(deco)s(de)p
+818 4394 V 54 w(simple)p 1214 4394 V 55 w(der)3350 4595
+y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_decode_simple_de)q(r)e
+Fi(\()p Fh(unsigned)35 b(in)m(t)f Fg(etype)p Fh(,)g(const)g(unsigned)
+565 4705 y(c)m(har)f(*)f Fg(der)p Fh(,)h(unsigned)h(in)m(t)e
+Fg(_der_len)p Fh(,)i(const)f(unsigned)h(c)m(har)f(**)f
+Fg(str)p Fh(,)h(unsigned)565 4814 y(in)m(t)g(*)g Fg(str_len)p
+Fi(\))390 4924 y Ff(et)m(yp)s(e)5 b Fs(:)41 b(The)30
b(t)m(yp)s(e)h(of)f(the)h(string)f(to)h(b)s(e)f(enco)s(ded)g(\(ASN1)p
-2444 3175 28 4 v 41 w(ETYPE)p 2805 3175 V 39 w(\))390
-3308 y Fg(der)7 b Fr(:)40 b(the)30 b(enco)s(ded)g(string)p
-396 3442 V 430 3442 a Fg(der)p 563 3442 V 40 w(len)p
-Fr(:)40 b(the)31 b(b)m(ytes)g(of)f(the)h(enco)s(ded)f(string)390
-3575 y Fg(str)7 b Fr(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(data)390
-3709 y Fg(str)p 503 3709 V 40 w(len)p Fr(:)41 b(the)30
-b(length)h(of)g(the)f(data)390 3842 y(Deco)s(des)35 b(a)f(simple)g(DER)
-g(enco)s(ded)f(t)m(yp)s(e)h(\(e.g.)52 b(a)35 b(string,)f(whic)m(h)g(is)
-g(not)g(constructed\).)51 b(The)390 3952 y(output)30
-b(is)g(a)h(p)s(oin)m(ter)g(inside)f(the)g Fk(der)g Fr(.)390
-4085 y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27 b Fr(if)k(successful)f(or)g
-(an)g(error)g(v)-5 b(alue.)150 4283 y Fj(asn1)p 396 4283
-37 5 v 55 w(deco)s(de)p 818 4283 V 54 w(simple)p 1214
-4283 V 55 w(b)s(er)3350 4477 y Fr([F)d(unction])-3599
-b Fi(int)53 b(asn1_decode_simple_be)q(r)e Fh(\()p Fg(unsigned)30
-b(in)m(t)h Ff(etype)p Fg(,)h(const)f(unsigned)565 4587
-y(c)m(har)g(*)g Ff(der)p Fg(,)g(unsigned)e(in)m(t)i Ff(_der_len)p
-Fg(,)i(unsigned)d(c)m(har)g(**)h Ff(str)p Fg(,)h(unsigned)d(in)m(t)i(*)
-565 4696 y Ff(str_len)p Fg(,)i(unsigned)c(in)m(t)i(*)g
-Ff(ber_len)p Fh(\))390 4806 y Fg(et)m(yp)s(e)5 b Fr(:)41
-b(The)30 b(t)m(yp)s(e)h(of)f(the)h(string)f(to)h(b)s(e)f(enco)s(ded)g
-(\(ASN1)p 2444 4806 28 4 v 41 w(ETYPE)p 2805 4806 V 39
-w(\))390 4940 y Fg(der)7 b Fr(:)40 b(the)30 b(enco)s(ded)g(string)p
-396 5073 V 430 5073 a Fg(der)p 563 5073 V 40 w(len)p
-Fr(:)40 b(the)31 b(b)m(ytes)g(of)f(the)h(enco)s(ded)f(string)390
-5206 y Fg(str)7 b Fr(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(data)390
-5340 y Fg(str)p 503 5340 V 40 w(len)p Fr(:)41 b(the)30
-b(length)h(of)g(the)f(data)p eop end
+2444 4924 28 4 v 41 w(ETYPE)p 2805 4924 V 39 w(\))390
+5062 y Ff(der)7 b Fs(:)40 b(the)30 b(enco)s(ded)g(string)p
+396 5201 V 430 5201 a Ff(der)p 563 5201 V 40 w(len)p
+Fs(:)40 b(the)31 b(b)m(ytes)g(of)f(the)h(enco)s(ded)f(string)390
+5340 y Ff(str)7 b Fs(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(data)p
+eop end
%%Page: 22 25
-TeXDict begin 22 24 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(22)390 299 y Fg(b)s(er)p
-526 299 28 4 v 39 w(len)p Fr(:)41 b(the)30 b(total)j(length)d(o)s
-(ccupied)h(b)m(y)f(BER)g(\(ma)m(y)i(b)s(e)d Fk(NULL)h
-Fr(\))390 435 y(Deco)s(des)37 b(a)g(BER)g(enco)s(ded)f(t)m(yp)s(e.)60
+TeXDict begin 22 24 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(22)390 299 y Ff(str)p
+503 299 28 4 v 40 w(len)p Fs(:)41 b(the)30 b(length)h(of)g(the)f(data)
+390 463 y(Deco)s(des)35 b(a)f(simple)g(DER)g(enco)s(ded)f(t)m(yp)s(e)h
+(\(e.g.)52 b(a)35 b(string,)f(whic)m(h)g(is)g(not)g(constructed\).)51
+b(The)390 573 y(output)30 b(is)g(a)h(p)s(oin)m(ter)g(inside)f(the)g
+Fl(der)g Fs(.)390 737 y Fe(Returns:)40 b Fl(ASN1_SUCCESS)27
+b Fs(if)k(successful)f(or)g(an)g(error)g(v)-5 b(alue.)150
+966 y Fk(asn1)p 396 966 37 5 v 55 w(deco)s(de)p 818 966
+V 54 w(simple)p 1214 966 V 55 w(b)s(er)3350 1192 y Fs([F)d(unction])
+-3599 b Fj(int)53 b(asn1_decode_simple_be)q(r)e Fi(\()p
+Fh(unsigned)35 b(in)m(t)f Fg(etype)p Fh(,)g(const)g(unsigned)565
+1302 y(c)m(har)g(*)f Fg(der)p Fh(,)h(unsigned)g(in)m(t)g
+Fg(_der_len)p Fh(,)h(unsigned)g(c)m(har)f(**)e Fg(str)p
+Fh(,)i(unsigned)h(in)m(t)e(*)565 1411 y Fg(str_len)p
+Fh(,)i(unsigned)g(in)m(t)e(*)g Fg(ber_len)p Fi(\))390
+1521 y Ff(et)m(yp)s(e)5 b Fs(:)41 b(The)30 b(t)m(yp)s(e)h(of)f(the)h
+(string)f(to)h(b)s(e)f(enco)s(ded)g(\(ASN1)p 2444 1521
+28 4 v 41 w(ETYPE)p 2805 1521 V 39 w(\))390 1685 y Ff(der)7
+b Fs(:)40 b(the)30 b(enco)s(ded)g(string)p 396 1849 V
+430 1849 a Ff(der)p 563 1849 V 40 w(len)p Fs(:)40 b(the)31
+b(b)m(ytes)g(of)f(the)h(enco)s(ded)f(string)390 2014
+y Ff(str)7 b Fs(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(data)390
+2178 y Ff(str)p 503 2178 V 40 w(len)p Fs(:)41 b(the)30
+b(length)h(of)g(the)f(data)390 2342 y Ff(b)s(er)p 526
+2342 V 39 w(len)p Fs(:)41 b(the)30 b(total)j(length)d(o)s(ccupied)h(b)m
+(y)f(BER)g(\(ma)m(y)i(b)s(e)d Fl(NULL)h Fs(\))390 2506
+y(Deco)s(des)37 b(a)g(BER)g(enco)s(ded)f(t)m(yp)s(e.)60
b(The)36 b(output)g(is)g(an)h(allo)s(cated)h(v)-5 b(alue)37
-b(of)g(the)g(data.)60 b(This)390 545 y(deco)s(des)30
+b(of)g(the)g(data.)60 b(This)390 2616 y(deco)s(des)30
b(BER)h(STRINGS)e(only)-8 b(.)41 b(Other)30 b(t)m(yp)s(es)h(are)f(deco)
-s(ded)g(as)h(DER.)390 681 y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27
-b Fr(if)k(successful)f(or)g(an)g(error)g(v)-5 b(alue.)150
-917 y Fq(4.4)68 b(Error)45 b(handling)g(functions)150
-1141 y Fj(asn1)p 396 1141 37 5 v 55 w(p)s(error)3350
-1339 y Fr([F)-8 b(unction])-3599 b Fi(void)54 b(asn1_perror)48
-b Fh(\()p Fg(in)m(t)32 b Ff(error)p Fh(\))390 1449 y
-Fg(error)7 b Fr(:)40 b(is)30 b(an)h(error)f(returned)f(b)m(y)h(a)h
-(libtasn1)g(function.)390 1585 y(Prin)m(ts)26 b(a)g(string)h(to)f
+s(ded)g(as)h(DER.)390 2780 y Fe(Returns:)40 b Fl(ASN1_SUCCESS)27
+b Fs(if)k(successful)f(or)g(an)g(error)g(v)-5 b(alue.)150
+3065 y Fr(4.4)68 b(Error)45 b(handling)g(functions)150
+3289 y Fk(asn1)p 396 3289 37 5 v 55 w(p)s(error)3350
+3516 y Fs([F)-8 b(unction])-3599 b Fj(void)54 b(asn1_perror)48
+b Fi(\()p Fh(in)m(t)34 b Fg(error)p Fi(\))390 3625 y
+Ff(error)7 b Fs(:)40 b(is)30 b(an)h(error)f(returned)f(b)m(y)h(a)h
+(libtasn1)g(function.)390 3790 y(Prin)m(ts)26 b(a)g(string)h(to)f
(stderr)g(with)g(a)g(description)g(of)h(an)f(error.)38
-b(This)26 b(function)g(is)g(lik)m(e)h Fk(perror\(\))390
-1695 y Fr(.)41 b(The)30 b(only)g(di\013erence)h(is)f(that)h(it)g
+b(This)26 b(function)g(is)g(lik)m(e)h Fl(perror\(\))390
+3899 y Fs(.)41 b(The)30 b(only)g(di\013erence)h(is)f(that)h(it)g
(accepts)h(an)e(error)g(returned)f(b)m(y)i(a)f(libtasn1)h(function.)390
-1831 y Fe(Since:)41 b Fr(1.6)150 2033 y Fj(asn1)p 396
-2033 V 55 w(strerror)3350 2231 y Fr([F)-8 b(unction])-3599
-b Fi(const)54 b(char)f(*)g(asn1_strerror)c Fh(\()p Fg(in)m(t)32
-b Ff(error)p Fh(\))390 2341 y Fg(error)7 b Fr(:)40 b(is)30
+4063 y Fe(Since:)41 b Fs(1.6)150 4292 y Fk(asn1)p 396
+4292 V 55 w(strerror)3350 4519 y Fs([F)-8 b(unction])-3599
+b Fj(const)54 b(char)f(*)g(asn1_strerror)c Fi(\()p Fh(in)m(t)34
+b Fg(error)p Fi(\))390 4628 y Ff(error)7 b Fs(:)40 b(is)30
b(an)h(error)f(returned)f(b)m(y)h(a)h(libtasn1)g(function.)390
-2477 y(Returns)i(a)h(string)g(with)f(a)h(description)g(of)g(an)g
+4792 y(Returns)i(a)h(string)g(with)f(a)h(description)g(of)g(an)g
(error.)50 b(This)33 b(function)h(is)g(similar)g(to)g(strerror.)390
-2587 y(The)c(only)h(di\013erence)g(is)g(that)g(it)g(accepts)h(an)e
+4902 y(The)c(only)h(di\013erence)g(is)g(that)g(it)g(accepts)h(an)e
(error)g(\(n)m(um)m(b)s(er\))g(returned)g(b)m(y)g(a)h(libtasn1)h(func-)
-390 2696 y(tion.)390 2833 y Fe(Returns:)40 b Fr(P)m(oin)m(ter)32
+390 5012 y(tion.)390 5176 y Fe(Returns:)40 b Fs(P)m(oin)m(ter)32
b(to)f(static)h(zero-terminated)g(string)f(describing)f(error)g(co)s
-(de.)390 2969 y Fe(Since:)41 b Fr(1.6)150 3205 y Fq(4.5)68
-b(Auxilliary)46 b(functions)150 3429 y Fj(asn1)p 396
-3429 V 55 w(\014nd)p 655 3429 V 54 w(no)s(de)3350 3627
-y Fr([F)-8 b(unction])-3599 b Fi(asn1_node)55 b(asn1_find_node)50
-b Fh(\()p Fg(asn1)p 1669 3627 28 4 v 40 w(no)s(de)30
-b Ff(pointer)p Fg(,)j(const)e(c)m(har)f(*)h Ff(name)p
-Fh(\))390 3737 y Fg(p)s(oin)m(ter)7 b Fr(:)40 b(NODE)p
-1021 3737 V 40 w(ASN)31 b(elemen)m(t)g(p)s(oin)m(ter.)390
-3873 y Fg(name)5 b Fr(:)41 b(n)m(ull)30 b(terminated)h(string)f(with)g
-(the)h(elemen)m(t's)h(name)e(to)i(\014nd.)390 4010 y(Searc)m(hes)g(for)
-g(an)g(elemen)m(t)h(called)g Fk(name)e Fr(starting)h(from)f
-Fk(pointer)f Fr(.)45 b(The)31 b(name)h(is)g(comp)s(osed)390
-4119 y(b)m(y)39 b(di\013eren)m(ts)g(iden)m(ti\014ers)g(separated)g(b)m
-(y)f(dots.)66 b(When)39 b(*)g Fk(pointer)e Fr(has)h(a)i(name,)h(the)e
-(\014rst)390 4229 y(iden)m(ti\014er)26 b(m)m(ust)g(b)s(e)g(the)g(name)g
-(of)g(*)h Fk(pointer)d Fr(,)j(otherwise)g(it)f(m)m(ust)g(b)s(e)g(the)g
-(name)g(of)g(one)h(c)m(hild)390 4339 y(of)k(*)f Fk(pointer)f
-Fr(.)390 4475 y Fe(Returns:)40 b Fr(the)31 b(searc)m(h)g(result,)f(or)h
-Fk(NULL)e Fr(if)h(not)h(found.)150 4676 y Fj(asn1)p 396
-4676 37 5 v 55 w(c)m(hec)m(k)p 744 4676 V 52 w(v)m(ersion)3350
-4875 y Fr([F)-8 b(unction])-3599 b Fi(const)54 b(char)f(*)g
-(asn1_check_version)e Fh(\()p Fg(const)31 b(c)m(har)g(*)g
-Ff(req_version)p Fh(\))390 4984 y Fg(req)p 520 4984 28
-4 v 40 w(v)m(ersion)p Fr(:)41 b(Required)30 b(v)m(ersion)h(n)m(um)m(b)s
-(er,)e(or)i Fk(NULL)e Fr(.)390 5121 y(Chec)m(k)e(that)h(the)f(v)m
-(ersion)g(of)g(the)g(library)g(is)g(at)g(minim)m(um)g(the)g(requested)f
-(one)i(and)e(return)g(the)390 5230 y(v)m(ersion)j(string;)g(return)d
-Fk(NULL)h Fr(if)h(the)h(condition)f(is)g(not)h(satis\014ed.)40
-b(If)27 b(a)i Fk(NULL)e Fr(is)h(passed)f(to)i(this)390
-5340 y(function,)h(no)h(c)m(hec)m(k)h(is)e(done,)g(but)g(the)h(v)m
-(ersion)f(string)h(is)f(simply)g(returned.)p eop end
+(de.)390 5340 y Fe(Since:)41 b Fs(1.6)p eop end
%%Page: 23 26
-TeXDict begin 23 25 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(23)390 299 y(See)31
-b Fk(ASN1_VERSION)c Fr(for)j(a)h(suitable)f Fk(req_version)e
-Fr(string.)390 433 y Fe(Returns:)43 b Fr(V)-8 b(ersion)32
-b(string)g(of)g(run-time)f(library)-8 b(,)33 b(or)e Fk(NULL)g
-Fr(if)h(the)g(run-time)f(library)g(do)s(es)h(not)390
-543 y(meet)f(the)g(required)e(v)m(ersion)i(n)m(um)m(b)s(er.)p
+TeXDict begin 23 25 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(23)150 299 y Fr(4.5)68
+b(Auxilliary)46 b(functions)150 523 y Fk(asn1)p 396 523
+37 5 v 55 w(\014nd)p 655 523 V 54 w(no)s(de)3350 720
+y Fs([F)-8 b(unction])-3599 b Fj(asn1_node)55 b(asn1_find_node)50
+b Fi(\()p Fh(asn1)p 1687 720 30 5 v 44 w(no)s(de)34 b
+Fg(pointer)p Fh(,)h(const)f(c)m(har)g(*)f Fg(name)p Fi(\))390
+829 y Ff(p)s(oin)m(ter)7 b Fs(:)40 b(NODE)p 1021 829
+28 4 v 40 w(ASN)31 b(elemen)m(t)g(p)s(oin)m(ter.)390
+964 y Ff(name)5 b Fs(:)41 b(n)m(ull)30 b(terminated)h(string)f(with)g
+(the)h(elemen)m(t's)h(name)e(to)i(\014nd.)390 1098 y(Searc)m(hes)g(for)
+g(an)g(elemen)m(t)h(called)g Fl(name)e Fs(starting)h(from)f
+Fl(pointer)f Fs(.)45 b(The)31 b(name)h(is)g(comp)s(osed)390
+1208 y(b)m(y)41 b(di\013eren)m(t)h(iden)m(ti\014ers)f(separated)g(b)m
+(y)g(dots.)73 b(When)41 b(*)h Fl(pointer)d Fs(has)i(a)g(name,)j(the)e
+(\014rst)390 1318 y(iden)m(ti\014er)26 b(m)m(ust)g(b)s(e)g(the)g(name)g
+(of)g(*)h Fl(pointer)d Fs(,)j(otherwise)g(it)f(m)m(ust)g(b)s(e)g(the)g
+(name)g(of)g(one)h(c)m(hild)390 1427 y(of)k(*)f Fl(pointer)f
+Fs(.)390 1562 y Fe(Returns:)40 b Fs(the)31 b(searc)m(h)g(result,)f(or)h
+Fl(NULL)e Fs(if)h(not)h(found.)150 1761 y Fk(asn1)p 396
+1761 37 5 v 55 w(c)m(hec)m(k)p 744 1761 V 52 w(v)m(ersion)3350
+1958 y Fs([F)-8 b(unction])-3599 b Fj(const)54 b(char)f(*)g
+(asn1_check_version)e Fi(\()p Fh(const)34 b(c)m(har)g(*)f
+Fg(req_version)p Fi(\))390 2067 y Ff(req)p 520 2067 28
+4 v 40 w(v)m(ersion)p Fs(:)41 b(Required)30 b(v)m(ersion)h(n)m(um)m(b)s
+(er,)e(or)i Fl(NULL)e Fs(.)390 2202 y(Chec)m(k)e(that)h(the)f(v)m
+(ersion)g(of)g(the)g(library)g(is)g(at)g(minim)m(um)g(the)g(requested)f
+(one)i(and)e(return)g(the)390 2311 y(v)m(ersion)j(string;)g(return)d
+Fl(NULL)h Fs(if)h(the)h(condition)f(is)g(not)h(satis\014ed.)40
+b(If)27 b(a)i Fl(NULL)e Fs(is)h(passed)f(to)i(this)390
+2421 y(function,)h(no)h(c)m(hec)m(k)h(is)e(done,)g(but)g(the)h(v)m
+(ersion)f(string)h(is)f(simply)g(returned.)390 2555 y(See)h
+Fl(ASN1_VERSION)c Fs(for)j(a)h(suitable)f Fl(req_version)e
+Fs(string.)390 2690 y Fe(Returns:)43 b Fs(V)-8 b(ersion)32
+b(string)g(of)g(run-time)f(library)-8 b(,)33 b(or)e Fl(NULL)g
+Fs(if)h(the)g(run-time)f(library)g(do)s(es)h(not)390
+2800 y(meet)f(the)g(required)e(v)m(ersion)i(n)m(um)m(b)s(er.)p
eop end
%%Page: 24 27
-TeXDict begin 24 26 bop 150 -116 a Fr(App)s(endix)29
-b(A:)h(Cop)m(ying)h(Information)2140 b(24)150 299 y Fn(App)t(endix)52
-b(A)81 b(Cop)l(ying)52 b(Information)150 608 y Fq(A.1)67
+TeXDict begin 24 26 bop 3659 -116 a Fs(24)150 299 y Fo(App)t(endix)52
+b(A)81 b(Cop)l(ying)52 b(Information)150 613 y Fr(A.1)67
b(GNU)45 b(F)-11 b(ree)45 b(Do)t(cumen)l(tation)h(License)1359
-767 y Fr(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
-898 y(Cop)m(yrigh)m(t)842 895 y(c)817 898 y Fo(\015)e
-Fr(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31
-b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 1007
-y Fk(http://fsf.org/)390 1227 y Fr(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f
+772 y Fs(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
+902 y(Cop)m(yrigh)m(t)842 899 y(c)817 902 y Fp(\015)e
+Fs(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31
+b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 1012
+y Fl(http://fsf.org/)390 1231 y Fs(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f
(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390
-1336 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
-(is)f(not)h(allo)m(w)m(ed.)199 1467 y(0.)61 b(PREAMBLE)330
-1597 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g
+1341 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
+(is)f(not)h(allo)m(w)m(ed.)199 1471 y(0.)61 b(PREAMBLE)330
+1601 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g
(a)g(man)m(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330
-1707 y(useful)29 b(do)s(cumen)m(t)h Fg(free)36 b Fr(in)29
+1710 y(useful)29 b(do)s(cumen)m(t)h Ff(free)36 b Fs(in)29
b(the)i(sense)f(of)g(freedom:)41 b(to)31 b(assure)e(ev)m(ery)m(one)j
-(the)e(e\013ectiv)m(e)j(freedom)330 1817 y(to)f(cop)m(y)g(and)f
+(the)e(e\013ectiv)m(e)j(freedom)330 1820 y(to)f(cop)m(y)g(and)f
(redistribute)g(it,)h(with)g(or)f(without)g(mo)s(difying)g(it,)i
-(either)f(commercially)h(or)e(non-)330 1926 y(commercially)-8
+(either)f(commercially)h(or)e(non-)330 1929 y(commercially)-8
b(.)56 b(Secondarily)-8 b(,)36 b(this)f(License)g(preserv)m(es)g(for)f
-(the)h(author)f(and)g(publisher)f(a)i(w)m(a)m(y)330 2036
+(the)h(author)f(and)g(publisher)f(a)i(w)m(a)m(y)330 2039
y(to)i(get)g(credit)g(for)f(their)g(w)m(ork,)i(while)e(not)g(b)s(eing)g
(considered)g(resp)s(onsible)f(for)h(mo)s(di\014cations)330
-2145 y(made)30 b(b)m(y)h(others.)330 2276 y(This)22 b(License)i(is)f(a)
+2149 y(made)30 b(b)m(y)h(others.)330 2279 y(This)22 b(License)i(is)f(a)
h(kind)e(of)i(\\cop)m(yleft",)j(whic)m(h)c(means)g(that)h(deriv)-5
b(ativ)m(e)24 b(w)m(orks)f(of)h(the)f(do)s(cumen)m(t)330
-2385 y(m)m(ust)34 b(themselv)m(es)h(b)s(e)e(free)h(in)g(the)g(same)g
+2388 y(m)m(ust)34 b(themselv)m(es)h(b)s(e)e(free)h(in)g(the)g(same)g
(sense.)51 b(It)34 b(complemen)m(ts)h(the)f(GNU)g(General)h(Public)330
-2495 y(License,)c(whic)m(h)f(is)h(a)f(cop)m(yleft)i(license)g(designed)
-e(for)g(free)h(soft)m(w)m(are.)330 2626 y(W)-8 b(e)31
+2498 y(License,)c(whic)m(h)f(is)h(a)f(cop)m(yleft)i(license)g(designed)
+e(for)g(free)h(soft)m(w)m(are.)330 2628 y(W)-8 b(e)31
b(ha)m(v)m(e)f(designed)g(this)f(License)h(in)f(order)g(to)i(use)e(it)h
(for)f(man)m(uals)h(for)f(free)h(soft)m(w)m(are,)h(b)s(ecause)330
-2735 y(free)42 b(soft)m(w)m(are)i(needs)e(free)g(do)s(cumen)m(tation:)
+2738 y(free)42 b(soft)m(w)m(are)i(needs)e(free)g(do)s(cumen)m(tation:)
65 b(a)42 b(free)h(program)f(should)f(come)i(with)f(man)m(uals)330
-2845 y(pro)m(viding)29 b(the)g(same)g(freedoms)f(that)i(the)f(soft)m(w)
+2847 y(pro)m(viding)29 b(the)g(same)g(freedoms)f(that)i(the)f(soft)m(w)
m(are)h(do)s(es.)40 b(But)29 b(this)f(License)i(is)f(not)g(limited)g
-(to)330 2954 y(soft)m(w)m(are)j(man)m(uals;)f(it)g(can)g(b)s(e)f(used)g
+(to)330 2957 y(soft)m(w)m(are)j(man)m(uals;)f(it)g(can)g(b)s(e)f(used)g
(for)g(an)m(y)h(textual)h(w)m(ork,)f(regardless)g(of)g(sub)5
-b(ject)30 b(matter)i(or)330 3064 y(whether)f(it)h(is)f(published)f(as)i
+b(ject)30 b(matter)i(or)330 3066 y(whether)f(it)h(is)f(published)f(as)i
(a)f(prin)m(ted)g(b)s(o)s(ok.)44 b(W)-8 b(e)32 b(recommend)f(this)h
-(License)g(principally)f(for)330 3174 y(w)m(orks)f(whose)h(purp)s(ose)d
-(is)j(instruction)f(or)g(reference.)199 3304 y(1.)61
-b(APPLICABILITY)29 b(AND)j(DEFINITIONS)330 3435 y(This)39
+(License)g(principally)f(for)330 3176 y(w)m(orks)f(whose)h(purp)s(ose)d
+(is)j(instruction)f(or)g(reference.)199 3306 y(1.)61
+b(APPLICABILITY)29 b(AND)j(DEFINITIONS)330 3436 y(This)39
b(License)i(applies)f(to)g(an)m(y)h(man)m(ual)f(or)g(other)g(w)m(ork,)i
-(in)e(an)m(y)g(medium,)i(that)e(con)m(tains)i(a)330 3544
+(in)e(an)m(y)g(medium,)i(that)e(con)m(tains)i(a)330 3546
y(notice)h(placed)f(b)m(y)f(the)h(cop)m(yrigh)m(t)h(holder)e(sa)m(ying)
h(it)g(can)g(b)s(e)f(distributed)f(under)g(the)i(terms)330
-3654 y(of)c(this)f(License.)62 b(Suc)m(h)37 b(a)h(notice)h(gran)m(ts)f
+3655 y(of)c(this)f(License.)62 b(Suc)m(h)37 b(a)h(notice)h(gran)m(ts)f
(a)g(w)m(orld-wide,)h(ro)m(y)m(alt)m(y-free)i(license,)f(unlimited)d
-(in)330 3764 y(duration,)49 b(to)d(use)f(that)g(w)m(ork)h(under)d(the)j
+(in)330 3765 y(duration,)49 b(to)d(use)f(that)g(w)m(ork)h(under)d(the)j
(conditions)f(stated)h(herein.)85 b(The)45 b(\\Do)s(cumen)m(t",)330
-3873 y(b)s(elo)m(w,)29 b(refers)f(to)h(an)m(y)g(suc)m(h)f(man)m(ual)h
+3874 y(b)s(elo)m(w,)29 b(refers)f(to)h(an)m(y)g(suc)m(h)f(man)m(ual)h
(or)f(w)m(ork.)40 b(An)m(y)29 b(mem)m(b)s(er)e(of)i(the)f(public)g(is)g
-(a)h(licensee,)i(and)330 3983 y(is)25 b(addressed)f(as)h(\\y)m(ou".)40
+(a)h(licensee,)i(and)330 3984 y(is)25 b(addressed)f(as)h(\\y)m(ou".)40
b(Y)-8 b(ou)26 b(accept)g(the)f(license)h(if)f(y)m(ou)h(cop)m(y)-8
b(,)27 b(mo)s(dify)d(or)h(distribute)g(the)g(w)m(ork)330
-4092 y(in)30 b(a)h(w)m(a)m(y)g(requiring)f(p)s(ermission)f(under)g(cop)
-m(yrigh)m(t)j(la)m(w.)330 4223 y(A)i(\\Mo)s(di\014ed)f(V)-8
+4094 y(in)30 b(a)h(w)m(a)m(y)g(requiring)f(p)s(ermission)f(under)g(cop)
+m(yrigh)m(t)j(la)m(w.)330 4224 y(A)i(\\Mo)s(di\014ed)f(V)-8
b(ersion")35 b(of)f(the)g(Do)s(cumen)m(t)g(means)g(an)m(y)g(w)m(ork)f
(con)m(taining)j(the)e(Do)s(cumen)m(t)g(or)330 4333 y(a)k(p)s(ortion)f
(of)h(it,)i(either)e(copied)g(v)m(erbatim,)i(or)d(with)h(mo)s
-(di\014cations)f(and/or)h(translated)g(in)m(to)330 4442
+(di\014cations)f(and/or)h(translated)g(in)m(to)330 4443
y(another)31 b(language.)330 4573 y(A)26 b(\\Secondary)g(Section")h(is)
f(a)h(named)e(app)s(endix)f(or)i(a)h(fron)m(t-matter)g(section)g(of)f
(the)g(Do)s(cumen)m(t)330 4682 y(that)c(deals)g(exclusiv)m(ely)h(with)e
@@ -7661,7 +7673,7 @@ b(or)g(with)g(related)330 5230 y(matters,)38 b(or)d(of)h(legal,)i
(commercial,)h(philosophical,)f(ethical)f(or)e(p)s(olitical)i(p)s
(osition)f(regarding)330 5340 y(them.)p eop end
%%Page: 25 28
-TeXDict begin 25 27 bop 150 -116 a Fr(App)s(endix)29
+TeXDict begin 25 27 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(Cop)m(ying)h(Information)2140 b(25)330 299 y(The)25
b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g
(Sections)g(whose)f(titles)i(are)f(designated,)i(as)330
@@ -7757,7 +7769,7 @@ b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330
5340 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)p
eop end
%%Page: 26 29
-TeXDict begin 26 28 bop 150 -116 a Fr(App)s(endix)29
+TeXDict begin 26 28 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(Cop)m(ying)h(Information)2140 b(26)199 299 y(2.)61
b(VERBA)-8 b(TIM)31 b(COPYING)330 445 y(Y)-8 b(ou)39
b(ma)m(y)f(cop)m(y)h(and)e(distribute)h(the)g(Do)s(cumen)m(t)h(in)f(an)
@@ -7846,7 +7858,7 @@ b(\014lling)f(the)g(role)h(of)f(the)g(Do)s(cumen)m(t,)h(th)m(us)f
b(addition,)h(y)m(ou)f(m)m(ust)h(do)f(these)h(things)f(in)g(the)h(Mo)s
(di\014ed)e(V)-8 b(ersion:)p eop end
%%Page: 27 30
-TeXDict begin 27 29 bop 150 -116 a Fr(App)s(endix)29
+TeXDict begin 27 29 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(Cop)m(ying)h(Information)2140 b(27)357 299 y(A.)60
b(Use)33 b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m
(ers,)i(if)e(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the)
@@ -7929,7 +7941,7 @@ b(arran)m(t)m(y)32 b(Disclaimers.)330 5230 y(If)h(the)g(Mo)s(di\014ed)g
(Sections)g(and)f(con)m(tain)j(no)d(material)j(copied)e(from)f(the)h
(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)p eop end
%%Page: 28 31
-TeXDict begin 28 30 bop 150 -116 a Fr(App)s(endix)29
+TeXDict begin 28 30 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(Cop)m(ying)h(Information)2140 b(28)330 299 y(y)m(our)32
b(option)h(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e
(in)m(v)-5 b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)330
@@ -8019,7 +8031,7 @@ b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h
(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
5340 y(that)d(do)s(cumen)m(t.)p eop end
%%Page: 29 32
-TeXDict begin 29 31 bop 150 -116 a Fr(App)s(endix)29
+TeXDict begin 29 31 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(Cop)m(ying)h(Information)2140 b(29)199 299 y(7.)61
b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330
441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5
@@ -8107,7 +8119,7 @@ b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
%%Page: 30 33
-TeXDict begin 30 32 bop 150 -116 a Fr(App)s(endix)29
+TeXDict begin 30 32 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(Cop)m(ying)h(Information)2140 b(30)154 299 y(10.)61
b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 433
y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43
@@ -8116,8 +8128,8 @@ b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g(the)g(GNU)g(F)
g(time.)46 b(Suc)m(h)31 b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h
(in)g(spirit)330 653 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)m
(y)h(di\013er)f(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i
-(concerns.)330 762 y(See)c Fk(http://www.gnu.org/copy)o(left)o(/)p
-Fr(.)330 897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m
+(concerns.)330 762 y(See)c Fl(http://www.gnu.org/copy)o(left)o(/)p
+Fs(.)330 897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m
(en)g(a)g(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39
b(If)29 b(the)g(Do)s(cumen)m(t)330 1006 y(sp)s(eci\014es)45
b(that)h(a)g(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g
@@ -8173,10 +8185,10 @@ g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
330 4005 y(eligible)h(for)e(relicensing.)p eop end
%%Page: 31 34
-TeXDict begin 31 33 bop 150 -116 a Fr(App)s(endix)29
-b(A:)h(Cop)m(ying)h(Information)2140 b(31)150 299 y Fq(ADDENDUM:)45
+TeXDict begin 31 33 bop 150 -116 a Fs(App)s(endix)29
+b(A:)h(Cop)m(ying)h(Information)2140 b(31)150 299 y Fr(ADDENDUM:)45
b(Ho)l(w)h(to)f(use)g(this)h(License)f(for)g(y)l(our)g(do)t(cumen)l(ts)
-150 458 y Fr(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m
+150 458 y Fs(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m
(t)g(y)m(ou)f(ha)m(v)m(e)i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)
f(License)h(in)g(the)150 568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g
(follo)m(wing)i(cop)m(yrigh)m(t)g(and)e(license)h(notices)g(just)f
@@ -8190,7 +8202,7 @@ y(Permission)i(is)e(granted)g(to)g(copy,)h(distribute)g(and/or)g
(no)f(Front-Cover)h(Texts,)g(and)f(no)f(Back-Cover)468
1116 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f(license)i(is)f(included)h
(in)f(the)g(section)g(entitled)h(``GNU)468 1203 y(Free)g(Documentation)
-h(License''.)275 1337 y Fr(If)d(y)m(ou)h(ha)m(v)m(e)h(In)m(v)-5
+h(License''.)275 1337 y Fs(If)d(y)m(ou)h(ha)m(v)m(e)h(In)m(v)-5
b(arian)m(t)41 b(Sections,)i(F)-8 b(ron)m(t-Co)m(v)m(er)42
b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts,)43
b(replace)e(the)150 1447 y(\\with)6 b(.)22 b(.)g(.)12
@@ -8198,7 +8210,7 @@ b(T)-8 b(exts.")31 b(line)g(with)f(this:)547 1559 y Fd(with)40
b(the)g(Invariant)h(Sections)g(being)g Fc(list)f(their)g(titles)p
Fd(,)h(with)547 1646 y(the)f(Front-Cover)i(Texts)e(being)g
Fc(list)p Fd(,)h(and)f(with)g(the)g(Back-Cover)h(Texts)547
-1733 y(being)f Fc(list)p Fd(.)275 1868 y Fr(If)34 b(y)m(ou)i(ha)m(v)m
+1733 y(being)f Fc(list)p Fd(.)275 1868 y Fs(If)34 b(y)m(ou)i(ha)m(v)m
(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f(Co)m(v)m(er)h(T)-8
b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150
1978 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g(alternativ)m(es)i(to)e
@@ -8210,135 +8222,140 @@ b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150
b(Public)f(License,)i(to)f(p)s(ermit)e(their)i(use)f(in)g(free)g(soft)m
(w)m(are.)p eop end
%%Page: 32 35
-TeXDict begin 32 34 bop 150 -116 a Fr(Concept)31 b(Index)2927
-b(32)150 299 y Fn(Concept)52 b(Index)150 638 y Fq(A)150
-757 y Fb(ASN.1)25 b(sc)n(hema)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(2)150 846 y(asn1Co)r(ding)27
-b(program)10 b Fa(:)k(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37
-b Fb(5)150 935 y(asn1Deco)r(ding)27 b(program)8 b Fa(:)14
-b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(6)150 1023 y(asn1P)n(arser)27
-b(program)7 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33
-b Fb(5)150 1281 y Fq(F)150 1400 y Fb(FDL,)26 b(GNU)f(F)-6
-b(ree)25 b(Do)r(cumen)n(tation)h(License)20 b Fa(:)13
-b(:)g(:)g(:)g(:)h(:)f(:)45 b Fb(22)150 1489 y(F)-6 b(uture)25
-b(dev)n(elopmen)n(ts)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fb(4)150 1746 y Fq(H)150 1866 y Fb(Header)26 b(\014le)f(libtasn1.h)18
-b Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)45 b Fb(4)2025
-638 y Fq(M)2025 760 y Fb(Main)26 b(t)n(yp)r(e)f(asn1)p
-2550 760 24 4 v 34 w(no)r(de)19 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)46 b Fb(4)2025 1023 y Fq(P)2025 1145 y Fb(P)n(orting)12
-b Fa(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(1)2025 1408 y Fq(S)2025
-1530 y Fb(Supp)r(orted)24 b(ASN.1)h(t)n(yp)r(es,)h(list)g(of)14
-b Fa(:)g(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)41 b Fb(2)2025 1793 y Fq(T)2025 1915 y Fb(threads)13
-b Fa(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(1)p eop end
+TeXDict begin 32 34 bop 3659 -116 a Fs(32)150 299 y Fo(Concept)52
+b(Index)146 638 y Fr(A)150 759 y Fb(asn1Co)r(ding)27
+b(program)16 b Fa(:)e(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)31
+b Fb(5)150 848 y(asn1Deco)r(ding)c(program)14 b Fa(:)g(:)f(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)29 b Fb(6)150 936 y(asn1P)n(arser)e(program)13
+b Fa(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b
+Fb(5)150 1025 y(ASN.1)e(sc)n(hema)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(2)146 1293
+y Fr(F)150 1414 y Fb(FDL,)26 b(GNU)f(F)-6 b(ree)25 b(Do)r(cumen)n
+(tation)h(License)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)22
+b Fb(24)150 1503 y(F)-6 b(uture)25 b(dev)n(elopmen)n(ts)15
+b Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(4)146
+1785 y Fr(H)150 1906 y Fb(Header)c(\014le)f(libtasn1.h)7
+b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)22 b Fb(4)2021
+638 y Fr(M)2025 756 y Fb(Main)k(t)n(yp)r(e)f(asn1)p 2550
+756 24 4 v 34 w(no)r(de)7 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)23 b Fb(4)2021 1021 y Fr(P)2025 1140 y Fb(P)n(orting)18
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(1)2021 1405 y Fr(S)2025
+1523 y Fb(Supp)r(orted)24 b(ASN.1)h(t)n(yp)r(es,)h(list)g(of)21
+b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)35 b Fb(2)2021 1788 y Fr(T)2025 1906 y Fb(threads)19
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(1)p eop end
%%Page: 33 36
-TeXDict begin 33 35 bop 150 -116 a Fr(F)-8 b(unction)31
-b(and)f(Data)i(Index)2503 b(33)150 299 y Fn(F)-13 b(unction)52
-b(and)h(Data)i(Index)150 610 y Fd(asn1_array2tree)13
-b Fa(:)k(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fb(8)150 697 y Fd(asn1_bit_der)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(15)150 785 y
-Fd(asn1_check_version)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47
-b Fb(21)150 872 y Fd(asn1_copy_node)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g
+TeXDict begin 33 35 bop 3659 -116 a Fs(33)150 299 y Fo(F)-13
+b(unction)52 b(and)h(Data)i(Index)150 610 y Fd(asn1_array2tree)23
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34
+b Fb(9)150 697 y Fd(asn1_bit_der)8 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(16)150 785
+y Fd(asn1_check_version)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(10)150 959 y Fd(asn1_create_element)25
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(9)150
-1046 y Fd(asn1_decode_simple_der)10 b Fa(:)19 b(:)13
+24 b Fb(23)150 872 y Fd(asn1_copy_node)f Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(11)150 959 y Fd
+(asn1_create_element)7 b Fa(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21
+b Fb(10)150 1046 y Fd(asn1_decode_simple_ber)16 b Fa(:)j(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)31 b Fb(22)150 1133 y Fd(asn1_decode_simple_der)16
+b Fa(:)j(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)31 b Fb(21)150 1220 y Fd(asn1_delete_element)9
+b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)24 b Fb(9)150
+1308 y Fd(asn1_delete_structure)i Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
+b Fb(9)150 1395 y Fd(asn1_delete_structure2)24 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)37 b Fb(20)150 1133 y Fd(asn1_delete_element)25
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(8)150
-1220 y Fd(asn1_delete_structure)15 b Fa(:)j(:)13 b(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42
-b Fb(8)150 1308 y Fd(asn1_delete_structure2)13 b Fa(:)18
-b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)40 b Fb(8)150 1395 y Fd(asn1_der_coding)11
-b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
-b Fb(15)150 1482 y Fd(asn1_der_decoding)6 b Fa(:)17 b(:)c(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)32 b Fb(18)150 1569 y Fd(asn1_der_decoding_element)
-26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)46 b Fb(18)150 1656 y Fd(asn1_der_decoding_startEnd)18
-b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-44 b Fb(19)150 1743 y Fd(asn1_der_decoding2)25 b Fa(:)13
-b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(17)150 1831 y
-Fd(asn1_dup_node)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)43 b Fb(10)150 1918 y Fd(asn1_encode_simple_der)10
-b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(15)150 2005 y Fd
-(asn1_expand_any_defined_by)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(19)150 2092 y
-Fd(asn1_expand_octet_string)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(19)150
-2179 y Fd(asn1_find_node)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)40 b Fb(21)2025 610 y Fd(asn1_find_structure_from_oid)15
-b Fa(:)k(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-42 b Fb(9)2025 697 y Fd(asn1_get_bit_der)9 b Fa(:)16
-b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(17)2025
-785 y Fd(asn1_get_length_ber)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
-b Fb(16)2025 872 y Fd(asn1_get_length_der)18 b Fa(:)f(:)c(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)34 b Fb(9)150 1482 y Fd(asn1_der_coding)17
+b Fa(:)g(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32
+b Fb(17)150 1569 y Fd(asn1_der_decoding)12 b Fa(:)17
+b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(19)150
+1656 y Fd(asn1_der_decoding_element)9 b Fa(:)19 b(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23
+b Fb(20)150 1743 y Fd(asn1_der_decoding_startEnd)7 b
+Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)21 b Fb(20)150 1831 y Fd(asn1_der_decoding2)10
+b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(19)150
+1918 y Fd(asn1_dup_node)h Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)37 b Fb(11)150 2005 y Fd(asn1_encode_simple_der)16
+b Fa(:)j(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)31 b Fb(16)150 2092 y Fd
+(asn1_expand_any_defined_by)7 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(21)150
+2179 y Fd(asn1_expand_octet_string)11 b Fa(:)19 b(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)26 b Fb(21)150 2267 y Fd(asn1_find_node)d Fa(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
+b Fb(23)2025 610 y Fd(asn1_find_structure_from_oid)19
+b Fa(:)f(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33
+b Fb(10)2025 697 y Fd(asn1_get_bit_der)15 b Fa(:)h(:)d(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)45 b Fb(16)2025 959 y Fd(asn1_get_octet_der)25
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(17)2025
-1046 y Fd(asn1_get_tag_der)9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)35 b Fb(16)2025 1133 y Fd(asn1_length_der)11
+g(:)g(:)g(:)h(:)f(:)29 b Fb(19)2025 785 y Fd(asn1_get_length_ber)7
+b Fa(:)17 b(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(18)2025
+872 y Fd(asn1_get_length_der)7 b Fa(:)17 b(:)c(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+22 b Fb(17)2025 959 y Fd(asn1_get_object_id_der)16 b
+Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(18)2025 1046 y Fd(asn1_get_octet_der)10
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
-b Fb(14)2025 1220 y Fd(asn1_number_of_elements)10 b Fa(:)18
-b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)37 b Fb(9)2025 1308 y Fd(asn1_octet_der)14
-b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fb(14)2025 1395 y Fd(asn1_parser2array)8 b Fa(:)17
-b(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)35 b Fb(7)2025
-1482 y Fd(asn1_parser2tree)11 b Fa(:)16 b(:)d(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)38 b Fb(7)2025 1569 y Fd(asn1_perror)24
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-48 b Fb(20)2025 1656 y Fd(asn1_print_structure)18 b Fa(:)f(:)c(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)45 b Fb(9)2025 1743 y Fd(asn1_read_node_value)16
-b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(14)2025 1831 y Fd(asn1_read_tag)16
-b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
-b Fb(14)2025 1918 y Fd(asn1_read_value)11 b Fa(:)17 b(:)c(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fb(12)2025 2005 y Fd
-(asn1_read_value_type)16 b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42
-b Fb(13)2025 2092 y Fd(asn1_strerror)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(20)2025 2179 y
-Fd(asn1_write_value)9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)35 b Fb(10)p eop end
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(18)2025
+1133 y Fd(asn1_get_tag_der)15 b Fa(:)h(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)29 b Fb(17)2025 1220 y Fd(asn1_length_der)17
+b Fa(:)g(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)32
+b Fb(15)2025 1308 y Fd(asn1_number_of_elements)14 b Fa(:)k(:)13
+b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)28 b Fb(10)2025 1395 y Fd(asn1_octet_der)23 b
+Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34
+b Fb(16)2025 1482 y Fd(asn1_parser2array)14 b Fa(:)j(:)c(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)29 b Fb(8)2025 1569 y Fd(asn1_parser2tree)17
+b Fa(:)f(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)32
+b Fb(8)2025 1656 y Fd(asn1_perror)10 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(22)2025
+1743 y Fd(asn1_print_structure)h Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
+b Fb(10)2025 1831 y Fd(asn1_read_node_value)26 b Fa(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(15)2025 1918 y Fd(asn1_read_tag)25
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
+b Fb(15)2025 2005 y Fd(asn1_read_value)17 b Fa(:)g(:)c(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(13)2025 2092 y Fd(asn1_read_value_type)
+26 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(14)2025 2179
+y Fd(asn1_strerror)25 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)37 b Fb(22)2025 2267 y Fd(asn1_write_value)15
+b Fa(:)h(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)29 b
+Fb(11)p eop end
%%Trailer
userdict /end-hook known{end-hook}if