<?xml version="1.0"?> 
<!-- Providers file for default Smack extensions -->
<smackProviders> 
    
    <!-- Private Data Storage -->
    <iqProvider> 
        <elementName>query</elementName> 
        <namespace>jabber:iq:private</namespace> 
        <className>org.jivesoftware.smackx.PrivateDataManager$PrivateDataIQProvider</className> 
    </iqProvider>
    
    <!-- Time -->
    <iqProvider> 
        <elementName>query</elementName> 
        <namespace>jabber:iq:time</namespace> 
        <className>org.jivesoftware.smackx.packet.Time</className> 
    </iqProvider>
    
    <!-- Roster Exchange -->
    <extensionProvider>
        <elementName>x</elementName>
        <namespace>jabber:x:roster</namespace>
        <className>org.jivesoftware.smackx.provider.RosterExchangeProvider</className>
    </extensionProvider>
    
    <!-- Message Events -->
    <extensionProvider>
        <elementName>x</elementName>
        <namespace>jabber:x:event</namespace>
        <className>org.jivesoftware.smackx.provider.MessageEventProvider</className>
    </extensionProvider>

    <!-- Chat State -->
    <extensionProvider>
        <elementName>active</elementName>
        <namespace>http://jabber.org/protocol/chatstates</namespace>
        <className>org.jivesoftware.smackx.packet.ChatStateExtension$Provider</className>
    </extensionProvider>

    <extensionProvider>
        <elementName>composing</elementName>
        <namespace>http://jabber.org/protocol/chatstates</namespace>
        <className>org.jivesoftware.smackx.packet.ChatStateExtension$Provider</className>
    </extensionProvider>

    <extensionProvider>
        <elementName>paused</elementName>
        <namespace>http://jabber.org/protocol/chatstates</namespace>
        <className>org.jivesoftware.smackx.packet.ChatStateExtension$Provider</className>
    </extensionProvider>

    <extensionProvider>
        <elementName>inactive</elementName>
        <namespace>http://jabber.org/protocol/chatstates</namespace>
        <className>org.jivesoftware.smackx.packet.ChatStateExtension$Provider</className>
    </extensionProvider>

    <extensionProvider>
        <elementName>gone</elementName>
        <namespace>http://jabber.org/protocol/chatstates</namespace>
        <className>org.jivesoftware.smackx.packet.ChatStateExtension$Provider</className>
    </extensionProvider>
    
    <!-- XHTML -->
    <extensionProvider>
        <elementName>html</elementName>
        <namespace>http://jabber.org/protocol/xhtml-im</namespace>
        <className>org.jivesoftware.smackx.provider.XHTMLExtensionProvider</className>
    </extensionProvider>

    <!-- Group Chat Invitations -->
    <extensionProvider>
        <elementName>x</elementName>
        <namespace>jabber:x:conference</namespace>
        <className>org.jivesoftware.smackx.GroupChatInvitation$Provider</className>
    </extensionProvider>	

    <!-- Service Discovery # Items -->
    <iqProvider> 
        <elementName>query</elementName> 
        <namespace>http://jabber.org/protocol/disco#items</namespace> 
        <className>org.jivesoftware.smackx.provider.DiscoverItemsProvider</className> 
    </iqProvider>

    <!-- Service Discovery # Info -->
    <iqProvider>
        <elementName>query</elementName>
        <namespace>http://jabber.org/protocol/disco#info</namespace>
        <className>org.jivesoftware.smackx.provider.DiscoverInfoProvider</className>
    </iqProvider>

    <!-- Data Forms-->
    <extensionProvider>
        <elementName>x</elementName>
        <namespace>jabber:x:data</namespace>
        <className>org.jivesoftware.smackx.provider.DataFormProvider</className>
    </extensionProvider>

    <!-- MUC User -->
    <extensionProvider>
        <elementName>x</elementName>
        <namespace>http://jabber.org/protocol/muc#user</namespace>
        <className>org.jivesoftware.smackx.provider.MUCUserProvider</className>
    </extensionProvider>

    <!-- MUC Admin -->
    <iqProvider> 
        <elementName>query</elementName> 
        <namespace>http://jabber.org/protocol/muc#admin</namespace> 
        <className>org.jivesoftware.smackx.provider.MUCAdminProvider</className> 
    </iqProvider>

    <!-- MUC Owner -->
    <iqProvider> 
        <elementName>query</elementName> 
        <namespace>http://jabber.org/protocol/muc#owner</namespace> 
        <className>org.jivesoftware.smackx.provider.MUCOwnerProvider</className> 
    </iqProvider>

    <!-- Delayed Delivery -->
    <extensionProvider>
        <elementName>x</elementName>
        <namespace>jabber:x:delay</namespace>
        <className>org.jivesoftware.smackx.provider.DelayInformationProvider</className>
    </extensionProvider>
    
    <!-- Version -->
    <iqProvider>
        <elementName>query</elementName>
        <namespace>jabber:iq:version</namespace>
        <className>org.jivesoftware.smackx.packet.Version</className> 
    </iqProvider>

    <!-- VCard -->
    <iqProvider>
        <elementName>vCard</elementName>
        <namespace>vcard-temp</namespace>
        <className>org.jivesoftware.smackx.provider.VCardProvider</className> 
    </iqProvider>

    <!-- Offline Message Requests -->
    <iqProvider>
        <elementName>offline</elementName>
        <namespace>http://jabber.org/protocol/offline</namespace>
        <className>org.jivesoftware.smackx.packet.OfflineMessageRequest$Provider</className>
    </iqProvider>

    <!-- Offline Message Indicator -->
    <extensionProvider>
        <elementName>offline</elementName>
        <namespace>http://jabber.org/protocol/offline</namespace>
        <className>org.jivesoftware.smackx.packet.OfflineMessageInfo$Provider</className>
    </extensionProvider>

     <!-- Last Activity -->
    <iqProvider>
        <elementName>query</elementName>
        <namespace>jabber:iq:last</namespace>
        <className>org.jivesoftware.smackx.packet.LastActivity$Provider</className> 
    </iqProvider>

    <!-- User Search -->
    <iqProvider>
        <elementName>query</elementName>
        <namespace>jabber:iq:search</namespace>
        <className>org.jivesoftware.smackx.search.UserSearch$Provider</className>
    </iqProvider>

    <!-- SharedGroupsInfo -->
    <iqProvider>
        <elementName>sharedgroup</elementName>
        <namespace>http://www.jivesoftware.org/protocol/sharedgroup</namespace>
        <className>org.jivesoftware.smackx.packet.SharedGroupsInfo$Provider</className>
    </iqProvider>

    <!-- JEP-33: Extended Stanza Addressing -->
    <extensionProvider>
        <elementName>addresses</elementName>
        <namespace>http://jabber.org/protocol/address</namespace>
        <className>org.jivesoftware.smackx.provider.MultipleAddressesProvider</className>
    </extensionProvider>

        <!-- FileTransfer -->
    <iqProvider>
    	<elementName>si</elementName>
    	<namespace>http://jabber.org/protocol/si</namespace>
    	<className>org.jivesoftware.smackx.provider.StreamInitiationProvider</className>
    </iqProvider>

    <iqProvider>
    	<elementName>query</elementName>
    	<namespace>http://jabber.org/protocol/bytestreams</namespace>
    	<className>org.jivesoftware.smackx.provider.BytestreamsProvider</className>
    </iqProvider>

    <iqProvider>
    	<elementName>open</elementName>
    	<namespace>http://jabber.org/protocol/ibb</namespace>
    	<className>org.jivesoftware.smackx.provider.IBBProviders$Open</className>
    </iqProvider>

    <iqProvider>
    	<elementName>close</elementName>
    	<namespace>http://jabber.org/protocol/ibb</namespace>
    	<className>org.jivesoftware.smackx.provider.IBBProviders$Close</className>
    </iqProvider>
    
    <extensionProvider>
        <elementName>data</elementName>
        <namespace>http://jabber.org/protocol/ibb</namespace>
        <className>org.jivesoftware.smackx.provider.IBBProviders$Data</className>
    </extensionProvider>

    <!-- Privacy -->
    <iqProvider>
        <elementName>query</elementName>
        <namespace>jabber:iq:privacy</namespace>
        <className>org.jivesoftware.smack.provider.PrivacyProvider</className>
    </iqProvider>

</smackProviders>