=== Test case: muc_SUITE:stopped_members_only_room_process_invitations_correctly/1 (click for source code)
=== Config value:
[{watchdog,<0.28789.1>},
{mim_data_dir,"/home/circleci/project/big_tests/tests/muc_SUITE_data"},
{preset,"pgsql_mnesia"},
{tc_logfile,"/home/circleci/project/big_tests/ct_report/ct_run.test@43f5552376e6.2022-03-04_11.16.18/big_tests.tests.muc_SUITE.logs/run.2022-03-04_11.24.02/muc_suite.stopped_members_only_room_process_invitations_correctly.65924.html"},
{tc_group_properties,[{name,hibernation},
{repeat_until_all_ok,3},
parallel]},
{tc_group_path,[]},
{data_dir,"/home/circleci/project/big_tests/_build/default/lib/mongoose_tests/ebin/muc_SUITE_data/"},
{priv_dir,"/home/circleci/project/big_tests/ct_report/ct_run.test@43f5552376e6.2022-03-04_11.16.18/big_tests.tests.muc_SUITE.logs/run.2022-03-04_11.24.02/log_private/"},
{{saved_modules,mongooseim@localhost,<<"localhost">>},
#{mod_adhoc => [],mod_amp => [],mod_bosh => [],
mod_cache_users => [{number_of_segments,5},{time_to_live,2}],
mod_carboncopy => [],mod_commands => [],
mod_disco => [{users_can_see_hidden_services,false}],
mod_muc_commands => [],mod_muc_light_commands => [],
mod_register =>
[{access,register},
{ip_access,[{allow,"127.0.0.0/8"},{deny,"0.0.0.0/0"}]},
{welcome_message,{[],[]}}],
mod_roster => [{backend,rdbms}],
mod_sic => [],mod_stream_management => [],
mod_vcard => [{backend,rdbms},{host,{prefix,<<"vjud.">>}}]}}]
=== Current directory is "/home/circleci/project/big_tests/ct_report/ct_run.test@43f5552376e6.2022-03-04_11.16.18"
=== Started at 2022-03-04 11:24:33
*** User 2022-03-04 11:24:33.935 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<stream:stream to='localhost' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2022-03-04 11:24:33.946 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='d3fb35f9c274d97b' from='localhost' version='1.0' xml:lang='en'>
*** User 2022-03-04 11:24:33.947 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<stream:features>
<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
<compression xmlns='http://jabber.org/features/compress'>
<method>zlib</method>
</compression>
<mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
<mechanism>SCRAM-SHA-256</mechanism>
<mechanism>PLAIN</mechanism>
</mechanisms>
<register xmlns='http://jabber.org/features/iq-register'/>
<amp xmlns='http://jabber.org/feature/amp'/>
<sm xmlns='urn:xmpp:sm:3'/>
</stream:features>
*** User 2022-03-04 11:24:33.947 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>AGFsaWNFX3N0b3BwZWRfbWVtYmVyc19vbmx5X3Jvb21fcHJvY2Vzc19pbnZpdGF0aW9uc19jb3JyZWN0bHlfMTYzNwBtYXR5Z3J5c2E=</auth>
*** User 2022-03-04 11:24:33.948 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
*** User 2022-03-04 11:24:33.949 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<stream:stream to='localhost' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2022-03-04 11:24:33.949 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='7d5906461db1e8a6' from='localhost' version='1.0' xml:lang='en'>
*** User 2022-03-04 11:24:33.949 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<stream:features>
<compression xmlns='http://jabber.org/features/compress'>
<method>zlib</method>
</compression>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
<register xmlns='http://jabber.org/features/iq-register'/>
<amp xmlns='http://jabber.org/feature/amp'/>
<sm xmlns='urn:xmpp:sm:3'/>
</stream:features>
*** User 2022-03-04 11:24:33.949 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<iq type='set' id='7d73acad457a3a2d2d58c0f8b59d92b1'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
<resource>res1</resource>
</bind>
</iq>
*** User 2022-03-04 11:24:33.949 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<iq id='7d73acad457a3a2d2d58c0f8b59d92b1' type='result'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
<jid>alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1</jid>
</bind>
</iq>
*** User 2022-03-04 11:24:33.950 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<iq type='set' id='59db7147959110e03e064032c527cf3b'>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
</iq>
*** User 2022-03-04 11:24:33.950 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<iq type='result' id='59db7147959110e03e064032c527cf3b'>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
</iq>
*** User 2022-03-04 11:24:33.950 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<presence/>
*** User 2022-03-04 11:24:33.952 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<presence from='alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' to='alice_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' xml:lang='en'/>
*** User 2022-03-04 11:24:33.953 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<stream:stream to='localhost' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2022-03-04 11:24:33.954 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='0b7827984216608c' from='localhost' version='1.0' xml:lang='en'>
*** User 2022-03-04 11:24:33.954 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<stream:features>
<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
<compression xmlns='http://jabber.org/features/compress'>
<method>zlib</method>
</compression>
<mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
<mechanism>SCRAM-SHA-256</mechanism>
<mechanism>PLAIN</mechanism>
</mechanisms>
<register xmlns='http://jabber.org/features/iq-register'/>
<amp xmlns='http://jabber.org/feature/amp'/>
<sm xmlns='urn:xmpp:sm:3'/>
</stream:features>
*** User 2022-03-04 11:24:33.954 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>AGJPYl9zdG9wcGVkX21lbWJlcnNfb25seV9yb29tX3Byb2Nlc3NfaW52aXRhdGlvbnNfY29ycmVjdGx5XzE2MzcAbWFrcm9saWth</auth>
*** User 2022-03-04 11:24:33.955 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
*** User 2022-03-04 11:24:33.955 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<stream:stream to='localhost' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2022-03-04 11:24:33.956 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='6a94801160d890af' from='localhost' version='1.0' xml:lang='en'>
*** User 2022-03-04 11:24:33.956 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<stream:features>
<compression xmlns='http://jabber.org/features/compress'>
<method>zlib</method>
</compression>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
<register xmlns='http://jabber.org/features/iq-register'/>
<amp xmlns='http://jabber.org/feature/amp'/>
<sm xmlns='urn:xmpp:sm:3'/>
</stream:features>
*** User 2022-03-04 11:24:33.956 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<iq type='set' id='242406595768c5b26db1cd4dd6a778c3'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
<resource>res1</resource>
</bind>
</iq>
*** User 2022-03-04 11:24:33.956 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<iq id='242406595768c5b26db1cd4dd6a778c3' type='result'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
<jid>bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1</jid>
</bind>
</iq>
*** User 2022-03-04 11:24:33.956 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<iq type='set' id='82849d3c9409c41cec4cb23da2e1ba7f'>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
</iq>
*** User 2022-03-04 11:24:33.957 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<iq type='result' id='82849d3c9409c41cec4cb23da2e1ba7f'>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
</iq>
*** User 2022-03-04 11:24:33.957 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<presence/>
*** User 2022-03-04 11:24:33.958 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<presence from='bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' to='bob_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' xml:lang='en'/>
*** User 2022-03-04 11:24:33.959 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<stream:stream to='localhost' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2022-03-04 11:24:33.959 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='198db656e7dc0584' from='localhost' version='1.0' xml:lang='en'>
*** User 2022-03-04 11:24:33.959 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<stream:features>
<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
<compression xmlns='http://jabber.org/features/compress'>
<method>zlib</method>
</compression>
<mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
<mechanism>SCRAM-SHA-256</mechanism>
<mechanism>PLAIN</mechanism>
</mechanisms>
<register xmlns='http://jabber.org/features/iq-register'/>
<amp xmlns='http://jabber.org/feature/amp'/>
<sm xmlns='urn:xmpp:sm:3'/>
</stream:features>
*** User 2022-03-04 11:24:33.960 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>AGthdGVfc3RvcHBlZF9tZW1iZXJzX29ubHlfcm9vbV9wcm9jZXNzX2ludml0YXRpb25zX2NvcnJlY3RseV8xNjM3AG1ha3Jvd2U7cA==</auth>
*** User 2022-03-04 11:24:33.960 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
*** User 2022-03-04 11:24:33.961 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<stream:stream to='localhost' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
*** User 2022-03-04 11:24:33.961 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='5d688135e627c54e' from='localhost' version='1.0' xml:lang='en'>
*** User 2022-03-04 11:24:33.961 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<stream:features>
<compression xmlns='http://jabber.org/features/compress'>
<method>zlib</method>
</compression>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
<register xmlns='http://jabber.org/features/iq-register'/>
<amp xmlns='http://jabber.org/feature/amp'/>
<sm xmlns='urn:xmpp:sm:3'/>
</stream:features>
*** User 2022-03-04 11:24:33.961 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<iq type='set' id='832a25fae14548ffd452ce535284650e'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
<resource>res1</resource>
</bind>
</iq>
*** User 2022-03-04 11:24:33.961 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<iq id='832a25fae14548ffd452ce535284650e' type='result'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
<jid>kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1</jid>
</bind>
</iq>
*** User 2022-03-04 11:24:33.961 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<iq type='set' id='a3149d0c08e6032d9bdd23f5312b46c3'>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
</iq>
*** User 2022-03-04 11:24:33.962 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<iq type='result' id='a3149d0c08e6032d9bdd23f5312b46c3'>
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
</iq>
*** User 2022-03-04 11:24:33.962 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<presence/>
*** User 2022-03-04 11:24:33.963 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<presence from='kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' to='kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' xml:lang='en'/>
*** User 2022-03-04 11:24:33.963 ***
RoomJID {jid,<<"room-2c4f6f1757">>,<<"muc.localhost">>,<<>>,
<<"room-2c4f6f1757">>,<<"muc.localhost">>,<<>>}
*** User 2022-03-04 11:24:33.963 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<presence to='room-2c4f6f1757@muc.localhost/alicE_stopped_members_only_room_process_invitations_correctly_1637'>
<x xmlns='http://jabber.org/protocol/muc'/>
</presence>
*** User 2022-03-04 11:24:33.964 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<presence from='room-2c4f6f1757@muc.localhost/alicE_stopped_members_only_room_process_invitations_correctly_1637' to='alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' xml:lang='en'>
<x xmlns='http://jabber.org/protocol/muc#user'>
<item jid='alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' affiliation='owner' role='moderator'/>
<status code='110'/>
<status code='201'/>
</x>
</presence>
*** User 2022-03-04 11:24:33.964 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<message from='room-2c4f6f1757@muc.localhost' to='alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' type='groupchat'>
<subject/>
<body/>
</message>
*** User 2022-03-04 11:24:33.965 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<iq type='set' id='bdfe03f60c13647c42723e4028ec8723' to='room-2c4f6f1757@muc.localhost'>
<query xmlns='http://jabber.org/protocol/muc#owner'>
<x xmlns='jabber:x:data' type='submit'>
<field type='hidden' var='FORM_TYPE'>
<value>http://jabber.org/protocol/muc#roomconfig</value>
</field>
<field type='boolean' var='muc#roomconfig_persistentroom'>
<value>1</value>
</field>
<field type='boolean' var='muc#roomconfig_membersonly'>
<value>1</value>
</field>
</x>
</query>
</iq>
*** User 2022-03-04 11:24:33.966 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<iq from='room-2c4f6f1757@muc.localhost' to='alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' id='bdfe03f60c13647c42723e4028ec8723' type='result'>
<query xmlns='http://jabber.org/protocol/muc#owner'/>
</iq>
*** User 2022-03-04 11:24:33.966 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<iq type='set' id='537d44a301b96976576d7e4052292e66' to='room-2c4f6f1757@muc.localhost'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item jid='bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost' affiliation='member'/>
</query>
</iq>
*** User 2022-03-04 11:24:33.969 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<iq from='room-2c4f6f1757@muc.localhost' to='alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' id='537d44a301b96976576d7e4052292e66' type='result'>
<query xmlns='http://jabber.org/protocol/muc#admin'/>
</iq>
*** User 2022-03-04 11:24:33.969 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<message from='room-2c4f6f1757@muc.localhost' to='bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost'>
<x xmlns='http://jabber.org/protocol/muc#user'>
<invite from='alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost'/>
</x>
</message>
*** User 2022-03-04 11:24:33.969 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<presence type='unavailable' to='room-2c4f6f1757@muc.localhost/alicE_stopped_members_only_room_process_invitations_correctly_1637'/>
*** User 2022-03-04 11:24:33.970 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<presence from='room-2c4f6f1757@muc.localhost/alicE_stopped_members_only_room_process_invitations_correctly_1637' to='alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' xml:lang='en' type='unavailable'>
<x xmlns='http://jabber.org/protocol/muc#user'>
<item affiliation='owner' role='none'/>
<status code='110'/>
</x>
</presence>
*** User 2022-03-04 11:24:38.831 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
<iq type='set' id='6188357b51cee73610081f0bd7f3db4d' to='room-2c4f6f1757@muc.localhost'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item jid='kate_stopped_members_only_room_process_invitations_correctly_1637@localhost' affiliation='member'/>
</query>
</iq>
*** User 2022-03-04 11:24:38.837 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<iq from='room-2c4f6f1757@muc.localhost' to='alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1' id='6188357b51cee73610081f0bd7f3db4d' type='result'>
<query xmlns='http://jabber.org/protocol/muc#admin'/>
</iq>
*** User 2022-03-04 11:24:38.837 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
<message from='room-2c4f6f1757@muc.localhost' to='kate_stopped_members_only_room_process_invitations_correctly_1637@localhost'>
<x xmlns='http://jabber.org/protocol/muc#user'>
<invite from='alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost'/>
</x>
</message>
*** User 2022-03-04 11:24:38.838 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
</stream:stream>
*** User 2022-03-04 11:24:38.838 ***
kate_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
</stream:stream>
*** User 2022-03-04 11:24:38.838 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
</stream:stream>
*** User 2022-03-04 11:24:38.838 ***
bOb_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
</stream:stream>
*** User 2022-03-04 11:24:38.838 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 out
</stream:stream>
*** User 2022-03-04 11:24:38.838 ***
alicE_stopped_members_only_room_process_invitations_correctly_1637@localhost/res1 in
</stream:stream>
=== Ended at 2022-03-04 11:24:38
=== successfully completed test case
=== === Returned value: ok