123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825moduleCI=Cstubs_internalsexternalasync_ssl_stub_1_TLS_method:unit->CI.voidp="async_ssl_stub_1_TLS_method"externalasync_ssl_stub_2_TLSv1_method:unit->CI.voidp="async_ssl_stub_2_TLSv1_method"externalasync_ssl_stub_3_TLSv1_1_method:unit->CI.voidp="async_ssl_stub_3_TLSv1_1_method"externalasync_ssl_stub_4_TLSv1_2_method:unit->CI.voidp="async_ssl_stub_4_TLSv1_2_method"externalasync_ssl_stub_5_ERR_get_error:unit->Unsigned.ulong="async_ssl_stub_5_ERR_get_error"externalasync_ssl_stub_6_ERR_error_string_n:Unsigned.ulong->_CI.fatptr->int->unit="async_ssl_stub_6_ERR_error_string_n"externalasync_ssl_stub_7_OpenSSL_add_all_digests:unit->unit="async_ssl_stub_7_OpenSSL_add_all_digests"externalasync_ssl_stub_8_OpenSSL_add_all_ciphers:unit->unit="async_ssl_stub_8_OpenSSL_add_all_ciphers"externalasync_ssl_stub_9_OpenSSL_add_ssl_algorithms:unit->unit="async_ssl_stub_9_OpenSSL_add_ssl_algorithms"externalasync_ssl_stub_10_OPENSSL_config:_CI.fatptr->unit="async_ssl_stub_10_OPENSSL_config"externalasync_ssl_stub_11_SSL_library_init:unit->Unsigned.ulong="async_ssl_stub_11_SSL_library_init"externalasync_ssl_stub_12_SSL_load_error_strings:unit->unit="async_ssl_stub_12_SSL_load_error_strings"externalasync_ssl_stub_13_ERR_load_crypto_strings:unit->unit="async_ssl_stub_13_ERR_load_crypto_strings"externalasync_ssl_stub_14_ENGINE_load_builtin_engines:unit->unit="async_ssl_stub_14_ENGINE_load_builtin_engines"externalasync_ssl_stub_15_ENGINE_register_all_complete:unit->unit="async_ssl_stub_15_ENGINE_register_all_complete"externalasync_ssl_stub_16_SSL_CTX_new:_CI.fatptr->CI.voidp="async_ssl_stub_16_SSL_CTX_new"externalasync_ssl_stub_17_SSL_CTX_free:_CI.fatptr->unit="async_ssl_stub_17_SSL_CTX_free"externalasync_ssl_stub_18_SSL_CTX_set_security_level:_CI.fatptr->int->unit="async_ssl_stub_18_SSL_CTX_set_security_level"externalasync_ssl_stub_19_SSL_CTX_load_verify_locations:_CI.fatptr->_CI.fatptr->_CI.fatptr->int="async_ssl_stub_19_SSL_CTX_load_verify_locations"externalasync_ssl_stub_20_SSL_CTX_set_default_verify_paths:_CI.fatptr->int="async_ssl_stub_20_SSL_CTX_set_default_verify_paths"externalasync_ssl_stub_21_SSL_CTX_set_session_id_context:_CI.fatptr->_CI.fatptr->Unsigned.uint->int="async_ssl_stub_21_SSL_CTX_set_session_id_context"externalasync_ssl_stub_22_SSL_CTX_set_cipher_list:_CI.fatptr->_CI.fatptr->int="async_ssl_stub_22_SSL_CTX_set_cipher_list"externalasync_ssl_stub_23_SSL_CTX_set_options:_CI.fatptr->Unsigned.ulong->Unsigned.ulong="async_ssl_stub_23_SSL_CTX_set_options"externalasync_ssl_stub_24_SSL_CTX_use_certificate_chain_file:_CI.fatptr->_CI.fatptr->int="async_ssl_stub_24_SSL_CTX_use_certificate_chain_file"externalasync_ssl_stub_25_SSL_CTX_use_certificate_file:_CI.fatptr->_CI.fatptr->int->int="async_ssl_stub_25_SSL_CTX_use_certificate_file"externalasync_ssl_stub_26_SSL_CTX_use_PrivateKey_file:_CI.fatptr->_CI.fatptr->int->int="async_ssl_stub_26_SSL_CTX_use_PrivateKey_file"externalasync_ssl_stub_27_SSL_CTX_set_alpn_protos:_CI.fatptr->_CI.fatptr->Unsigned.uint->int="async_ssl_stub_27_SSL_CTX_set_alpn_protos"externalasync_ssl_stub_28_async_ssl__set_alpn_callback:_CI.fatptr->_CI.fatptr->Unsigned.uint->CI.voidp="async_ssl_stub_28_async_ssl__set_alpn_callback"externalasync_ssl_stub_29_async_ssl__free_alpn_callback:_CI.fatptr->unit="async_ssl_stub_29_async_ssl__free_alpn_callback"externalasync_ssl_stub_30_BIO_new:_CI.fatptr->CI.voidp="async_ssl_stub_30_BIO_new"externalasync_ssl_stub_31_BIO_s_mem:unit->CI.voidp="async_ssl_stub_31_BIO_s_mem"externalasync_ssl_stub_32_BIO_read:_CI.fatptr->_CI.fatptr->int->int="async_ssl_stub_32_BIO_read"externalasync_ssl_stub_33_BIO_write:_CI.fatptr->_CI.fatptr->int->int="async_ssl_stub_33_BIO_write"externalasync_ssl_stub_34_OBJ_obj2nid:_CI.fatptr->int="async_ssl_stub_34_OBJ_obj2nid"externalasync_ssl_stub_35_OBJ_nid2sn:int->CI.voidp="async_ssl_stub_35_OBJ_nid2sn"externalasync_ssl_stub_36_OBJ_txt2nid:_CI.fatptr->int="async_ssl_stub_36_OBJ_txt2nid"externalasync_ssl_stub_37_ASN1_STRING_length:_CI.fatptr->int="async_ssl_stub_37_ASN1_STRING_length"externalasync_ssl_stub_38_ASN1_STRING_data:_CI.fatptr->CI.voidp="async_ssl_stub_38_ASN1_STRING_data"externalasync_ssl_stub_39_X509_NAME_ENTRY_get_object:_CI.fatptr->CI.voidp="async_ssl_stub_39_X509_NAME_ENTRY_get_object"externalasync_ssl_stub_40_X509_NAME_ENTRY_get_data:_CI.fatptr->CI.voidp="async_ssl_stub_40_X509_NAME_ENTRY_get_data"externalasync_ssl_stub_41_X509_NAME_entry_count:_CI.fatptr->int="async_ssl_stub_41_X509_NAME_entry_count"externalasync_ssl_stub_42_X509_NAME_get_entry:_CI.fatptr->int->CI.voidp="async_ssl_stub_42_X509_NAME_get_entry"externalasync_ssl_stub_43_EVP_sha1:unit->CI.voidp="async_ssl_stub_43_EVP_sha1"externalasync_ssl_stub_44_X509_get_subject_name:_CI.fatptr->CI.voidp="async_ssl_stub_44_X509_get_subject_name"externalasync_ssl_stub_45_X509_verify_cert_error_string:Signed.long->CI.voidp="async_ssl_stub_45_X509_verify_cert_error_string"externalasync_ssl_stub_46_X509_free:_CI.fatptr->unit="async_ssl_stub_46_X509_free"externalasync_ssl_stub_47_async_ssl__subject_alt_names:_CI.fatptr->CI.voidp="async_ssl_stub_47_async_ssl__subject_alt_names"externalasync_ssl_stub_48_async_ssl__free_subject_alt_names:_CI.fatptr->unit="async_ssl_stub_48_async_ssl__free_subject_alt_names"externalasync_ssl_stub_49_X509_digest:_CI.fatptr->_CI.fatptr->_CI.fatptr->_CI.fatptr->bool="async_ssl_stub_49_X509_digest"externalasync_ssl_stub_50_X509_check_host:_CI.fatptr->_CI.fatptr->int->int->_CI.fatptr->int="async_ssl_stub_50_X509_check_host"externalasync_ssl_stub_51_X509_check_ip_asc:_CI.fatptr->_CI.fatptr->int->int="async_ssl_stub_51_X509_check_ip_asc"externalasync_ssl_stub_52_SSL_SESSION_new:unit->CI.voidp="async_ssl_stub_52_SSL_SESSION_new"externalasync_ssl_stub_53_SSL_SESSION_free:_CI.fatptr->unit="async_ssl_stub_53_SSL_SESSION_free"externalasync_ssl_stub_54_BN_new:unit->CI.voidp="async_ssl_stub_54_BN_new"externalasync_ssl_stub_55_BN_free:_CI.fatptr->unit="async_ssl_stub_55_BN_free"externalasync_ssl_stub_56_BN_bin2bn:_CI.fatptr->int->_CI.fatptr->CI.voidp="async_ssl_stub_56_BN_bin2bn"externalasync_ssl_stub_57_BN_hex2bn:_CI.fatptr->_CI.fatptr->int="async_ssl_stub_57_BN_hex2bn"externalasync_ssl_stub_58_DH_new:unit->CI.voidp="async_ssl_stub_58_DH_new"externalasync_ssl_stub_59_DH_free:_CI.fatptr->unit="async_ssl_stub_59_DH_free"externalasync_ssl_stub_60_DH_generate_parameters:int->int->_CI.fatfunptr->_CI.fatptr->CI.voidp="async_ssl_stub_60_DH_generate_parameters"externalasync_ssl_stub_61_SSL_new:_CI.fatptr->CI.voidp="async_ssl_stub_61_SSL_new"externalasync_ssl_stub_62_SSL_free:_CI.fatptr->unit="async_ssl_stub_62_SSL_free"externalasync_ssl_stub_63_SSL_set_ssl_method:_CI.fatptr->_CI.fatptr->int="async_ssl_stub_63_SSL_set_ssl_method"externalasync_ssl_stub_64_SSL_get_error:_CI.fatptr->int->int="async_ssl_stub_64_SSL_get_error"externalasync_ssl_stub_65_SSL_set_connect_state:_CI.fatptr->unit="async_ssl_stub_65_SSL_set_connect_state"externalasync_ssl_stub_66_SSL_set_accept_state:_CI.fatptr->unit="async_ssl_stub_66_SSL_set_accept_state"externalasync_ssl_stub_67_SSL_connect:_CI.fatptr->int="async_ssl_stub_67_SSL_connect"externalasync_ssl_stub_68_SSL_accept:_CI.fatptr->int="async_ssl_stub_68_SSL_accept"externalasync_ssl_stub_69_SSL_set_bio:_CI.fatptr->_CI.fatptr->_CI.fatptr->unit="async_ssl_stub_69_SSL_set_bio"externalasync_ssl_stub_70_SSL_read:_CI.fatptr->_CI.fatptr->int->int="async_ssl_stub_70_SSL_read"externalasync_ssl_stub_71_SSL_write:_CI.fatptr->_CI.fatptr->int->int="async_ssl_stub_71_SSL_write"externalasync_ssl_stub_72_SSL_set_verify:_CI.fatptr->int->_CI.fatptr->unit="async_ssl_stub_72_SSL_set_verify"externalasync_ssl_stub_73_SSL_set_cipher_list:_CI.fatptr->_CI.fatptr->int="async_ssl_stub_73_SSL_set_cipher_list"externalasync_ssl_stub_74_SSL_get_cipher_list:_CI.fatptr->int->CI.voidp="async_ssl_stub_74_SSL_get_cipher_list"externalasync_ssl_stub_75_SSL_set1_groups_list:_CI.fatptr->_CI.fatptr->int="async_ssl_stub_75_SSL_set1_groups_list"externalasync_ssl_stub_76_SSL_get_peer_certificate:_CI.fatptr->CI.voidp="async_ssl_stub_76_SSL_get_peer_certificate"externalasync_ssl_stub_77_SSL_get_verify_result:_CI.fatptr->Signed.long="async_ssl_stub_77_SSL_get_verify_result"externalasync_ssl_stub_78_SSL_get_version:_CI.fatptr->CI.voidp="async_ssl_stub_78_SSL_get_version"externalasync_ssl_stub_79_SSL_set_session:_CI.fatptr->_CI.fatptr->int="async_ssl_stub_79_SSL_set_session"externalasync_ssl_stub_80_SSL_session_reused:_CI.fatptr->int="async_ssl_stub_80_SSL_session_reused"externalasync_ssl_stub_81_SSL_get1_session:_CI.fatptr->CI.voidp="async_ssl_stub_81_SSL_get1_session"externalasync_ssl_stub_82_SSL_check_private_key:_CI.fatptr->int="async_ssl_stub_82_SSL_check_private_key"externalasync_ssl_stub_83_SSL_set_tlsext_host_name:_CI.fatptr->_CI.fatptr->int="async_ssl_stub_83_SSL_set_tlsext_host_name"externalasync_ssl_stub_84_async_ssl__pem_peer_certificate_chain:_CI.fatptr->CI.voidp="async_ssl_stub_84_async_ssl__pem_peer_certificate_chain"externalasync_ssl_stub_85_async_ssl__free_pem_peer_certificate_chain:_CI.fatptr->unit="async_ssl_stub_85_async_ssl__free_pem_peer_certificate_chain"externalasync_ssl_stub_86_SSL_get0_alpn_selected:_CI.fatptr->_CI.fatptr->_CI.fatptr->unit="async_ssl_stub_86_SSL_get0_alpn_selected"type'aresult='atype'areturn='atype'afn=|Returns:'aCI.typ->'areturnfn|Function:'aCI.typ*'bfn->('a->'b)fnletmap_resultfx=fxletreturningt=Returnstlet(@->)fp=Function(f,p)letforeign:typeab.string->(a->b)fn->(a->b)=funnamet->matcht,namewith|Function(CI.Pointer_,Function(CI.Pointer_,Function(CI.Pointer_,ReturnsCI.Void))),"SSL_get0_alpn_selected"->(funx1x3x5->letCI.CPointerx6=x5inletCI.CPointerx4=x3inletCI.CPointerx2=x1inasync_ssl_stub_86_SSL_get0_alpn_selectedx2x4x6)|Function(CI.Pointer_,ReturnsCI.Void),"async_ssl__free_pem_peer_certificate_chain"->(funx7->letCI.CPointerx8=x7inasync_ssl_stub_85_async_ssl__free_pem_peer_certificate_chainx8)|Function(CI.Pointer_,Returns(CI.View{CI.ty=CI.Pointerx11;read=x12;_})),"async_ssl__pem_peer_certificate_chain"->(funx9->letCI.CPointerx10=x9inx12(CI.make_ptrx11(async_ssl_stub_84_async_ssl__pem_peer_certificate_chainx10)))|Function(CI.Pointer_,Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int))),"SSL_set_tlsext_host_name"->(funx13x15->letCI.CPointerx16=x15inletCI.CPointerx14=x13inasync_ssl_stub_83_SSL_set_tlsext_host_namex14x16)|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"SSL_check_private_key"->(funx17->letCI.CPointerx18=x17inasync_ssl_stub_82_SSL_check_private_keyx18)|Function(CI.Pointer_,Returns(CI.View{CI.ty=CI.Pointerx21;read=x22;_})),"SSL_get1_session"->(funx19->letCI.CPointerx20=x19inx22(CI.make_ptrx21(async_ssl_stub_81_SSL_get1_sessionx20)))|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"SSL_session_reused"->(funx23->letCI.CPointerx24=x23inasync_ssl_stub_80_SSL_session_reusedx24)|Function(CI.Pointer_,Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int))),"SSL_set_session"->(funx25x27->letCI.CPointerx28=x27inletCI.CPointerx26=x25inasync_ssl_stub_79_SSL_set_sessionx26x28)|Function(CI.Pointer_,Returns(CI.View{CI.ty=CI.Pointerx31;read=x32;_})),"SSL_get_version"->(funx29->letCI.CPointerx30=x29inx32(CI.make_ptrx31(async_ssl_stub_78_SSL_get_versionx30)))|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Long)),"SSL_get_verify_result"->(funx33->letCI.CPointerx34=x33inasync_ssl_stub_77_SSL_get_verify_resultx34)|Function(CI.Pointer_,Returns(CI.View{CI.ty=CI.Pointerx37;read=x38;_})),"SSL_get_peer_certificate"->(funx35->letCI.CPointerx36=x35inx38(CI.make_ptrx37(async_ssl_stub_76_SSL_get_peer_certificatex36)))|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x42;_},Returns(CI.PrimitiveCI.Int))),"SSL_set1_groups_list"->(funx39x41->letCI.CPointerx44=x42x41inletCI.CPointerx40=x39inletx43=x44inasync_ssl_stub_75_SSL_set1_groups_listx40x43)|Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Returns(CI.View{CI.ty=CI.Pointerx48;read=x49;_}))),"SSL_get_cipher_list"->(funx45x47->letCI.CPointerx46=x45inx49(CI.make_ptrx48(async_ssl_stub_74_SSL_get_cipher_listx46x47)))|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x53;_},Returns(CI.PrimitiveCI.Int))),"SSL_set_cipher_list"->(funx50x52->letCI.CPointerx55=x53x52inletCI.CPointerx51=x50inletx54=x55inasync_ssl_stub_73_SSL_set_cipher_listx51x54)|Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Function(CI.Pointer_,ReturnsCI.Void))),"SSL_set_verify"->(funx56x58x59->letCI.CPointerx60=x59inletCI.CPointerx57=x56inasync_ssl_stub_72_SSL_set_verifyx57x58x60)|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x64;_},Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)))),"SSL_write"->(funx61x63x67->letCI.CPointerx66=x64x63inletCI.CPointerx62=x61inletx65=x66inasync_ssl_stub_71_SSL_writex62x65x67)|Function(CI.Pointer_,Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)))),"SSL_read"->(funx68x70x72->letCI.CPointerx71=x70inletCI.CPointerx69=x68inasync_ssl_stub_70_SSL_readx69x71x72)|Function(CI.Pointer_,Function(CI.Pointer_,Function(CI.Pointer_,ReturnsCI.Void))),"SSL_set_bio"->(funx73x75x77->letCI.CPointerx78=x77inletCI.CPointerx76=x75inletCI.CPointerx74=x73inasync_ssl_stub_69_SSL_set_biox74x76x78)|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"SSL_accept"->(funx79->letCI.CPointerx80=x79inasync_ssl_stub_68_SSL_acceptx80)|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"SSL_connect"->(funx81->letCI.CPointerx82=x81inasync_ssl_stub_67_SSL_connectx82)|Function(CI.Pointer_,ReturnsCI.Void),"SSL_set_accept_state"->(funx83->letCI.CPointerx84=x83inasync_ssl_stub_66_SSL_set_accept_statex84)|Function(CI.Pointer_,ReturnsCI.Void),"SSL_set_connect_state"->(funx85->letCI.CPointerx86=x85inasync_ssl_stub_65_SSL_set_connect_statex86)|Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int))),"SSL_get_error"->(funx87x89->letCI.CPointerx88=x87inasync_ssl_stub_64_SSL_get_errorx88x89)|Function(CI.Pointer_,Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int))),"SSL_set_ssl_method"->(funx90x92->letCI.CPointerx93=x92inletCI.CPointerx91=x90inasync_ssl_stub_63_SSL_set_ssl_methodx91x93)|Function(CI.Pointer_,ReturnsCI.Void),"SSL_free"->(funx94->letCI.CPointerx95=x94inasync_ssl_stub_62_SSL_freex95)|Function(CI.Pointer_,Returns(CI.View{CI.ty=CI.Pointerx98;read=x99;_})),"SSL_new"->(funx96->letCI.CPointerx97=x96inx99(CI.make_ptrx98(async_ssl_stub_61_SSL_newx97)))|Function(CI.PrimitiveCI.Int,Function(CI.PrimitiveCI.Int,Function(CI.View{CI.ty=CI.Funptr_;write=x103;_},Function(CI.Pointer_,Returns(CI.View{CI.ty=CI.Pointerx108;read=x109;_}))))),"DH_generate_parameters"->(funx100x101x102x106->letCI.CPointerx107=x106inletCI.Static_funptrx105=x103x102inletx104=x105inx109(CI.make_ptrx108(async_ssl_stub_60_DH_generate_parametersx100x101x104x107)))|Function(CI.Pointer_,ReturnsCI.Void),"DH_free"->(funx110->letCI.CPointerx111=x110inasync_ssl_stub_59_DH_freex111)|Function(CI.Void,Returns(CI.View{CI.ty=CI.Pointerx113;read=x114;_})),"DH_new"->(funx112->x114(CI.make_ptrx113(async_ssl_stub_58_DH_newx112)))|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x118;_},Returns(CI.PrimitiveCI.Int))),"BN_hex2bn"->(funx115x117->letCI.CPointerx120=x118x117inletCI.CPointerx116=x115inletx119=x120inasync_ssl_stub_57_BN_hex2bnx116x119)|Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Function(CI.Pointer_,Returns(CI.Pointerx126)))),"BN_bin2bn"->(funx121x123x124->letCI.CPointerx125=x124inletCI.CPointerx122=x121inCI.make_ptrx126(async_ssl_stub_56_BN_bin2bnx122x123x125))|Function(CI.Pointer_,ReturnsCI.Void),"BN_free"->(funx127->letCI.CPointerx128=x127inasync_ssl_stub_55_BN_freex128)|Function(CI.Void,Returns(CI.View{CI.ty=CI.Pointerx130;read=x131;_})),"BN_new"->(funx129->x131(CI.make_ptrx130(async_ssl_stub_54_BN_newx129)))|Function(CI.Pointer_,ReturnsCI.Void),"SSL_SESSION_free"->(funx132->letCI.CPointerx133=x132inasync_ssl_stub_53_SSL_SESSION_freex133)|Function(CI.Void,Returns(CI.View{CI.ty=CI.Pointerx135;read=x136;_})),"SSL_SESSION_new"->(funx134->x136(CI.make_ptrx135(async_ssl_stub_52_SSL_SESSION_newx134)))|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x140;_},Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)))),"X509_check_ip_asc"->(funx137x139x143->letCI.CPointerx142=x140x139inletCI.CPointerx138=x137inletx141=x142inasync_ssl_stub_51_X509_check_ip_ascx138x141x143)|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x147;_},Function(CI.PrimitiveCI.Int,Function(CI.PrimitiveCI.Int,Function(CI.View{CI.ty=CI.Pointer_;write=x153;_},Returns(CI.PrimitiveCI.Int)))))),"X509_check_host"->(funx144x146x150x151x152->letCI.CPointerx155=x153x152inletCI.CPointerx149=x147x146inletCI.CPointerx145=x144inletx148=x149inletx154=x155inasync_ssl_stub_50_X509_check_hostx145x148x150x151x154)|Function(CI.Pointer_,Function(CI.Pointer_,Function(CI.Pointer_,Function(CI.Pointer_,Returns(CI.PrimitiveCI.Bool))))),"X509_digest"->(funx156x158x160x162->letCI.CPointerx163=x162inletCI.CPointerx161=x160inletCI.CPointerx159=x158inletCI.CPointerx157=x156inasync_ssl_stub_49_X509_digestx157x159x161x163)|Function(CI.Pointer_,ReturnsCI.Void),"async_ssl__free_subject_alt_names"->(funx164->letCI.CPointerx165=x164inasync_ssl_stub_48_async_ssl__free_subject_alt_namesx165)|Function(CI.Pointer_,Returns(CI.View{CI.ty=CI.Pointerx168;read=x169;_})),"async_ssl__subject_alt_names"->(funx166->letCI.CPointerx167=x166inx169(CI.make_ptrx168(async_ssl_stub_47_async_ssl__subject_alt_namesx167)))|Function(CI.Pointer_,ReturnsCI.Void),"X509_free"->(funx170->letCI.CPointerx171=x170inasync_ssl_stub_46_X509_freex171)|Function(CI.PrimitiveCI.Long,Returns(CI.View{CI.ty=CI.Pointerx173;read=x174;_})),"X509_verify_cert_error_string"->(funx172->x174(CI.make_ptrx173(async_ssl_stub_45_X509_verify_cert_error_stringx172)))|Function(CI.Pointer_,Returns(CI.View{CI.ty=CI.Pointerx177;read=x178;_})),"X509_get_subject_name"->(funx175->letCI.CPointerx176=x175inx178(CI.make_ptrx177(async_ssl_stub_44_X509_get_subject_namex176)))|Function(CI.Void,Returns(CI.Pointerx180)),"EVP_sha1"->(funx179->CI.make_ptrx180(async_ssl_stub_43_EVP_sha1x179))|Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Returns(CI.Pointerx184))),"X509_NAME_get_entry"->(funx181x183->letCI.CPointerx182=x181inCI.make_ptrx184(async_ssl_stub_42_X509_NAME_get_entryx182x183))|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"X509_NAME_entry_count"->(funx185->letCI.CPointerx186=x185inasync_ssl_stub_41_X509_NAME_entry_countx186)|Function(CI.Pointer_,Returns(CI.Pointerx189)),"X509_NAME_ENTRY_get_data"->(funx187->letCI.CPointerx188=x187inCI.make_ptrx189(async_ssl_stub_40_X509_NAME_ENTRY_get_datax188))|Function(CI.Pointer_,Returns(CI.Pointerx192)),"X509_NAME_ENTRY_get_object"->(funx190->letCI.CPointerx191=x190inCI.make_ptrx192(async_ssl_stub_39_X509_NAME_ENTRY_get_objectx191))|Function(CI.Pointer_,Returns(CI.View{CI.ty=CI.Pointerx195;read=x196;_})),"ASN1_STRING_data"->(funx193->letCI.CPointerx194=x193inx196(CI.make_ptrx195(async_ssl_stub_38_ASN1_STRING_datax194)))|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"ASN1_STRING_length"->(funx197->letCI.CPointerx198=x197inasync_ssl_stub_37_ASN1_STRING_lengthx198)|Function(CI.View{CI.ty=CI.Pointer_;write=x200;_},Returns(CI.PrimitiveCI.Int)),"OBJ_txt2nid"->(funx199->letCI.CPointerx202=x200x199inletx201=x202inasync_ssl_stub_36_OBJ_txt2nidx201)|Function(CI.PrimitiveCI.Int,Returns(CI.View{CI.ty=CI.Pointerx204;read=x205;_})),"OBJ_nid2sn"->(funx203->x205(CI.make_ptrx204(async_ssl_stub_35_OBJ_nid2snx203)))|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"OBJ_obj2nid"->(funx206->letCI.CPointerx207=x206inasync_ssl_stub_34_OBJ_obj2nidx207)|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x211;_},Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)))),"BIO_write"->(funx208x210x214->letCI.CPointerx213=x211x210inletCI.CPointerx209=x208inletx212=x213inasync_ssl_stub_33_BIO_writex209x212x214)|Function(CI.Pointer_,Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)))),"BIO_read"->(funx215x217x219->letCI.CPointerx218=x217inletCI.CPointerx216=x215inasync_ssl_stub_32_BIO_readx216x218x219)|Function(CI.Void,Returns(CI.Pointerx221)),"BIO_s_mem"->(funx220->CI.make_ptrx221(async_ssl_stub_31_BIO_s_memx220))|Function(CI.Pointer_,Returns(CI.Pointerx224)),"BIO_new"->(funx222->letCI.CPointerx223=x222inCI.make_ptrx224(async_ssl_stub_30_BIO_newx223))|Function(CI.Pointer_,ReturnsCI.Void),"async_ssl__free_alpn_callback"->(funx225->letCI.CPointerx226=x225inasync_ssl_stub_29_async_ssl__free_alpn_callbackx226)|Function(CI.Pointer_,Function(CI.Pointer_,Function(CI.PrimitiveCI.Uint,Returns(CI.Pointerx232)))),"async_ssl__set_alpn_callback"->(funx227x229x231->letCI.CPointerx230=x229inletCI.CPointerx228=x227inCI.make_ptrx232(async_ssl_stub_28_async_ssl__set_alpn_callbackx228x230x231))|Function(CI.Pointer_,Function(CI.Pointer_,Function(CI.PrimitiveCI.Uint,Returns(CI.PrimitiveCI.Int)))),"SSL_CTX_set_alpn_protos"->(funx233x235x237->letCI.CPointerx236=x235inletCI.CPointerx234=x233inasync_ssl_stub_27_SSL_CTX_set_alpn_protosx234x236x237)|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x241;_},Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)))),"SSL_CTX_use_PrivateKey_file"->(funx238x240x244->letCI.CPointerx243=x241x240inletCI.CPointerx239=x238inletx242=x243inasync_ssl_stub_26_SSL_CTX_use_PrivateKey_filex239x242x244)|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x248;_},Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)))),"SSL_CTX_use_certificate_file"->(funx245x247x251->letCI.CPointerx250=x248x247inletCI.CPointerx246=x245inletx249=x250inasync_ssl_stub_25_SSL_CTX_use_certificate_filex246x249x251)|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x255;_},Returns(CI.PrimitiveCI.Int))),"SSL_CTX_use_certificate_chain_file"->(funx252x254->letCI.CPointerx257=x255x254inletCI.CPointerx253=x252inletx256=x257inasync_ssl_stub_24_SSL_CTX_use_certificate_chain_filex253x256)|Function(CI.Pointer_,Function(CI.PrimitiveCI.Ulong,Returns(CI.PrimitiveCI.Ulong))),"SSL_CTX_set_options"->(funx258x260->letCI.CPointerx259=x258inasync_ssl_stub_23_SSL_CTX_set_optionsx259x260)|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x264;_},Returns(CI.PrimitiveCI.Int))),"SSL_CTX_set_cipher_list"->(funx261x263->letCI.CPointerx266=x264x263inletCI.CPointerx262=x261inletx265=x266inasync_ssl_stub_22_SSL_CTX_set_cipher_listx262x265)|Function(CI.Pointer_,Function(CI.Pointer_,Function(CI.PrimitiveCI.Uint,Returns(CI.PrimitiveCI.Int)))),"SSL_CTX_set_session_id_context"->(funx267x269x271->letCI.CPointerx270=x269inletCI.CPointerx268=x267inasync_ssl_stub_21_SSL_CTX_set_session_id_contextx268x270x271)|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"SSL_CTX_set_default_verify_paths"->(funx272->letCI.CPointerx273=x272inasync_ssl_stub_20_SSL_CTX_set_default_verify_pathsx273)|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x277;_},Function(CI.View{CI.ty=CI.Pointer_;write=x281;_},Returns(CI.PrimitiveCI.Int)))),"SSL_CTX_load_verify_locations"->(funx274x276x280->letCI.CPointerx283=x281x280inletCI.CPointerx279=x277x276inletCI.CPointerx275=x274inletx278=x279inletx282=x283inasync_ssl_stub_19_SSL_CTX_load_verify_locationsx275x278x282)|Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,ReturnsCI.Void)),"SSL_CTX_set_security_level"->(funx284x286->letCI.CPointerx285=x284inasync_ssl_stub_18_SSL_CTX_set_security_levelx285x286)|Function(CI.Pointer_,ReturnsCI.Void),"SSL_CTX_free"->(funx287->letCI.CPointerx288=x287inasync_ssl_stub_17_SSL_CTX_freex288)|Function(CI.Pointer_,Returns(CI.View{CI.ty=CI.Pointerx291;read=x292;_})),"SSL_CTX_new"->(funx289->letCI.CPointerx290=x289inx292(CI.make_ptrx291(async_ssl_stub_16_SSL_CTX_newx290)))|Function(CI.Void,ReturnsCI.Void),"ENGINE_register_all_complete"->async_ssl_stub_15_ENGINE_register_all_complete|Function(CI.Void,ReturnsCI.Void),"ENGINE_load_builtin_engines"->async_ssl_stub_14_ENGINE_load_builtin_engines|Function(CI.Void,ReturnsCI.Void),"ERR_load_crypto_strings"->async_ssl_stub_13_ERR_load_crypto_strings|Function(CI.Void,ReturnsCI.Void),"SSL_load_error_strings"->async_ssl_stub_12_SSL_load_error_strings|Function(CI.Void,Returns(CI.PrimitiveCI.Ulong)),"SSL_library_init"->async_ssl_stub_11_SSL_library_init|Function(CI.View{CI.ty=CI.Pointer_;write=x299;_},ReturnsCI.Void),"OPENSSL_config"->(funx298->letCI.CPointerx301=x299x298inletx300=x301inasync_ssl_stub_10_OPENSSL_configx300)|Function(CI.Void,ReturnsCI.Void),"OpenSSL_add_ssl_algorithms"->async_ssl_stub_9_OpenSSL_add_ssl_algorithms|Function(CI.Void,ReturnsCI.Void),"OpenSSL_add_all_ciphers"->async_ssl_stub_8_OpenSSL_add_all_ciphers|Function(CI.Void,ReturnsCI.Void),"OpenSSL_add_all_digests"->async_ssl_stub_7_OpenSSL_add_all_digests|Function(CI.PrimitiveCI.Ulong,Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,ReturnsCI.Void))),"ERR_error_string_n"->(funx305x306x308->letCI.CPointerx307=x306inasync_ssl_stub_6_ERR_error_string_nx305x307x308)|Function(CI.Void,Returns(CI.PrimitiveCI.Ulong)),"ERR_get_error"->async_ssl_stub_5_ERR_get_error|Function(CI.Void,Returns(CI.Pointerx311)),"TLSv1_2_method"->(funx310->CI.make_ptrx311(async_ssl_stub_4_TLSv1_2_methodx310))|Function(CI.Void,Returns(CI.Pointerx313)),"TLSv1_1_method"->(funx312->CI.make_ptrx313(async_ssl_stub_3_TLSv1_1_methodx312))|Function(CI.Void,Returns(CI.Pointerx315)),"TLSv1_method"->(funx314->CI.make_ptrx315(async_ssl_stub_2_TLSv1_methodx314))|Function(CI.Void,Returns(CI.Pointerx317)),"TLS_method"->(funx316->CI.make_ptrx317(async_ssl_stub_1_TLS_methodx316))|_,s->Printf.ksprintffailwith"No match for %s"sletforeign_value:typea.string->aCtypes.typ->aCtypes.ptr=funnamet->matcht,namewith|_,s->Printf.ksprintffailwith"No match for %s"s