OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="4066c7b9-f865-4e98-8ceb-5c13d8960c54" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9Ikh5WVBDeDVtZjhSRVkzR291YjFJd2NCSExTSGVKK2k0VHVVR3JYdDYiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzJfMCIscmVhbG09InRlc3QtZCIsbm9uY2U9Ikh5WVBDeDVtZjhSRVkzR291YjFJd2NCSExTSGVKK2k0VHVVR3JYdDYiLG5jPTAwMDAwMDAxLGNub25jZT0iUDJuTFN2azloQnVUTDVCVFZRbS9UMVhkVVBKY3NmQ1QwUzZ6bTRMRCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1iYmEyNWU2MWQ4MDFkMDU2OTViNTExN2UwOGM5OWQwMCxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMl8wIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1hNTUzNzBlNWI4NGE1ODJlZGZiYjRiZjMyNDlhMjJjNA==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="4066c7b9-f865-4e98-8ceb-5c13d8960c54" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_2_0@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_0@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="43401262-467c-4407-966f-35e2c97a95bb" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IkdkWlVIR0ZUNGJ4RzlaQkZrQVNSdFpzTUZXMmRGOWREZVZ5ci9VU0MiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzJfMSIscmVhbG09InRlc3QtZCIsbm9uY2U9IkdkWlVIR0ZUNGJ4RzlaQkZrQVNSdFpzTUZXMmRGOWREZVZ5ci9VU0MiLG5jPTAwMDAwMDAxLGNub25jZT0iNXcxWXZFWWR6VG1pMTlCQXdOMHl6TVJyR1h4dEE0TkZwOXRUTjdISyIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT03OWQ2ZTc0M2M1MmM5MDU4YTg5NGU1NzEzMmU0ZmU2MCxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMl8xIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0xMjYyYjU3MjVmOGEyM2M1ODk5ZmY5ZjI3MzhlYmVkYw==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="43401262-467c-4407-966f-35e2c97a95bb" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_2_1@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_1@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="37e0cfa9-7e7a-4d67-81f5-d8271ba02e05" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IkRhUk1tRlZ4cHFZV0FyQTRQQTBXVzZ3R2xzSGhubXk4OHdOTHZBYVoiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzJfMiIscmVhbG09InRlc3QtZCIsbm9uY2U9IkRhUk1tRlZ4cHFZV0FyQTRQQTBXVzZ3R2xzSGhubXk4OHdOTHZBYVoiLG5jPTAwMDAwMDAxLGNub25jZT0iYzJJbHl1RWpwYlAyQnFDQll3MGlNU3ZHNldtVmVnM2lwVjZJSisvNiIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1mNmU2NzYzMDk3ZjFjZWJjNWZiNGFiY2E0MTNiYWE1MCxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMl8yIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD00ZGM4NTBlYjNmMzUxNTY3OWZmMWQ5NzUxZDY4MDU1NA==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="37e0cfa9-7e7a-4d67-81f5-d8271ba02e05" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_2_2@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="result" id="roster_6"/>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_2@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="a2d96f31-e919-4efe-8e29-3a4d7c15783d" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9ImpZdm5hcER0Mkd3aFZRUDFVVmlrbzc2T01acWJwcmhjdWl1NWVIYVEiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzJfMyIscmVhbG09InRlc3QtZCIsbm9uY2U9ImpZdm5hcER0Mkd3aFZRUDFVVmlrbzc2T01acWJwcmhjdWl1NWVIYVEiLG5jPTAwMDAwMDAxLGNub25jZT0iNktZK2dsT2NrdjlPOEhkcTBkR3FNMVpqZTNrZ29TYm4zbEtJMHZOSSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT03MjI1MDZjNGViYzE2ODQ5YmY1ZDQzMWIxNGNmMjdhOSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMl8zIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1kZjYwMTY1YjU4M2M3NjQ3Yjc1MzZkNmNlODNhZDQ3NA==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="a2d96f31-e919-4efe-8e29-3a4d7c15783d" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_2_3@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_3@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="877028ec-b2c4-4e1f-89d7-ec1f69b53706" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9ImpFWHV2SWJTMFNXcTlVWWM5MEQzNGhvNkFodmk0NytIU3g4alQ1U2wiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzJfNCIscmVhbG09InRlc3QtZCIsbm9uY2U9ImpFWHV2SWJTMFNXcTlVWWM5MEQzNGhvNkFodmk0NytIU3g4alQ1U2wiLG5jPTAwMDAwMDAxLGNub25jZT0idEhXV091aXFKL25xYzdIb0hqek8zRTJxWUUwWWJwUU1SZU8xaW96RCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT04ZWRkOGEyYzE2ZGE1YWJiOGE1ZDcyYzkxMWI5YTUzNSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMl80Ig==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0xMmRhZTRkYWI3MGUwNjdmZWJkZjc4YWQ4ZTUxOGQ4ZA==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="877028ec-b2c4-4e1f-89d7-ec1f69b53706" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_2_4@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_2_4@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="2756c574-fecf-41bd-8e44-5f43980edd19" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InhkeGZ2aER1WkhmZXlUZENtNGM3dmpsMnZEZS9CelB6dFFvSCs3SUYiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzNfMCIscmVhbG09InRlc3QtZCIsbm9uY2U9InhkeGZ2aER1WkhmZXlUZENtNGM3dmpsMnZEZS9CelB6dFFvSCs3SUYiLG5jPTAwMDAwMDAxLGNub25jZT0iZ0NvNm9rNGIvd0gxeUowYVpxTG9pRk5lRDZoeVhneE9ycFl1Ujh1OCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1mZWUxMDZmYjRmNTA2ZDJjYjViNTIwYTA5ODA5MWI0Yixxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfM18wIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1kYmNlYTRmYjM0NWU3ZjU3ZGI3ZTExMWZiMWY1MzU1MA==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="2756c574-fecf-41bd-8e44-5f43980edd19" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_3_0@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_0@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="6d8d7aee-0b8d-435a-9800-c6f3bd822ff5" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9ImppWmVndStOYy9BQXpEZ3BzMGJEbW1LTmt6Z1NlTnU3U2JFMVRJRk0iLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzNfMSIscmVhbG09InRlc3QtZCIsbm9uY2U9ImppWmVndStOYy9BQXpEZ3BzMGJEbW1LTmt6Z1NlTnU3U2JFMVRJRk0iLG5jPTAwMDAwMDAxLGNub25jZT0iVWRPM0NkTS9HRzkybnl6UzMwZisweFFmMjNxdXltd3JVeGZjdkxVSSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT04YzY1MDIyYzdkNzhjOTBmMmY0OWU1NDI4ZmExNmJlMixxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfM18xIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1iOGM3ZWNmYjg1ZTQwOWYxZTZmMjY1NzIyODM5ODcwNA==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="6d8d7aee-0b8d-435a-9800-c6f3bd822ff5" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_3_1@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_1@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="9b479207-71c5-43e4-b0bd-3d6ea073fa59" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9Ii9FMHRBNXBTSHNUNDVjUmhWQzY1eEZWdHVwbU1qVWJrc3g4VzBEMWUiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzNfMiIscmVhbG09InRlc3QtZCIsbm9uY2U9Ii9FMHRBNXBTSHNUNDVjUmhWQzY1eEZWdHVwbU1qVWJrc3g4VzBEMWUiLG5jPTAwMDAwMDAxLGNub25jZT0idXJKZ0hMaWZHVXo3WWFCdlpPZU93YlRnbEZJTVExeVFlQVU1YU1hSyIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0wYjA3MGFjYjQ0ZjIyYTYxNTZjYTI1NDI1ZWZhNzVkZSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfM18yIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0yNTQ5MWUxMTliMWMzNDE2ZTI2ZTA0ZGVlYjBmZWY1NQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="9b479207-71c5-43e4-b0bd-3d6ea073fa59" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_3_2@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_2@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="d03f7df8-f0f8-45e8-9894-f22c04eaaddc" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InV4UTdBR2pvbzBETGczWDRrQ016cG83T3pBdVhiVVF6bVNsRFhTaEUiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzNfMyIscmVhbG09InRlc3QtZCIsbm9uY2U9InV4UTdBR2pvbzBETGczWDRrQ016cG83T3pBdVhiVVF6bVNsRFhTaEUiLG5jPTAwMDAwMDAxLGNub25jZT0iRG5mSVhodWloV2cxcHNTSlNGUFZVTHBoV1ZkZjhvVnFWUzFtamNEKyIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT00YTRlN2I0NjAyYWZjYmQ2MTUxZDJiOTU2NWRhOGUxYSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfM18zIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0zZmU2YTAyZWJiODc3ZjFlM2UzOWFlY2EyZDg5YjE3Mw==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="d03f7df8-f0f8-45e8-9894-f22c04eaaddc" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_3_3@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_3@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="3ce28f94-9da5-4896-8f96-706d3384e697" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IjNicmM4eVlFT0hmK09SQXFJejcybEtobkI2NStUK3Z1WHliOTd0MnciLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzNfNCIscmVhbG09InRlc3QtZCIsbm9uY2U9IjNicmM4eVlFT0hmK09SQXFJejcybEtobkI2NStUK3Z1WHliOTd0MnciLG5jPTAwMDAwMDAxLGNub25jZT0iTFE4VVA3bkx1T1l5cWFSY0I0SmdUZ1pHM3Y4MkhjeTFzYkI0ODhORSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1kOWRkMDUxNDU4ZGFhZmU2OTQ2MDM0NTAxOGRmMGIyOSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfM180Ig==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD01YjhmYTdkNjM5M2YxYTcwZWFlZTcwMGIwYzIzMjZlMA==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="3ce28f94-9da5-4896-8f96-706d3384e697" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_3_4@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="result" id="roster_6"/>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_3_4@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="efe11dda-db05-4374-9310-8c9667a6f922" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9Imh3S2hwcWQwUXFSL2NUL2ZZbW11RVE4QXZQSGcwWnhoOTJPdElDd04iLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzFfMCIscmVhbG09InRlc3QtZCIsbm9uY2U9Imh3S2hwcWQwUXFSL2NUL2ZZbW11RVE4QXZQSGcwWnhoOTJPdElDd04iLG5jPTAwMDAwMDAxLGNub25jZT0iTnRrdVlEU2s0Zzc0c2NUSG9TSm5rY3Y5RWZYM29RZVVlVzh3Z3JITyIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT03MWQ3ZDkxNDg5ODUzOTEwYjcyYjJhZDIxYzU4ZGQwOSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMV8wIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD02NTU3NzMwYTUwZjk3MjE2ODAxNmYxOGEzYzRlNGY0Yg==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="efe11dda-db05-4374-9310-8c9667a6f922" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_1_0@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_0@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="f37943dd-7bab-4d15-80e5-60a50588970e" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9Im01TzlkSHM1eXJiNnk1ZG9wYUpXRkQ0L1cwbkk4WHdCbGxYNlFWL0YiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzFfMSIscmVhbG09InRlc3QtZCIsbm9uY2U9Im01TzlkSHM1eXJiNnk1ZG9wYUpXRkQ0L1cwbkk4WHdCbGxYNlFWL0YiLG5jPTAwMDAwMDAxLGNub25jZT0iZXgxLzBDQndGR240QUg4NWdzTC9oM2tmZUpZdVFmeU5LTmoxMFllYSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1hMzRiOGQ1NzM4YWNhOTRlY2IzNGJkZjliMGJlZDliZCxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMV8xIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0xMGU5Mzk0ODI0ZjFlZDBhYWMyZTcwYjIzN2MwNDc0Ng==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="f37943dd-7bab-4d15-80e5-60a50588970e" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_1_1@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_1@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="fe340f9e-e3c0-4d7a-ba8f-539c0cb3303b" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IjVOSUhSb21jRk9lTUhjN3B6RjNXSjZFSnZEZTVyRHhaZkJQVXpqajUiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzFfMiIscmVhbG09InRlc3QtZCIsbm9uY2U9IjVOSUhSb21jRk9lTUhjN3B6RjNXSjZFSnZEZTVyRHhaZkJQVXpqajUiLG5jPTAwMDAwMDAxLGNub25jZT0iRDVkbDcvZ2hwNGpFQnFUK2dpM3lrYWdJWmd6VGZZbHY1bTZ5VmcraiIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1lZDUxMjU3Y2JlYTI2M2Y0ZDlmY2I5ZjYzOTU1Y2E5ZSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMV8yIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1kMzM4YTA4MzkyZGUyYzU3YjFiMzgwYzQzNDVkYjhmNg==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="fe340f9e-e3c0-4d7a-ba8f-539c0cb3303b" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_1_2@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="result" id="roster_6"/>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_2@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="a6d1799f-7a93-41fe-9cb4-11748f52b876" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InpMd1ZoQ09UeEJyZkkyNitPa2kyU0E0SzhGZ3NvMTNIZTl5Wis2aEYiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzFfMyIscmVhbG09InRlc3QtZCIsbm9uY2U9InpMd1ZoQ09UeEJyZkkyNitPa2kyU0E0SzhGZ3NvMTNIZTl5Wis2aEYiLG5jPTAwMDAwMDAxLGNub25jZT0ic1lvVVZ4Q2dKUmdadmhLSFZLOG90T0lLS2FJNWx1Q0RXTWlhNjhPbCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1hZmY2MWJlOGE5Y2FjMTVhMzdmNTg3ZWJkZWYzYjU0OCxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMV8zIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1iZjE3Yjc2YzVmYzMyMWY4MjAwYmE3MDlhZDk5ZWQyOQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="a6d1799f-7a93-41fe-9cb4-11748f52b876" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_1_3@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="result" id="roster_6"/>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_3@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="1ef2cb87-a58d-4d85-bc87-adad7b587d21" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9Im95ZHNxU2EyMW0yRFU4ZHNTd1ZLRjE1UzBFWlNScEVTaUxCcjdRNGciLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzFfNCIscmVhbG09InRlc3QtZCIsbm9uY2U9Im95ZHNxU2EyMW0yRFU4ZHNTd1ZLRjE1UzBFWlNScEVTaUxCcjdRNGciLG5jPTAwMDAwMDAxLGNub25jZT0iMlR1b3NPaUFWQkRLVDZFL2sxYWRCQ2hiNmx0TVk4clV1WWxuOXRhayIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1hNmJkNTdiZDdmMjdlNzUxZGI0OGNmZWM2ZmNiZTA0Yyxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfMV80Ig==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0xNTc0ODY0M2FmMzkwYWY4NTlmYzZhMWU4NjQyMTllMw==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="1ef2cb87-a58d-4d85-bc87-adad7b587d21" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_1_4@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_1_4@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="b8218d14-dc94-46ae-9fba-76976d9234bb" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IllKU2RlakEvc202RE1EMVliVkVGVFBjNE9YOGRPNDQzb2JHTmdUZ20iLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzVfMCIscmVhbG09InRlc3QtZCIsbm9uY2U9IllKU2RlakEvc202RE1EMVliVkVGVFBjNE9YOGRPNDQzb2JHTmdUZ20iLG5jPTAwMDAwMDAxLGNub25jZT0iQ1h1eUZHcTdBUGNJekFmcFdGU1VlZnJNbFZHN2RKZGg1R2p4QjF3TCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1hYTYzMmVlNWExOTNjNTFlMzE0M2M1ZTQyZDA3ZDhjMCxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNV8wIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0zN2RjYzdkYmMyMDhkOGIwOGZjYjYwNzg1ZWUwNDNkYw==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="b8218d14-dc94-46ae-9fba-76976d9234bb" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_5_0@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_0@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="c7d8cb09-2806-48b1-bee5-f0d47cc0d40d" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IjhJRlU2UDhLcFRYUWkzamR1ZS9yZHN2V1NvVStFTzN0NlpQTVU2aUsiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzVfMSIscmVhbG09InRlc3QtZCIsbm9uY2U9IjhJRlU2UDhLcFRYUWkzamR1ZS9yZHN2V1NvVStFTzN0NlpQTVU2aUsiLG5jPTAwMDAwMDAxLGNub25jZT0ia1N5RDlXbzhjQnpXdFNmaXR4ckgxaVVKclpLUC9odS95S0RQd3d4WSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT02MGI4ZTU2YTFlMjJkMjA5MTk0Mjg3NjVlMzg3YWRhZSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNV8xIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1hNWRjOGQzZjY5ODc5OTUwMTMwZmZkMTY0MWZkMjY1Zg==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="c7d8cb09-2806-48b1-bee5-f0d47cc0d40d" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_5_1@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_1@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="49f094ed-4688-4b98-8482-0176574f0f2b" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9ImRCaUxVR2VQMy8yc0laZjdkaEJZRlltRW4xUlMwcVFLSURGL2RzK04iLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzVfMiIscmVhbG09InRlc3QtZCIsbm9uY2U9ImRCaUxVR2VQMy8yc0laZjdkaEJZRlltRW4xUlMwcVFLSURGL2RzK04iLG5jPTAwMDAwMDAxLGNub25jZT0iY0JyeTNXSDNyUnRTZkwvTzhxZXZSVm4wTkVOeFlaSE5veDJUUUUrYiIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0wZjJjYzQwMDg3NzY3NGEwNzE3OTZjYTUzNDA4NDBkNyxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNV8yIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0yYTkyOTZlMmZiMzBiMWFiODkzMDFmOTliMDNmY2UyZg==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="49f094ed-4688-4b98-8482-0176574f0f2b" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_5_2@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="result" id="roster_6"/>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_2@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="85763e3a-ea45-4191-bf5d-d902f64b36be" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InpiOXVTa0thNVJlQi9OOWZvNnRBSUVpbjRhQjhkWjFRNUdHWno5d24iLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzVfMyIscmVhbG09InRlc3QtZCIsbm9uY2U9InpiOXVTa0thNVJlQi9OOWZvNnRBSUVpbjRhQjhkWjFRNUdHWno5d24iLG5jPTAwMDAwMDAxLGNub25jZT0iTk1vdlBxVFN0YkRva3BUYU0zdU4wa1IwdjBJQmU0RGpkYTF0Z2o1eCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0zMWJmOGJiNDY1OTI0YjQxNmUyY2I5N2E1ZTZiOGM2ZSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNV8zIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1mZWJiOTA4MjI3ZjdmOGNiZmNhOWY5NDA4NWM0YWVkYw==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="85763e3a-ea45-4191-bf5d-d902f64b36be" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_5_3@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_3@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="6ac77ee5-02bd-4baa-a341-763c10b9a0fe" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IlNkaHNOMXNSSFY2c2VITExPVkhKenpFaWpLQTJhZnk1MnhBamhCRmciLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzVfNCIscmVhbG09InRlc3QtZCIsbm9uY2U9IlNkaHNOMXNSSFY2c2VITExPVkhKenpFaWpLQTJhZnk1MnhBamhCRmciLG5jPTAwMDAwMDAxLGNub25jZT0icjd4bVhsVE55ditTZ3MrZEd5TDVEczQ2Smt4NGJWdjlrQ1dNeXMvdCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT01NjVjMDEzMDk1MzZiOWIwZTBlN2UzZDA1YWUyNzQ3ZSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNV80Ig==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0xOWI0NDY5YzU3YjVjZWFhZjA4YzUxN2QwZGI0MmMxYg==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="6ac77ee5-02bd-4baa-a341-763c10b9a0fe" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_5_4@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_5_4@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="ffe19d78-1532-4c2f-8e0e-72be718ab1b2" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InJMQ2hGc1Q4MTNjbE00VnN3RjJ0SEZqbXZmTVpORFdmczhLbDZSOG4iLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzRfMCIscmVhbG09InRlc3QtZCIsbm9uY2U9InJMQ2hGc1Q4MTNjbE00VnN3RjJ0SEZqbXZmTVpORFdmczhLbDZSOG4iLG5jPTAwMDAwMDAxLGNub25jZT0iamNKN0RrTjRGd1RlZnJoTjd3WnJ2UGp5NEpnYmVvVEZXbzBwSW9HVSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1mYmUxMzg1YWM4YTMzYjg5M2EwNTE2NmUyNzgyMDk1NSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNF8wIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1kNDE4N2NlMDE3NDhjNzE3NGY2MDZmMDhjZjIyOGY2NQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="ffe19d78-1532-4c2f-8e0e-72be718ab1b2" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_4_0@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="result" id="roster_6"/>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_0@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="7bf2d9eb-a066-488f-9dcc-9d4537b5a6c2" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9ImhHaFFDZGxxM2VwK2JKVGlLWGFMUjJ2enUyVnFlUVdISGk2VVlobmoiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzRfMSIscmVhbG09InRlc3QtZCIsbm9uY2U9ImhHaFFDZGxxM2VwK2JKVGlLWGFMUjJ2enUyVnFlUVdISGk2VVlobmoiLG5jPTAwMDAwMDAxLGNub25jZT0idXZQY3loZHhqbEozRWQ4WFZtVnB0cVlGTDVuL3VYOHRuQzM3d1NWeCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1hZDgwZjBlZDRkZDBiYTk3Yjk5NzdmZGNjM2EzOTg3Nyxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNF8xIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD01OTRiOTNjYTUwMDQzMDhlNjIwMTViODlmNWY3ZGY1Mw==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="7bf2d9eb-a066-488f-9dcc-9d4537b5a6c2" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_4_1@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_1@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="de04a7c2-c362-4ab9-bb52-8319ecc979b5" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InMvWGhqczRuaS9LTXc3T0dkZnFCWFI0NGlnQ3M0cWl5c0ltcTh5Y1UiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzRfMiIscmVhbG09InRlc3QtZCIsbm9uY2U9InMvWGhqczRuaS9LTXc3T0dkZnFCWFI0NGlnQ3M0cWl5c0ltcTh5Y1UiLG5jPTAwMDAwMDAxLGNub25jZT0iQklwSmp0TG55QXUzdDFocmhpOWxCdDRFMFo1Mm56TzQ4dUVncnNpaSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT00MGRmNmVlNmIwZWNhNjUyZTIzMjczYjkxNDQyNWY4ZCxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNF8yIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD04ODI3ZDc4ZDlhNTBlM2JjMTZmYmQ5Yjc2NzAzYzVmMQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="de04a7c2-c362-4ab9-bb52-8319ecc979b5" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_4_2@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_2@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="940cedc7-b8e5-43e0-a6b7-13112378eafd" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9Ik1xUlFtdk1yTVNhbWRDMkFwS2NVaUJOWVQ2bDVva1V2V0xnSmIzeFciLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzRfMyIscmVhbG09InRlc3QtZCIsbm9uY2U9Ik1xUlFtdk1yTVNhbWRDMkFwS2NVaUJOWVQ2bDVva1V2V0xnSmIzeFciLG5jPTAwMDAwMDAxLGNub25jZT0iVlRlMDRobUdCdWxyS0RrWkdyYzIydVhoSng1VnVQMVhYYVhVemdvWCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1lMzUxYjI0NTYxZDFmYzViYWM2NTQ0OWFkNjFhZjE1YSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNF8zIg==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD05OTVhNjJlNzlmNzYzMDdlYjJlZmM4MGU4YmFiZjdmNQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="940cedc7-b8e5-43e0-a6b7-13112378eafd" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_4_3@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="result" id="roster_6"/>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_3@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="19634ea2-a27a-4db5-aa89-e8ee42f70d33" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IjJWWXhZVk5GUHUzZ2JLNFQveWZmaWJJUTJWNHdJcGxveVZsWUZCaGsiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0ibXVsdGktcmVnXzRfNCIscmVhbG09InRlc3QtZCIsbm9uY2U9IjJWWXhZVk5GUHUzZ2JLNFQveWZmaWJJUTJWNHdJcGxveVZsWUZCaGsiLG5jPTAwMDAwMDAxLGNub25jZT0iT2ZlVjBTdHpJM0trZ2hpTFhlTUpScHhrNzVwczNoNUlqSmFWTm9VNSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0yNjAzZjcyNDc4ODY1ZDExNTNjN2I1NWE2ZjdhOWEyMSxxb3A9YXV0aCxhdXRoemlkPSJtdWx0aS1yZWdfNF80Ig==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0wNmYzMjEzNzQ5NDViMTEyN2RkODBlMTk4NWJlZTUxYQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="19634ea2-a27a-4db5-aa89-e8ee42f70d33" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>multi-reg_4_4@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <iq type="set" id="roster_2"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="result" id="roster_2"/>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="get" id="roster_3"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="result" id="roster_3"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"/></query></iq>
OUTPUT: <iq type="set" id="roster_4"><query xmlns="jabber:iq:roster"><item name="claus" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="result" id="roster_4"/>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="get" id="roster_5"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="result" id="roster_5"><query xmlns="jabber:iq:roster"><item name="claus" subscription="none" jid="santa.claus@north.pole"><group>guests</group></item></query></iq>
OUTPUT: <iq type="set" id="roster_6"><query xmlns="jabber:iq:roster"><item name="claus" subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item subscription="remove" jid="santa.claus@north.pole"/></query></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="result" id="roster_6"/>
OUTPUT: <iq type="get" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="multi-reg_4_4@test-d/def-user-resource" type="result" id="roster_7"><query xmlns="jabber:iq:roster"/></iq>
