<?xml version="1.0" encoding="UTF-8" ?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
  
      http://www.apache.org/licenses/LICENSE-2.0
    	  
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
  
-->
<library>
	
	<!-- 
	FamFam Icon set
	Creative Commons 3.0
	 -->
	<resource name="warning_icon_rsc" src="resources/error.png" />
    
    <include href="rpcerrorDialog.lzx" />
    <include href="errorPopup.lzx" />
    <include href="messageWin.lzx" />
    <include href="headerMenu.lzx" />
    <include href="confirmationBox.lzx" />
    <include href="editWhiteboardDefault.lzx" />
	<include href="confirmationSingle.lzx" />
    <include href="autoLoader.lzx" />
    <include href="converterPopup.lzx" />
    <include href="errorModeratorPopup.lzx" />
    <include href="syncWin.lzx" />
    <include href="meetingTimer.lzx" />
    <include href="incomingScreenSharing.lzx" />
    <include href="redirectBox.lzx" />
    <include href="chooseNickName.lzx" />
    
</library>
