//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.5-b10 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2012.03.24 at 06:20:02 PM BRT 
//


package com.l2jserver.model.template;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import com.l2jserver.model.id.template.ItemTemplateID;
import com.l2jserver.model.id.template.NPCTemplateID;
import com.l2jserver.model.id.template.SkillTemplateID;
import com.l2jserver.model.template.actor.ActorSex;
import com.l2jserver.model.template.npc.NPCRace;
import com.l2jserver.util.jaxb.ActorSexAdapter;
import com.l2jserver.util.jaxb.ClassAdapter;
import com.l2jserver.util.jaxb.ItemTemplateIDAdapter;
import com.l2jserver.util.jaxb.NPCRaceAdapter;
import com.l2jserver.util.jaxb.NPCTemplateIDAdapter;
import com.l2jserver.util.jaxb.SkillTemplateIDAdapter;


/**
 * <p>Java class for npc element declaration.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;element name="npc">
 *   &lt;complexType>
 *     &lt;complexContent>
 *       &lt;extension base="{}ActorTemplate">
 *         &lt;sequence>
 *           &lt;element name="info">
 *             &lt;complexType>
 *               &lt;complexContent>
 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                   &lt;sequence>
 *                     &lt;element name="name" minOccurs="0">
 *                       &lt;complexType>
 *                         &lt;simpleContent>
 *                           &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
 *                             &lt;attribute name="send" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 *                             &lt;attribute name="display" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 *                           &lt;/extension>
 *                         &lt;/simpleContent>
 *                       &lt;/complexType>
 *                     &lt;/element>
 *                     &lt;element name="title" minOccurs="0">
 *                       &lt;complexType>
 *                         &lt;simpleContent>
 *                           &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
 *                             &lt;attribute name="send" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 *                           &lt;/extension>
 *                         &lt;/simpleContent>
 *                       &lt;/complexType>
 *                     &lt;/element>
 *                     &lt;element name="level" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *                     &lt;element name="race" type="{http://schemas.l2jserver2.com/npc}NPCRace" minOccurs="0"/>
 *                     &lt;element name="sex" type="{}ActorSexType" minOccurs="0"/>
 *                     &lt;element name="stats">
 *                       &lt;complexType>
 *                         &lt;complexContent>
 *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                             &lt;sequence>
 *                               &lt;element name="hp">
 *                                 &lt;complexType>
 *                                   &lt;complexContent>
 *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                       &lt;sequence>
 *                                       &lt;/sequence>
 *                                       &lt;attribute name="max" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                                       &lt;attribute name="regen" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                                     &lt;/restriction>
 *                                   &lt;/complexContent>
 *                                 &lt;/complexType>
 *                               &lt;/element>
 *                               &lt;element name="mp">
 *                                 &lt;complexType>
 *                                   &lt;complexContent>
 *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                       &lt;sequence>
 *                                       &lt;/sequence>
 *                                       &lt;attribute name="max" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                                       &lt;attribute name="regen" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                                     &lt;/restriction>
 *                                   &lt;/complexContent>
 *                                 &lt;/complexType>
 *                               &lt;/element>
 *                               &lt;element name="attack" minOccurs="0">
 *                                 &lt;complexType>
 *                                   &lt;complexContent>
 *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                       &lt;sequence>
 *                                         &lt;element name="physical">
 *                                           &lt;complexType>
 *                                             &lt;complexContent>
 *                                               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                                 &lt;sequence>
 *                                                 &lt;/sequence>
 *                                                 &lt;attribute name="damage" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                                                 &lt;attribute name="speed" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                                               &lt;/restriction>
 *                                             &lt;/complexContent>
 *                                           &lt;/complexType>
 *                                         &lt;/element>
 *                                         &lt;element name="magical">
 *                                           &lt;complexType>
 *                                             &lt;complexContent>
 *                                               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                                 &lt;sequence>
 *                                                 &lt;/sequence>
 *                                                 &lt;attribute name="damage" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                                                 &lt;attribute name="speed" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                                               &lt;/restriction>
 *                                             &lt;/complexContent>
 *                                           &lt;/complexType>
 *                                         &lt;/element>
 *                                       &lt;/sequence>
 *                                       &lt;attribute name="range" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                                       &lt;attribute name="evasion" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                                       &lt;attribute name="critical" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                                     &lt;/restriction>
 *                                   &lt;/complexContent>
 *                                 &lt;/complexType>
 *                               &lt;/element>
 *                               &lt;element name="defense" minOccurs="0">
 *                                 &lt;complexType>
 *                                   &lt;complexContent>
 *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                       &lt;sequence>
 *                                         &lt;element name="physical">
 *                                           &lt;complexType>
 *                                             &lt;complexContent>
 *                                               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                                 &lt;sequence>
 *                                                 &lt;/sequence>
 *                                                 &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                                               &lt;/restriction>
 *                                             &lt;/complexContent>
 *                                           &lt;/complexType>
 *                                         &lt;/element>
 *                                         &lt;element name="magical">
 *                                           &lt;complexType>
 *                                             &lt;complexContent>
 *                                               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                                 &lt;sequence>
 *                                                 &lt;/sequence>
 *                                                 &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                                               &lt;/restriction>
 *                                             &lt;/complexContent>
 *                                           &lt;/complexType>
 *                                         &lt;/element>
 *                                       &lt;/sequence>
 *                                     &lt;/restriction>
 *                                   &lt;/complexContent>
 *                                 &lt;/complexType>
 *                               &lt;/element>
 *                               &lt;element name="move" minOccurs="0">
 *                                 &lt;complexType>
 *                                   &lt;complexContent>
 *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                       &lt;sequence>
 *                                       &lt;/sequence>
 *                                       &lt;attribute name="run" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                                       &lt;attribute name="walk" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                                     &lt;/restriction>
 *                                   &lt;/complexContent>
 *                                 &lt;/complexType>
 *                               &lt;/element>
 *                               &lt;element name="base">
 *                                 &lt;complexType>
 *                                   &lt;complexContent>
 *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                       &lt;sequence>
 *                                       &lt;/sequence>
 *                                       &lt;attribute name="int" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                                       &lt;attribute name="str" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                                       &lt;attribute name="con" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                                       &lt;attribute name="men" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                                       &lt;attribute name="dex" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                                       &lt;attribute name="wit" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                                     &lt;/restriction>
 *                                   &lt;/complexContent>
 *                                 &lt;/complexType>
 *                               &lt;/element>
 *                             &lt;/sequence>
 *                           &lt;/restriction>
 *                         &lt;/complexContent>
 *                       &lt;/complexType>
 *                     &lt;/element>
 *                     &lt;element name="experience" type="{http://www.w3.org/2001/XMLSchema}long"/>
 *                     &lt;element name="sp" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *                     &lt;element name="item" minOccurs="0">
 *                       &lt;complexType>
 *                         &lt;complexContent>
 *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                             &lt;sequence>
 *                             &lt;/sequence>
 *                             &lt;attribute name="rightHand" type="{http://schemas.l2jserver2.com/item}ItemTemplateID" />
 *                             &lt;attribute name="leftHand" type="{http://schemas.l2jserver2.com/item}ItemTemplateID" />
 *                           &lt;/restriction>
 *                         &lt;/complexContent>
 *                       &lt;/complexType>
 *                     &lt;/element>
 *                     &lt;element name="collision" minOccurs="0">
 *                       &lt;complexType>
 *                         &lt;complexContent>
 *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                             &lt;sequence>
 *                             &lt;/sequence>
 *                             &lt;attribute name="radius" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                             &lt;attribute name="heigth" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                           &lt;/restriction>
 *                         &lt;/complexContent>
 *                       &lt;/complexType>
 *                     &lt;/element>
 *                   &lt;/sequence>
 *                   &lt;attribute name="attackable" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 *                   &lt;attribute name="targetable" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 *                   &lt;attribute name="aggressive" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 *                 &lt;/restriction>
 *               &lt;/complexContent>
 *             &lt;/complexType>
 *           &lt;/element>
 *           &lt;element name="ai" minOccurs="0">
 *             &lt;complexType>
 *               &lt;complexContent>
 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                   &lt;sequence>
 *                   &lt;/sequence>
 *                   &lt;attribute name="script" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                 &lt;/restriction>
 *               &lt;/complexContent>
 *             &lt;/complexType>
 *           &lt;/element>
 *           &lt;element name="talk" minOccurs="0">
 *             &lt;complexType>
 *               &lt;complexContent>
 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                   &lt;sequence>
 *                     &lt;element name="chat" maxOccurs="unbounded">
 *                       &lt;complexType>
 *                         &lt;simpleContent>
 *                           &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
 *                             &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                           &lt;/extension>
 *                         &lt;/simpleContent>
 *                       &lt;/complexType>
 *                     &lt;/element>
 *                   &lt;/sequence>
 *                   &lt;attribute name="default" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                 &lt;/restriction>
 *               &lt;/complexContent>
 *             &lt;/complexType>
 *           &lt;/element>
 *           &lt;element name="droplist" minOccurs="0">
 *             &lt;complexType>
 *               &lt;complexContent>
 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                   &lt;sequence>
 *                     &lt;element name="item" maxOccurs="unbounded">
 *                       &lt;complexType>
 *                         &lt;complexContent>
 *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                             &lt;sequence>
 *                             &lt;/sequence>
 *                             &lt;attribute name="id" use="required" type="{http://schemas.l2jserver2.com/item}ItemTemplateID" />
 *                             &lt;attribute name="min" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                             &lt;attribute name="max" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                             &lt;attribute name="category" use="required">
 *                               &lt;simpleType>
 *                                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *                                   &lt;enumeration value="DROP"/>
 *                                   &lt;enumeration value="SPOIL"/>
 *                                   &lt;enumeration value="UNK_1"/>
 *                                   &lt;enumeration value="UNK_2"/>
 *                                   &lt;enumeration value="UNK_3"/>
 *                                   &lt;enumeration value="UNK_4"/>
 *                                   &lt;enumeration value="UNK_5"/>
 *                                   &lt;enumeration value="UNK_6"/>
 *                                   &lt;enumeration value="UNK_7"/>
 *                                   &lt;enumeration value="UNK_8"/>
 *                                   &lt;enumeration value="UNK_9"/>
 *                                   &lt;enumeration value="UNK_10"/>
 *                                   &lt;enumeration value="UNK_11"/>
 *                                   &lt;enumeration value="UNK_12"/>
 *                                   &lt;enumeration value="UNK_13"/>
 *                                   &lt;enumeration value="UNK_14"/>
 *                                   &lt;enumeration value="UNK_15"/>
 *                                   &lt;enumeration value="UNK_16"/>
 *                                   &lt;enumeration value="UNK_17"/>
 *                                   &lt;enumeration value="UNK_18"/>
 *                                   &lt;enumeration value="UNK_19"/>
 *                                   &lt;enumeration value="UNK_20"/>
 *                                   &lt;enumeration value="UNK_21"/>
 *                                   &lt;enumeration value="UNK_22"/>
 *                                   &lt;enumeration value="UNK_23"/>
 *                                   &lt;enumeration value="UNK_24"/>
 *                                   &lt;enumeration value="UNK_25"/>
 *                                   &lt;enumeration value="UNK_26"/>
 *                                   &lt;enumeration value="UNK_27"/>
 *                                   &lt;enumeration value="UNK_28"/>
 *                                   &lt;enumeration value="UNK_29"/>
 *                                   &lt;enumeration value="UNK_30"/>
 *                                   &lt;enumeration value="UNK_31"/>
 *                                   &lt;enumeration value="UNK_32"/>
 *                                   &lt;enumeration value="UNK_33"/>
 *                                   &lt;enumeration value="UNK_34"/>
 *                                   &lt;enumeration value="UNK_35"/>
 *                                   &lt;enumeration value="UNK_36"/>
 *                                   &lt;enumeration value="UNK_100"/>
 *                                   &lt;enumeration value="UNK_101"/>
 *                                   &lt;enumeration value="UNK_102"/>
 *                                   &lt;enumeration value="UNK_200"/>
 *                                 &lt;/restriction>
 *                               &lt;/simpleType>
 *                             &lt;/attribute>
 *                             &lt;attribute name="chance" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                           &lt;/restriction>
 *                         &lt;/complexContent>
 *                       &lt;/complexType>
 *                     &lt;/element>
 *                   &lt;/sequence>
 *                 &lt;/restriction>
 *               &lt;/complexContent>
 *             &lt;/complexType>
 *           &lt;/element>
 *           &lt;element name="skills" minOccurs="0">
 *             &lt;complexType>
 *               &lt;complexContent>
 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                   &lt;sequence>
 *                     &lt;element name="skill" maxOccurs="unbounded">
 *                       &lt;complexType>
 *                         &lt;complexContent>
 *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                             &lt;sequence>
 *                             &lt;/sequence>
 *                             &lt;attribute name="id" use="required" type="{http://schemas.l2jserver2.com/skill}SkillTemplateID" />
 *                             &lt;attribute name="level" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 *                           &lt;/restriction>
 *                         &lt;/complexContent>
 *                       &lt;/complexType>
 *                     &lt;/element>
 *                   &lt;/sequence>
 *                 &lt;/restriction>
 *               &lt;/complexContent>
 *             &lt;/complexType>
 *           &lt;/element>
 *         &lt;/sequence>
 *         &lt;attribute name="id" use="required" type="{http://schemas.l2jserver2.com/npc}NPCTemplateID" />
 *         &lt;attribute name="controller" use="required">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/attribute>
 *       &lt;/extension>
 *     &lt;/complexContent>
 *   &lt;/complexType>
 * &lt;/element>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "info",
    "ai",
    "talk",
    "droplist",
    "skills"
})
@XmlRootElement(name = "npc", namespace = "http://schemas.l2jserver2.com/npc")
public class NPCTemplate
    extends ActorTemplate
{

    @XmlElement(required = true)
    protected NPCTemplate.Info info;
    protected NPCTemplate.Ai ai;
    protected NPCTemplate.Talk talk;
    protected NPCTemplate.Droplist droplist;
    protected NPCTemplate.Skills skills;
    @XmlAttribute(name = "id", required = true)
    @XmlJavaTypeAdapter(NPCTemplateIDAdapter.class)
    protected NPCTemplateID id;
    @XmlAttribute(name = "controller", required = true)
    @XmlJavaTypeAdapter(ClassAdapter.class)
    protected Class controller;

    /**
     * Gets the value of the info property.
     * 
     * @return
     *     possible object is
     *     {@link NPCTemplate.Info }
     *     
     */
    public NPCTemplate.Info getInfo() {
        return info;
    }

    /**
     * Sets the value of the info property.
     * 
     * @param value
     *     allowed object is
     *     {@link NPCTemplate.Info }
     *     
     */
    public void setInfo(NPCTemplate.Info value) {
        this.info = value;
    }

    /**
     * Gets the value of the ai property.
     * 
     * @return
     *     possible object is
     *     {@link NPCTemplate.Ai }
     *     
     */
    public NPCTemplate.Ai getAi() {
        return ai;
    }

    /**
     * Sets the value of the ai property.
     * 
     * @param value
     *     allowed object is
     *     {@link NPCTemplate.Ai }
     *     
     */
    public void setAi(NPCTemplate.Ai value) {
        this.ai = value;
    }

    /**
     * Gets the value of the talk property.
     * 
     * @return
     *     possible object is
     *     {@link NPCTemplate.Talk }
     *     
     */
    public NPCTemplate.Talk getTalk() {
        return talk;
    }

    /**
     * Sets the value of the talk property.
     * 
     * @param value
     *     allowed object is
     *     {@link NPCTemplate.Talk }
     *     
     */
    public void setTalk(NPCTemplate.Talk value) {
        this.talk = value;
    }

    /**
     * Gets the value of the droplist property.
     * 
     * @return
     *     possible object is
     *     {@link NPCTemplate.Droplist }
     *     
     */
    public NPCTemplate.Droplist getDroplist() {
        return droplist;
    }

    /**
     * Sets the value of the droplist property.
     * 
     * @param value
     *     allowed object is
     *     {@link NPCTemplate.Droplist }
     *     
     */
    public void setDroplist(NPCTemplate.Droplist value) {
        this.droplist = value;
    }

    /**
     * Gets the value of the skills property.
     * 
     * @return
     *     possible object is
     *     {@link NPCTemplate.Skills }
     *     
     */
    public NPCTemplate.Skills getSkills() {
        return skills;
    }

    /**
     * Sets the value of the skills property.
     * 
     * @param value
     *     allowed object is
     *     {@link NPCTemplate.Skills }
     *     
     */
    public void setSkills(NPCTemplate.Skills value) {
        this.skills = value;
    }

    /**
     * Gets the value of the id property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public NPCTemplateID getID() {
        return id;
    }

    /**
     * Sets the value of the id property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setID(NPCTemplateID value) {
        this.id = value;
    }

    /**
     * Gets the value of the controller property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Class getController() {
        return controller;
    }

    /**
     * Sets the value of the controller property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setController(Class value) {
        this.controller = value;
    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *       &lt;/sequence>
     *       &lt;attribute name="script" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class Ai {

        @XmlAttribute(name = "script", required = true)
        protected String script;

        /**
         * Gets the value of the script property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public String getScript() {
            return script;
        }

        /**
         * Sets the value of the script property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setScript(String value) {
            this.script = value;
        }

    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="item" maxOccurs="unbounded">
     *           &lt;complexType>
     *             &lt;complexContent>
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                 &lt;sequence>
     *                 &lt;/sequence>
     *                 &lt;attribute name="id" use="required" type="{http://schemas.l2jserver2.com/item}ItemTemplateID" />
     *                 &lt;attribute name="min" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *                 &lt;attribute name="max" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *                 &lt;attribute name="category" use="required">
     *                   &lt;simpleType>
     *                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
     *                       &lt;enumeration value="DROP"/>
     *                       &lt;enumeration value="SPOIL"/>
     *                       &lt;enumeration value="UNK_1"/>
     *                       &lt;enumeration value="UNK_2"/>
     *                       &lt;enumeration value="UNK_3"/>
     *                       &lt;enumeration value="UNK_4"/>
     *                       &lt;enumeration value="UNK_5"/>
     *                       &lt;enumeration value="UNK_6"/>
     *                       &lt;enumeration value="UNK_7"/>
     *                       &lt;enumeration value="UNK_8"/>
     *                       &lt;enumeration value="UNK_9"/>
     *                       &lt;enumeration value="UNK_10"/>
     *                       &lt;enumeration value="UNK_11"/>
     *                       &lt;enumeration value="UNK_12"/>
     *                       &lt;enumeration value="UNK_13"/>
     *                       &lt;enumeration value="UNK_14"/>
     *                       &lt;enumeration value="UNK_15"/>
     *                       &lt;enumeration value="UNK_16"/>
     *                       &lt;enumeration value="UNK_17"/>
     *                       &lt;enumeration value="UNK_18"/>
     *                       &lt;enumeration value="UNK_19"/>
     *                       &lt;enumeration value="UNK_20"/>
     *                       &lt;enumeration value="UNK_21"/>
     *                       &lt;enumeration value="UNK_22"/>
     *                       &lt;enumeration value="UNK_23"/>
     *                       &lt;enumeration value="UNK_24"/>
     *                       &lt;enumeration value="UNK_25"/>
     *                       &lt;enumeration value="UNK_26"/>
     *                       &lt;enumeration value="UNK_27"/>
     *                       &lt;enumeration value="UNK_28"/>
     *                       &lt;enumeration value="UNK_29"/>
     *                       &lt;enumeration value="UNK_30"/>
     *                       &lt;enumeration value="UNK_31"/>
     *                       &lt;enumeration value="UNK_32"/>
     *                       &lt;enumeration value="UNK_33"/>
     *                       &lt;enumeration value="UNK_34"/>
     *                       &lt;enumeration value="UNK_35"/>
     *                       &lt;enumeration value="UNK_36"/>
     *                       &lt;enumeration value="UNK_100"/>
     *                       &lt;enumeration value="UNK_101"/>
     *                       &lt;enumeration value="UNK_102"/>
     *                       &lt;enumeration value="UNK_200"/>
     *                     &lt;/restriction>
     *                   &lt;/simpleType>
     *                 &lt;/attribute>
     *                 &lt;attribute name="chance" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *               &lt;/restriction>
     *             &lt;/complexContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *       &lt;/sequence>
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "item"
    })
    public static class Droplist {

        @XmlElement(required = true)
        protected List<NPCTemplate.Droplist.Item> item;

        /**
         * Gets the value of the item property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the item property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getItem().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link NPCTemplate.Droplist.Item }
         * 
         * 
         */
        public List<NPCTemplate.Droplist.Item> getItem() {
            if (item == null) {
                item = new ArrayList<NPCTemplate.Droplist.Item>();
            }
            return this.item;
        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType>
         *   &lt;complexContent>
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *       &lt;sequence>
         *       &lt;/sequence>
         *       &lt;attribute name="id" use="required" type="{http://schemas.l2jserver2.com/item}ItemTemplateID" />
         *       &lt;attribute name="min" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *       &lt;attribute name="max" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *       &lt;attribute name="category" use="required">
         *         &lt;simpleType>
         *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
         *             &lt;enumeration value="DROP"/>
         *             &lt;enumeration value="SPOIL"/>
         *             &lt;enumeration value="UNK_1"/>
         *             &lt;enumeration value="UNK_2"/>
         *             &lt;enumeration value="UNK_3"/>
         *             &lt;enumeration value="UNK_4"/>
         *             &lt;enumeration value="UNK_5"/>
         *             &lt;enumeration value="UNK_6"/>
         *             &lt;enumeration value="UNK_7"/>
         *             &lt;enumeration value="UNK_8"/>
         *             &lt;enumeration value="UNK_9"/>
         *             &lt;enumeration value="UNK_10"/>
         *             &lt;enumeration value="UNK_11"/>
         *             &lt;enumeration value="UNK_12"/>
         *             &lt;enumeration value="UNK_13"/>
         *             &lt;enumeration value="UNK_14"/>
         *             &lt;enumeration value="UNK_15"/>
         *             &lt;enumeration value="UNK_16"/>
         *             &lt;enumeration value="UNK_17"/>
         *             &lt;enumeration value="UNK_18"/>
         *             &lt;enumeration value="UNK_19"/>
         *             &lt;enumeration value="UNK_20"/>
         *             &lt;enumeration value="UNK_21"/>
         *             &lt;enumeration value="UNK_22"/>
         *             &lt;enumeration value="UNK_23"/>
         *             &lt;enumeration value="UNK_24"/>
         *             &lt;enumeration value="UNK_25"/>
         *             &lt;enumeration value="UNK_26"/>
         *             &lt;enumeration value="UNK_27"/>
         *             &lt;enumeration value="UNK_28"/>
         *             &lt;enumeration value="UNK_29"/>
         *             &lt;enumeration value="UNK_30"/>
         *             &lt;enumeration value="UNK_31"/>
         *             &lt;enumeration value="UNK_32"/>
         *             &lt;enumeration value="UNK_33"/>
         *             &lt;enumeration value="UNK_34"/>
         *             &lt;enumeration value="UNK_35"/>
         *             &lt;enumeration value="UNK_36"/>
         *             &lt;enumeration value="UNK_100"/>
         *             &lt;enumeration value="UNK_101"/>
         *             &lt;enumeration value="UNK_102"/>
         *             &lt;enumeration value="UNK_200"/>
         *           &lt;/restriction>
         *         &lt;/simpleType>
         *       &lt;/attribute>
         *       &lt;attribute name="chance" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *     &lt;/restriction>
         *   &lt;/complexContent>
         * &lt;/complexType>
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "")
        public static class Item {

            @XmlAttribute(name = "id", required = true)
            @XmlJavaTypeAdapter(ItemTemplateIDAdapter.class)
            protected ItemTemplateID id;
            @XmlAttribute(name = "min", required = true)
            protected int min;
            @XmlAttribute(name = "max", required = true)
            protected int max;
            @XmlAttribute(name = "category", required = true)
            protected NPCTemplate.Droplist.Item.DropCategory category;
            @XmlAttribute(name = "chance", required = true)
            protected int chance;

            /**
             * Gets the value of the id property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public ItemTemplateID getId() {
                return id;
            }

            /**
             * Sets the value of the id property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setId(ItemTemplateID value) {
                this.id = value;
            }

            /**
             * Gets the value of the min property.
             * 
             */
            public int getMin() {
                return min;
            }

            /**
             * Sets the value of the min property.
             * 
             */
            public void setMin(int value) {
                this.min = value;
            }

            /**
             * Gets the value of the max property.
             * 
             */
            public int getMax() {
                return max;
            }

            /**
             * Sets the value of the max property.
             * 
             */
            public void setMax(int value) {
                this.max = value;
            }

            /**
             * Gets the value of the category property.
             * 
             * @return
             *     possible object is
             *     {@link NPCTemplate.Droplist.Item.DropCategory }
             *     
             */
            public NPCTemplate.Droplist.Item.DropCategory getCategory() {
                return category;
            }

            /**
             * Sets the value of the category property.
             * 
             * @param value
             *     allowed object is
             *     {@link NPCTemplate.Droplist.Item.DropCategory }
             *     
             */
            public void setCategory(NPCTemplate.Droplist.Item.DropCategory value) {
                this.category = value;
            }

            /**
             * Gets the value of the chance property.
             * 
             */
            public int getChance() {
                return chance;
            }

            /**
             * Sets the value of the chance property.
             * 
             */
            public void setChance(int value) {
                this.chance = value;
            }


            /**
             * <p>Java class for null.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * <p>
             * <pre>
             * &lt;simpleType>
             *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
             *     &lt;enumeration value="DROP"/>
             *     &lt;enumeration value="SPOIL"/>
             *     &lt;enumeration value="UNK_1"/>
             *     &lt;enumeration value="UNK_2"/>
             *     &lt;enumeration value="UNK_3"/>
             *     &lt;enumeration value="UNK_4"/>
             *     &lt;enumeration value="UNK_5"/>
             *     &lt;enumeration value="UNK_6"/>
             *     &lt;enumeration value="UNK_7"/>
             *     &lt;enumeration value="UNK_8"/>
             *     &lt;enumeration value="UNK_9"/>
             *     &lt;enumeration value="UNK_10"/>
             *     &lt;enumeration value="UNK_11"/>
             *     &lt;enumeration value="UNK_12"/>
             *     &lt;enumeration value="UNK_13"/>
             *     &lt;enumeration value="UNK_14"/>
             *     &lt;enumeration value="UNK_15"/>
             *     &lt;enumeration value="UNK_16"/>
             *     &lt;enumeration value="UNK_17"/>
             *     &lt;enumeration value="UNK_18"/>
             *     &lt;enumeration value="UNK_19"/>
             *     &lt;enumeration value="UNK_20"/>
             *     &lt;enumeration value="UNK_21"/>
             *     &lt;enumeration value="UNK_22"/>
             *     &lt;enumeration value="UNK_23"/>
             *     &lt;enumeration value="UNK_24"/>
             *     &lt;enumeration value="UNK_25"/>
             *     &lt;enumeration value="UNK_26"/>
             *     &lt;enumeration value="UNK_27"/>
             *     &lt;enumeration value="UNK_28"/>
             *     &lt;enumeration value="UNK_29"/>
             *     &lt;enumeration value="UNK_30"/>
             *     &lt;enumeration value="UNK_31"/>
             *     &lt;enumeration value="UNK_32"/>
             *     &lt;enumeration value="UNK_33"/>
             *     &lt;enumeration value="UNK_34"/>
             *     &lt;enumeration value="UNK_35"/>
             *     &lt;enumeration value="UNK_36"/>
             *     &lt;enumeration value="UNK_100"/>
             *     &lt;enumeration value="UNK_101"/>
             *     &lt;enumeration value="UNK_102"/>
             *     &lt;enumeration value="UNK_200"/>
             *   &lt;/restriction>
             * &lt;/simpleType>
             * </pre>
             * 
             */
            @XmlType(name = "")
            @XmlEnum
            public enum DropCategory {

                DROP,
                SPOIL,
                UNK_1,
                UNK_2,
                UNK_3,
                UNK_4,
                UNK_5,
                UNK_6,
                UNK_7,
                UNK_8,
                UNK_9,
                UNK_10,
                UNK_11,
                UNK_12,
                UNK_13,
                UNK_14,
                UNK_15,
                UNK_16,
                UNK_17,
                UNK_18,
                UNK_19,
                UNK_20,
                UNK_21,
                UNK_22,
                UNK_23,
                UNK_24,
                UNK_25,
                UNK_26,
                UNK_27,
                UNK_28,
                UNK_29,
                UNK_30,
                UNK_31,
                UNK_32,
                UNK_33,
                UNK_34,
                UNK_35,
                UNK_36,
                UNK_100,
                UNK_101,
                UNK_102,
                UNK_200;

                public String value() {
                    return name();
                }

                public static NPCTemplate.Droplist.Item.DropCategory fromValue(String v) {
                    return valueOf(v);
                }

            }

        }

    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="name" minOccurs="0">
     *           &lt;complexType>
     *             &lt;simpleContent>
     *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
     *                 &lt;attribute name="send" type="{http://www.w3.org/2001/XMLSchema}boolean" />
     *                 &lt;attribute name="display" type="{http://www.w3.org/2001/XMLSchema}boolean" />
     *               &lt;/extension>
     *             &lt;/simpleContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *         &lt;element name="title" minOccurs="0">
     *           &lt;complexType>
     *             &lt;simpleContent>
     *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
     *                 &lt;attribute name="send" type="{http://www.w3.org/2001/XMLSchema}boolean" />
     *               &lt;/extension>
     *             &lt;/simpleContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *         &lt;element name="level" type="{http://www.w3.org/2001/XMLSchema}int"/>
     *         &lt;element name="race" type="{http://schemas.l2jserver2.com/npc}NPCRace" minOccurs="0"/>
     *         &lt;element name="sex" type="{}ActorSexType" minOccurs="0"/>
     *         &lt;element name="stats">
     *           &lt;complexType>
     *             &lt;complexContent>
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                 &lt;sequence>
     *                   &lt;element name="hp">
     *                     &lt;complexType>
     *                       &lt;complexContent>
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                           &lt;sequence>
     *                           &lt;/sequence>
     *                           &lt;attribute name="max" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                           &lt;attribute name="regen" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                         &lt;/restriction>
     *                       &lt;/complexContent>
     *                     &lt;/complexType>
     *                   &lt;/element>
     *                   &lt;element name="mp">
     *                     &lt;complexType>
     *                       &lt;complexContent>
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                           &lt;sequence>
     *                           &lt;/sequence>
     *                           &lt;attribute name="max" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                           &lt;attribute name="regen" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                         &lt;/restriction>
     *                       &lt;/complexContent>
     *                     &lt;/complexType>
     *                   &lt;/element>
     *                   &lt;element name="attack" minOccurs="0">
     *                     &lt;complexType>
     *                       &lt;complexContent>
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                           &lt;sequence>
     *                             &lt;element name="physical">
     *                               &lt;complexType>
     *                                 &lt;complexContent>
     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                                     &lt;sequence>
     *                                     &lt;/sequence>
     *                                     &lt;attribute name="damage" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                                     &lt;attribute name="speed" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                                   &lt;/restriction>
     *                                 &lt;/complexContent>
     *                               &lt;/complexType>
     *                             &lt;/element>
     *                             &lt;element name="magical">
     *                               &lt;complexType>
     *                                 &lt;complexContent>
     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                                     &lt;sequence>
     *                                     &lt;/sequence>
     *                                     &lt;attribute name="damage" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                                     &lt;attribute name="speed" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                                   &lt;/restriction>
     *                                 &lt;/complexContent>
     *                               &lt;/complexType>
     *                             &lt;/element>
     *                           &lt;/sequence>
     *                           &lt;attribute name="range" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *                           &lt;attribute name="evasion" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *                           &lt;attribute name="critical" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *                         &lt;/restriction>
     *                       &lt;/complexContent>
     *                     &lt;/complexType>
     *                   &lt;/element>
     *                   &lt;element name="defense" minOccurs="0">
     *                     &lt;complexType>
     *                       &lt;complexContent>
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                           &lt;sequence>
     *                             &lt;element name="physical">
     *                               &lt;complexType>
     *                                 &lt;complexContent>
     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                                     &lt;sequence>
     *                                     &lt;/sequence>
     *                                     &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                                   &lt;/restriction>
     *                                 &lt;/complexContent>
     *                               &lt;/complexType>
     *                             &lt;/element>
     *                             &lt;element name="magical">
     *                               &lt;complexType>
     *                                 &lt;complexContent>
     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                                     &lt;sequence>
     *                                     &lt;/sequence>
     *                                     &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                                   &lt;/restriction>
     *                                 &lt;/complexContent>
     *                               &lt;/complexType>
     *                             &lt;/element>
     *                           &lt;/sequence>
     *                         &lt;/restriction>
     *                       &lt;/complexContent>
     *                     &lt;/complexType>
     *                   &lt;/element>
     *                   &lt;element name="move" minOccurs="0">
     *                     &lt;complexType>
     *                       &lt;complexContent>
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                           &lt;sequence>
     *                           &lt;/sequence>
     *                           &lt;attribute name="run" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                           &lt;attribute name="walk" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                         &lt;/restriction>
     *                       &lt;/complexContent>
     *                     &lt;/complexType>
     *                   &lt;/element>
     *                   &lt;element name="base">
     *                     &lt;complexType>
     *                       &lt;complexContent>
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                           &lt;sequence>
     *                           &lt;/sequence>
     *                           &lt;attribute name="int" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *                           &lt;attribute name="str" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *                           &lt;attribute name="con" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *                           &lt;attribute name="men" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *                           &lt;attribute name="dex" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *                           &lt;attribute name="wit" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *                         &lt;/restriction>
     *                       &lt;/complexContent>
     *                     &lt;/complexType>
     *                   &lt;/element>
     *                 &lt;/sequence>
     *               &lt;/restriction>
     *             &lt;/complexContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *         &lt;element name="experience" type="{http://www.w3.org/2001/XMLSchema}long"/>
     *         &lt;element name="sp" type="{http://www.w3.org/2001/XMLSchema}int"/>
     *         &lt;element name="item" minOccurs="0">
     *           &lt;complexType>
     *             &lt;complexContent>
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                 &lt;sequence>
     *                 &lt;/sequence>
     *                 &lt;attribute name="rightHand" type="{http://schemas.l2jserver2.com/item}ItemTemplateID" />
     *                 &lt;attribute name="leftHand" type="{http://schemas.l2jserver2.com/item}ItemTemplateID" />
     *               &lt;/restriction>
     *             &lt;/complexContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *         &lt;element name="collision" minOccurs="0">
     *           &lt;complexType>
     *             &lt;complexContent>
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                 &lt;sequence>
     *                 &lt;/sequence>
     *                 &lt;attribute name="radius" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *                 &lt;attribute name="heigth" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
     *               &lt;/restriction>
     *             &lt;/complexContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *       &lt;/sequence>
     *       &lt;attribute name="attackable" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
     *       &lt;attribute name="targetable" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
     *       &lt;attribute name="aggressive" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "name",
        "title",
        "level",
        "race",
        "sex",
        "stats",
        "experience",
        "sp",
        "item",
        "collision"
    })
    public static class Info {

        protected NPCTemplate.Info.Name name;
        protected NPCTemplate.Info.Title title;
        protected int level;
        @XmlElement(type = String.class)
        @XmlJavaTypeAdapter(NPCRaceAdapter.class)
        protected NPCRace race;
        @XmlElement(type = String.class)
        @XmlJavaTypeAdapter(ActorSexAdapter.class)
        protected ActorSex sex;
        @XmlElement(required = true)
        protected NPCTemplate.Info.Stats stats;
        protected long experience;
        protected int sp;
        protected NPCTemplate.Info.Item item;
        protected NPCTemplate.Info.Collision collision;
        @XmlAttribute(name = "attackable", required = true)
        protected boolean attackable;
        @XmlAttribute(name = "targetable", required = true)
        protected boolean targetable;
        @XmlAttribute(name = "aggressive", required = true)
        protected boolean aggressive;

        /**
         * Gets the value of the name property.
         * 
         * @return
         *     possible object is
         *     {@link NPCTemplate.Info.Name }
         *     
         */
        public NPCTemplate.Info.Name getName() {
            return name;
        }

        /**
         * Sets the value of the name property.
         * 
         * @param value
         *     allowed object is
         *     {@link NPCTemplate.Info.Name }
         *     
         */
        public void setName(NPCTemplate.Info.Name value) {
            this.name = value;
        }

        /**
         * Gets the value of the title property.
         * 
         * @return
         *     possible object is
         *     {@link NPCTemplate.Info.Title }
         *     
         */
        public NPCTemplate.Info.Title getTitle() {
            return title;
        }

        /**
         * Sets the value of the title property.
         * 
         * @param value
         *     allowed object is
         *     {@link NPCTemplate.Info.Title }
         *     
         */
        public void setTitle(NPCTemplate.Info.Title value) {
            this.title = value;
        }

        /**
         * Gets the value of the level property.
         * 
         */
        public int getLevel() {
            return level;
        }

        /**
         * Sets the value of the level property.
         * 
         */
        public void setLevel(int value) {
            this.level = value;
        }

        /**
         * Gets the value of the race property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public NPCRace getRace() {
            return race;
        }

        /**
         * Sets the value of the race property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setRace(NPCRace value) {
            this.race = value;
        }

        /**
         * Gets the value of the sex property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public ActorSex getSex() {
            return sex;
        }

        /**
         * Sets the value of the sex property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setSex(ActorSex value) {
            this.sex = value;
        }

        /**
         * Gets the value of the stats property.
         * 
         * @return
         *     possible object is
         *     {@link NPCTemplate.Info.Stats }
         *     
         */
        public NPCTemplate.Info.Stats getStats() {
            return stats;
        }

        /**
         * Sets the value of the stats property.
         * 
         * @param value
         *     allowed object is
         *     {@link NPCTemplate.Info.Stats }
         *     
         */
        public void setStats(NPCTemplate.Info.Stats value) {
            this.stats = value;
        }

        /**
         * Gets the value of the experience property.
         * 
         */
        public long getExperience() {
            return experience;
        }

        /**
         * Sets the value of the experience property.
         * 
         */
        public void setExperience(long value) {
            this.experience = value;
        }

        /**
         * Gets the value of the sp property.
         * 
         */
        public int getSp() {
            return sp;
        }

        /**
         * Sets the value of the sp property.
         * 
         */
        public void setSp(int value) {
            this.sp = value;
        }

        /**
         * Gets the value of the item property.
         * 
         * @return
         *     possible object is
         *     {@link NPCTemplate.Info.Item }
         *     
         */
        public NPCTemplate.Info.Item getItem() {
            return item;
        }

        /**
         * Sets the value of the item property.
         * 
         * @param value
         *     allowed object is
         *     {@link NPCTemplate.Info.Item }
         *     
         */
        public void setItem(NPCTemplate.Info.Item value) {
            this.item = value;
        }

        /**
         * Gets the value of the collision property.
         * 
         * @return
         *     possible object is
         *     {@link NPCTemplate.Info.Collision }
         *     
         */
        public NPCTemplate.Info.Collision getCollision() {
            return collision;
        }

        /**
         * Sets the value of the collision property.
         * 
         * @param value
         *     allowed object is
         *     {@link NPCTemplate.Info.Collision }
         *     
         */
        public void setCollision(NPCTemplate.Info.Collision value) {
            this.collision = value;
        }

        /**
         * Gets the value of the attackable property.
         * 
         */
        public boolean isAttackable() {
            return attackable;
        }

        /**
         * Sets the value of the attackable property.
         * 
         */
        public void setAttackable(boolean value) {
            this.attackable = value;
        }

        /**
         * Gets the value of the targetable property.
         * 
         */
        public boolean isTargetable() {
            return targetable;
        }

        /**
         * Sets the value of the targetable property.
         * 
         */
        public void setTargetable(boolean value) {
            this.targetable = value;
        }

        /**
         * Gets the value of the aggressive property.
         * 
         */
        public boolean isAggressive() {
            return aggressive;
        }

        /**
         * Sets the value of the aggressive property.
         * 
         */
        public void setAggressive(boolean value) {
            this.aggressive = value;
        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType>
         *   &lt;complexContent>
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *       &lt;sequence>
         *       &lt;/sequence>
         *       &lt;attribute name="radius" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *       &lt;attribute name="heigth" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *     &lt;/restriction>
         *   &lt;/complexContent>
         * &lt;/complexType>
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "")
        public static class Collision {

            @XmlAttribute(name = "radius", required = true)
            protected double radius;
            @XmlAttribute(name = "heigth", required = true)
            protected double heigth;

            /**
             * Gets the value of the radius property.
             * 
             */
            public double getRadius() {
                return radius;
            }

            /**
             * Sets the value of the radius property.
             * 
             */
            public void setRadius(double value) {
                this.radius = value;
            }

            /**
             * Gets the value of the heigth property.
             * 
             */
            public double getHeigth() {
                return heigth;
            }

            /**
             * Sets the value of the heigth property.
             * 
             */
            public void setHeigth(double value) {
                this.heigth = value;
            }

        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType>
         *   &lt;complexContent>
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *       &lt;sequence>
         *       &lt;/sequence>
         *       &lt;attribute name="rightHand" type="{http://schemas.l2jserver2.com/item}ItemTemplateID" />
         *       &lt;attribute name="leftHand" type="{http://schemas.l2jserver2.com/item}ItemTemplateID" />
         *     &lt;/restriction>
         *   &lt;/complexContent>
         * &lt;/complexType>
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "")
        public static class Item {

            @XmlAttribute(name = "rightHand")
            @XmlJavaTypeAdapter(ItemTemplateIDAdapter.class)
            protected ItemTemplateID rightHand;
            @XmlAttribute(name = "leftHand")
            @XmlJavaTypeAdapter(ItemTemplateIDAdapter.class)
            protected ItemTemplateID leftHand;

            /**
             * Gets the value of the rightHand property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public ItemTemplateID getRightHand() {
                return rightHand;
            }

            /**
             * Sets the value of the rightHand property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setRightHand(ItemTemplateID value) {
                this.rightHand = value;
            }

            /**
             * Gets the value of the leftHand property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public ItemTemplateID getLeftHand() {
                return leftHand;
            }

            /**
             * Sets the value of the leftHand property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setLeftHand(ItemTemplateID value) {
                this.leftHand = value;
            }

        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType>
         *   &lt;simpleContent>
         *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
         *       &lt;attribute name="send" type="{http://www.w3.org/2001/XMLSchema}boolean" />
         *       &lt;attribute name="display" type="{http://www.w3.org/2001/XMLSchema}boolean" />
         *     &lt;/extension>
         *   &lt;/simpleContent>
         * &lt;/complexType>
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "value"
        })
        public static class Name {

            @XmlValue
            protected String value;
            @XmlAttribute(name = "send")
            protected Boolean send;
            @XmlAttribute(name = "display")
            protected Boolean display;

            /**
             * Gets the value of the value property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getValue() {
                return value;
            }

            /**
             * Sets the value of the value property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setValue(String value) {
                this.value = value;
            }

            /**
             * Gets the value of the send property.
             * 
             * @return
             *     possible object is
             *     {@link Boolean }
             *     
             */
            public Boolean isSend() {
                return send;
            }

            /**
             * Sets the value of the send property.
             * 
             * @param value
             *     allowed object is
             *     {@link Boolean }
             *     
             */
            public void setSend(Boolean value) {
                this.send = value;
            }

            /**
             * Gets the value of the display property.
             * 
             * @return
             *     possible object is
             *     {@link Boolean }
             *     
             */
            public Boolean isDisplay() {
                return display;
            }

            /**
             * Sets the value of the display property.
             * 
             * @param value
             *     allowed object is
             *     {@link Boolean }
             *     
             */
            public void setDisplay(Boolean value) {
                this.display = value;
            }

        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType>
         *   &lt;complexContent>
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *       &lt;sequence>
         *         &lt;element name="hp">
         *           &lt;complexType>
         *             &lt;complexContent>
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                 &lt;sequence>
         *                 &lt;/sequence>
         *                 &lt;attribute name="max" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *                 &lt;attribute name="regen" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *               &lt;/restriction>
         *             &lt;/complexContent>
         *           &lt;/complexType>
         *         &lt;/element>
         *         &lt;element name="mp">
         *           &lt;complexType>
         *             &lt;complexContent>
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                 &lt;sequence>
         *                 &lt;/sequence>
         *                 &lt;attribute name="max" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *                 &lt;attribute name="regen" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *               &lt;/restriction>
         *             &lt;/complexContent>
         *           &lt;/complexType>
         *         &lt;/element>
         *         &lt;element name="attack" minOccurs="0">
         *           &lt;complexType>
         *             &lt;complexContent>
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                 &lt;sequence>
         *                   &lt;element name="physical">
         *                     &lt;complexType>
         *                       &lt;complexContent>
         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                           &lt;sequence>
         *                           &lt;/sequence>
         *                           &lt;attribute name="damage" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *                           &lt;attribute name="speed" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *                         &lt;/restriction>
         *                       &lt;/complexContent>
         *                     &lt;/complexType>
         *                   &lt;/element>
         *                   &lt;element name="magical">
         *                     &lt;complexType>
         *                       &lt;complexContent>
         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                           &lt;sequence>
         *                           &lt;/sequence>
         *                           &lt;attribute name="damage" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *                           &lt;attribute name="speed" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *                         &lt;/restriction>
         *                       &lt;/complexContent>
         *                     &lt;/complexType>
         *                   &lt;/element>
         *                 &lt;/sequence>
         *                 &lt;attribute name="range" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *                 &lt;attribute name="evasion" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *                 &lt;attribute name="critical" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *               &lt;/restriction>
         *             &lt;/complexContent>
         *           &lt;/complexType>
         *         &lt;/element>
         *         &lt;element name="defense" minOccurs="0">
         *           &lt;complexType>
         *             &lt;complexContent>
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                 &lt;sequence>
         *                   &lt;element name="physical">
         *                     &lt;complexType>
         *                       &lt;complexContent>
         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                           &lt;sequence>
         *                           &lt;/sequence>
         *                           &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *                         &lt;/restriction>
         *                       &lt;/complexContent>
         *                     &lt;/complexType>
         *                   &lt;/element>
         *                   &lt;element name="magical">
         *                     &lt;complexType>
         *                       &lt;complexContent>
         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                           &lt;sequence>
         *                           &lt;/sequence>
         *                           &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *                         &lt;/restriction>
         *                       &lt;/complexContent>
         *                     &lt;/complexType>
         *                   &lt;/element>
         *                 &lt;/sequence>
         *               &lt;/restriction>
         *             &lt;/complexContent>
         *           &lt;/complexType>
         *         &lt;/element>
         *         &lt;element name="move" minOccurs="0">
         *           &lt;complexType>
         *             &lt;complexContent>
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                 &lt;sequence>
         *                 &lt;/sequence>
         *                 &lt;attribute name="run" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *                 &lt;attribute name="walk" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
         *               &lt;/restriction>
         *             &lt;/complexContent>
         *           &lt;/complexType>
         *         &lt;/element>
         *         &lt;element name="base">
         *           &lt;complexType>
         *             &lt;complexContent>
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                 &lt;sequence>
         *                 &lt;/sequence>
         *                 &lt;attribute name="int" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *                 &lt;attribute name="str" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *                 &lt;attribute name="con" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *                 &lt;attribute name="men" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *                 &lt;attribute name="dex" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *                 &lt;attribute name="wit" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *               &lt;/restriction>
         *             &lt;/complexContent>
         *           &lt;/complexType>
         *         &lt;/element>
         *       &lt;/sequence>
         *     &lt;/restriction>
         *   &lt;/complexContent>
         * &lt;/complexType>
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "hp",
            "mp",
            "attack",
            "defense",
            "move",
            "base"
        })
        public static class Stats {

            @XmlElement(required = true)
            protected NPCTemplate.Info.Stats.Hp hp;
            @XmlElement(required = true)
            protected NPCTemplate.Info.Stats.Mp mp;
            protected NPCTemplate.Info.Stats.Attack attack;
            protected NPCTemplate.Info.Stats.Defense defense;
            protected NPCTemplate.Info.Stats.Move move;
            @XmlElement(required = true)
            protected NPCTemplate.Info.Stats.Base base;

            /**
             * Gets the value of the hp property.
             * 
             * @return
             *     possible object is
             *     {@link NPCTemplate.Info.Stats.Hp }
             *     
             */
            public NPCTemplate.Info.Stats.Hp getHp() {
                return hp;
            }

            /**
             * Sets the value of the hp property.
             * 
             * @param value
             *     allowed object is
             *     {@link NPCTemplate.Info.Stats.Hp }
             *     
             */
            public void setHp(NPCTemplate.Info.Stats.Hp value) {
                this.hp = value;
            }

            /**
             * Gets the value of the mp property.
             * 
             * @return
             *     possible object is
             *     {@link NPCTemplate.Info.Stats.Mp }
             *     
             */
            public NPCTemplate.Info.Stats.Mp getMp() {
                return mp;
            }

            /**
             * Sets the value of the mp property.
             * 
             * @param value
             *     allowed object is
             *     {@link NPCTemplate.Info.Stats.Mp }
             *     
             */
            public void setMp(NPCTemplate.Info.Stats.Mp value) {
                this.mp = value;
            }

            /**
             * Gets the value of the attack property.
             * 
             * @return
             *     possible object is
             *     {@link NPCTemplate.Info.Stats.Attack }
             *     
             */
            public NPCTemplate.Info.Stats.Attack getAttack() {
                return attack;
            }

            /**
             * Sets the value of the attack property.
             * 
             * @param value
             *     allowed object is
             *     {@link NPCTemplate.Info.Stats.Attack }
             *     
             */
            public void setAttack(NPCTemplate.Info.Stats.Attack value) {
                this.attack = value;
            }

            /**
             * Gets the value of the defense property.
             * 
             * @return
             *     possible object is
             *     {@link NPCTemplate.Info.Stats.Defense }
             *     
             */
            public NPCTemplate.Info.Stats.Defense getDefense() {
                return defense;
            }

            /**
             * Sets the value of the defense property.
             * 
             * @param value
             *     allowed object is
             *     {@link NPCTemplate.Info.Stats.Defense }
             *     
             */
            public void setDefense(NPCTemplate.Info.Stats.Defense value) {
                this.defense = value;
            }

            /**
             * Gets the value of the move property.
             * 
             * @return
             *     possible object is
             *     {@link NPCTemplate.Info.Stats.Move }
             *     
             */
            public NPCTemplate.Info.Stats.Move getMove() {
                return move;
            }

            /**
             * Sets the value of the move property.
             * 
             * @param value
             *     allowed object is
             *     {@link NPCTemplate.Info.Stats.Move }
             *     
             */
            public void setMove(NPCTemplate.Info.Stats.Move value) {
                this.move = value;
            }

            /**
             * Gets the value of the base property.
             * 
             * @return
             *     possible object is
             *     {@link NPCTemplate.Info.Stats.Base }
             *     
             */
            public NPCTemplate.Info.Stats.Base getBase() {
                return base;
            }

            /**
             * Sets the value of the base property.
             * 
             * @param value
             *     allowed object is
             *     {@link NPCTemplate.Info.Stats.Base }
             *     
             */
            public void setBase(NPCTemplate.Info.Stats.Base value) {
                this.base = value;
            }


            /**
             * <p>Java class for anonymous complex type.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * 
             * <pre>
             * &lt;complexType>
             *   &lt;complexContent>
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *       &lt;sequence>
             *         &lt;element name="physical">
             *           &lt;complexType>
             *             &lt;complexContent>
             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *                 &lt;sequence>
             *                 &lt;/sequence>
             *                 &lt;attribute name="damage" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
             *                 &lt;attribute name="speed" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
             *               &lt;/restriction>
             *             &lt;/complexContent>
             *           &lt;/complexType>
             *         &lt;/element>
             *         &lt;element name="magical">
             *           &lt;complexType>
             *             &lt;complexContent>
             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *                 &lt;sequence>
             *                 &lt;/sequence>
             *                 &lt;attribute name="damage" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
             *                 &lt;attribute name="speed" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
             *               &lt;/restriction>
             *             &lt;/complexContent>
             *           &lt;/complexType>
             *         &lt;/element>
             *       &lt;/sequence>
             *       &lt;attribute name="range" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
             *       &lt;attribute name="evasion" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
             *       &lt;attribute name="critical" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
             *     &lt;/restriction>
             *   &lt;/complexContent>
             * &lt;/complexType>
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {
                "physical",
                "magical"
            })
            public static class Attack {

                @XmlElement(required = true)
                protected NPCTemplate.Info.Stats.Attack.Physical physical;
                @XmlElement(required = true)
                protected NPCTemplate.Info.Stats.Attack.Magical magical;
                @XmlAttribute(name = "range", required = true)
                protected int range;
                @XmlAttribute(name = "evasion", required = true)
                protected int evasion;
                @XmlAttribute(name = "critical", required = true)
                protected int critical;

                /**
                 * Gets the value of the physical property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link NPCTemplate.Info.Stats.Attack.Physical }
                 *     
                 */
                public NPCTemplate.Info.Stats.Attack.Physical getPhysical() {
                    return physical;
                }

                /**
                 * Sets the value of the physical property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link NPCTemplate.Info.Stats.Attack.Physical }
                 *     
                 */
                public void setPhysical(NPCTemplate.Info.Stats.Attack.Physical value) {
                    this.physical = value;
                }

                /**
                 * Gets the value of the magical property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link NPCTemplate.Info.Stats.Attack.Magical }
                 *     
                 */
                public NPCTemplate.Info.Stats.Attack.Magical getMagical() {
                    return magical;
                }

                /**
                 * Sets the value of the magical property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link NPCTemplate.Info.Stats.Attack.Magical }
                 *     
                 */
                public void setMagical(NPCTemplate.Info.Stats.Attack.Magical value) {
                    this.magical = value;
                }

                /**
                 * Gets the value of the range property.
                 * 
                 */
                public int getRange() {
                    return range;
                }

                /**
                 * Sets the value of the range property.
                 * 
                 */
                public void setRange(int value) {
                    this.range = value;
                }

                /**
                 * Gets the value of the evasion property.
                 * 
                 */
                public int getEvasion() {
                    return evasion;
                }

                /**
                 * Sets the value of the evasion property.
                 * 
                 */
                public void setEvasion(int value) {
                    this.evasion = value;
                }

                /**
                 * Gets the value of the critical property.
                 * 
                 */
                public int getCritical() {
                    return critical;
                }

                /**
                 * Sets the value of the critical property.
                 * 
                 */
                public void setCritical(int value) {
                    this.critical = value;
                }


                /**
                 * <p>Java class for anonymous complex type.
                 * 
                 * <p>The following schema fragment specifies the expected content contained within this class.
                 * 
                 * <pre>
                 * &lt;complexType>
                 *   &lt;complexContent>
                 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                 *       &lt;sequence>
                 *       &lt;/sequence>
                 *       &lt;attribute name="damage" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
                 *       &lt;attribute name="speed" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
                 *     &lt;/restriction>
                 *   &lt;/complexContent>
                 * &lt;/complexType>
                 * </pre>
                 * 
                 * 
                 */
                @XmlAccessorType(XmlAccessType.FIELD)
                @XmlType(name = "")
                public static class Magical {

                    @XmlAttribute(name = "damage", required = true)
                    protected double damage;
                    @XmlAttribute(name = "speed", required = true)
                    protected double speed;

                    /**
                     * Gets the value of the damage property.
                     * 
                     */
                    public double getDamage() {
                        return damage;
                    }

                    /**
                     * Sets the value of the damage property.
                     * 
                     */
                    public void setDamage(double value) {
                        this.damage = value;
                    }

                    /**
                     * Gets the value of the speed property.
                     * 
                     */
                    public double getSpeed() {
                        return speed;
                    }

                    /**
                     * Sets the value of the speed property.
                     * 
                     */
                    public void setSpeed(double value) {
                        this.speed = value;
                    }

                }


                /**
                 * <p>Java class for anonymous complex type.
                 * 
                 * <p>The following schema fragment specifies the expected content contained within this class.
                 * 
                 * <pre>
                 * &lt;complexType>
                 *   &lt;complexContent>
                 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                 *       &lt;sequence>
                 *       &lt;/sequence>
                 *       &lt;attribute name="damage" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
                 *       &lt;attribute name="speed" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
                 *     &lt;/restriction>
                 *   &lt;/complexContent>
                 * &lt;/complexType>
                 * </pre>
                 * 
                 * 
                 */
                @XmlAccessorType(XmlAccessType.FIELD)
                @XmlType(name = "")
                public static class Physical {

                    @XmlAttribute(name = "damage", required = true)
                    protected double damage;
                    @XmlAttribute(name = "speed", required = true)
                    protected double speed;

                    /**
                     * Gets the value of the damage property.
                     * 
                     */
                    public double getDamage() {
                        return damage;
                    }

                    /**
                     * Sets the value of the damage property.
                     * 
                     */
                    public void setDamage(double value) {
                        this.damage = value;
                    }

                    /**
                     * Gets the value of the speed property.
                     * 
                     */
                    public double getSpeed() {
                        return speed;
                    }

                    /**
                     * Sets the value of the speed property.
                     * 
                     */
                    public void setSpeed(double value) {
                        this.speed = value;
                    }

                }

            }


            /**
             * <p>Java class for anonymous complex type.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * 
             * <pre>
             * &lt;complexType>
             *   &lt;complexContent>
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *       &lt;sequence>
             *       &lt;/sequence>
             *       &lt;attribute name="int" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
             *       &lt;attribute name="str" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
             *       &lt;attribute name="con" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
             *       &lt;attribute name="men" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
             *       &lt;attribute name="dex" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
             *       &lt;attribute name="wit" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
             *     &lt;/restriction>
             *   &lt;/complexContent>
             * &lt;/complexType>
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "")
            public static class Base {

                @XmlAttribute(name = "int", required = true)
                protected int _int;
                @XmlAttribute(name = "str", required = true)
                protected int str;
                @XmlAttribute(name = "con", required = true)
                protected int con;
                @XmlAttribute(name = "men", required = true)
                protected int men;
                @XmlAttribute(name = "dex", required = true)
                protected int dex;
                @XmlAttribute(name = "wit", required = true)
                protected int wit;

                /**
                 * Gets the value of the int property.
                 * 
                 */
                public int getInt() {
                    return _int;
                }

                /**
                 * Sets the value of the int property.
                 * 
                 */
                public void setInt(int value) {
                    this._int = value;
                }

                /**
                 * Gets the value of the str property.
                 * 
                 */
                public int getStr() {
                    return str;
                }

                /**
                 * Sets the value of the str property.
                 * 
                 */
                public void setStr(int value) {
                    this.str = value;
                }

                /**
                 * Gets the value of the con property.
                 * 
                 */
                public int getCon() {
                    return con;
                }

                /**
                 * Sets the value of the con property.
                 * 
                 */
                public void setCon(int value) {
                    this.con = value;
                }

                /**
                 * Gets the value of the men property.
                 * 
                 */
                public int getMen() {
                    return men;
                }

                /**
                 * Sets the value of the men property.
                 * 
                 */
                public void setMen(int value) {
                    this.men = value;
                }

                /**
                 * Gets the value of the dex property.
                 * 
                 */
                public int getDex() {
                    return dex;
                }

                /**
                 * Sets the value of the dex property.
                 * 
                 */
                public void setDex(int value) {
                    this.dex = value;
                }

                /**
                 * Gets the value of the wit property.
                 * 
                 */
                public int getWit() {
                    return wit;
                }

                /**
                 * Sets the value of the wit property.
                 * 
                 */
                public void setWit(int value) {
                    this.wit = value;
                }

            }


            /**
             * <p>Java class for anonymous complex type.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * 
             * <pre>
             * &lt;complexType>
             *   &lt;complexContent>
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *       &lt;sequence>
             *         &lt;element name="physical">
             *           &lt;complexType>
             *             &lt;complexContent>
             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *                 &lt;sequence>
             *                 &lt;/sequence>
             *                 &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
             *               &lt;/restriction>
             *             &lt;/complexContent>
             *           &lt;/complexType>
             *         &lt;/element>
             *         &lt;element name="magical">
             *           &lt;complexType>
             *             &lt;complexContent>
             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *                 &lt;sequence>
             *                 &lt;/sequence>
             *                 &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
             *               &lt;/restriction>
             *             &lt;/complexContent>
             *           &lt;/complexType>
             *         &lt;/element>
             *       &lt;/sequence>
             *     &lt;/restriction>
             *   &lt;/complexContent>
             * &lt;/complexType>
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {
                "physical",
                "magical"
            })
            public static class Defense {

                @XmlElement(required = true)
                protected NPCTemplate.Info.Stats.Defense.Physical physical;
                @XmlElement(required = true)
                protected NPCTemplate.Info.Stats.Defense.Magical magical;

                /**
                 * Gets the value of the physical property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link NPCTemplate.Info.Stats.Defense.Physical }
                 *     
                 */
                public NPCTemplate.Info.Stats.Defense.Physical getPhysical() {
                    return physical;
                }

                /**
                 * Sets the value of the physical property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link NPCTemplate.Info.Stats.Defense.Physical }
                 *     
                 */
                public void setPhysical(NPCTemplate.Info.Stats.Defense.Physical value) {
                    this.physical = value;
                }

                /**
                 * Gets the value of the magical property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link NPCTemplate.Info.Stats.Defense.Magical }
                 *     
                 */
                public NPCTemplate.Info.Stats.Defense.Magical getMagical() {
                    return magical;
                }

                /**
                 * Sets the value of the magical property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link NPCTemplate.Info.Stats.Defense.Magical }
                 *     
                 */
                public void setMagical(NPCTemplate.Info.Stats.Defense.Magical value) {
                    this.magical = value;
                }


                /**
                 * <p>Java class for anonymous complex type.
                 * 
                 * <p>The following schema fragment specifies the expected content contained within this class.
                 * 
                 * <pre>
                 * &lt;complexType>
                 *   &lt;complexContent>
                 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                 *       &lt;sequence>
                 *       &lt;/sequence>
                 *       &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
                 *     &lt;/restriction>
                 *   &lt;/complexContent>
                 * &lt;/complexType>
                 * </pre>
                 * 
                 * 
                 */
                @XmlAccessorType(XmlAccessType.FIELD)
                @XmlType(name = "")
                public static class Magical {

                    @XmlAttribute(name = "value", required = true)
                    protected double value;

                    /**
                     * Gets the value of the value property.
                     * 
                     */
                    public double getValue() {
                        return value;
                    }

                    /**
                     * Sets the value of the value property.
                     * 
                     */
                    public void setValue(double value) {
                        this.value = value;
                    }

                }


                /**
                 * <p>Java class for anonymous complex type.
                 * 
                 * <p>The following schema fragment specifies the expected content contained within this class.
                 * 
                 * <pre>
                 * &lt;complexType>
                 *   &lt;complexContent>
                 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                 *       &lt;sequence>
                 *       &lt;/sequence>
                 *       &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
                 *     &lt;/restriction>
                 *   &lt;/complexContent>
                 * &lt;/complexType>
                 * </pre>
                 * 
                 * 
                 */
                @XmlAccessorType(XmlAccessType.FIELD)
                @XmlType(name = "")
                public static class Physical {

                    @XmlAttribute(name = "value", required = true)
                    protected double value;

                    /**
                     * Gets the value of the value property.
                     * 
                     */
                    public double getValue() {
                        return value;
                    }

                    /**
                     * Sets the value of the value property.
                     * 
                     */
                    public void setValue(double value) {
                        this.value = value;
                    }

                }

            }


            /**
             * <p>Java class for anonymous complex type.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * 
             * <pre>
             * &lt;complexType>
             *   &lt;complexContent>
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *       &lt;sequence>
             *       &lt;/sequence>
             *       &lt;attribute name="max" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
             *       &lt;attribute name="regen" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
             *     &lt;/restriction>
             *   &lt;/complexContent>
             * &lt;/complexType>
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "")
            public static class Hp {

                @XmlAttribute(name = "max", required = true)
                protected double max;
                @XmlAttribute(name = "regen", required = true)
                protected double regen;

                /**
                 * Gets the value of the max property.
                 * 
                 */
                public double getMax() {
                    return max;
                }

                /**
                 * Sets the value of the max property.
                 * 
                 */
                public void setMax(double value) {
                    this.max = value;
                }

                /**
                 * Gets the value of the regen property.
                 * 
                 */
                public double getRegen() {
                    return regen;
                }

                /**
                 * Sets the value of the regen property.
                 * 
                 */
                public void setRegen(double value) {
                    this.regen = value;
                }

            }


            /**
             * <p>Java class for anonymous complex type.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * 
             * <pre>
             * &lt;complexType>
             *   &lt;complexContent>
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *       &lt;sequence>
             *       &lt;/sequence>
             *       &lt;attribute name="run" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
             *       &lt;attribute name="walk" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
             *     &lt;/restriction>
             *   &lt;/complexContent>
             * &lt;/complexType>
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "")
            public static class Move {

                @XmlAttribute(name = "run", required = true)
                protected double run;
                @XmlAttribute(name = "walk", required = true)
                protected double walk;

                /**
                 * Gets the value of the run property.
                 * 
                 */
                public double getRun() {
                    return run;
                }

                /**
                 * Sets the value of the run property.
                 * 
                 */
                public void setRun(double value) {
                    this.run = value;
                }

                /**
                 * Gets the value of the walk property.
                 * 
                 */
                public double getWalk() {
                    return walk;
                }

                /**
                 * Sets the value of the walk property.
                 * 
                 */
                public void setWalk(double value) {
                    this.walk = value;
                }

            }


            /**
             * <p>Java class for anonymous complex type.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * 
             * <pre>
             * &lt;complexType>
             *   &lt;complexContent>
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *       &lt;sequence>
             *       &lt;/sequence>
             *       &lt;attribute name="max" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
             *       &lt;attribute name="regen" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
             *     &lt;/restriction>
             *   &lt;/complexContent>
             * &lt;/complexType>
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "")
            public static class Mp {

                @XmlAttribute(name = "max", required = true)
                protected double max;
                @XmlAttribute(name = "regen", required = true)
                protected double regen;

                /**
                 * Gets the value of the max property.
                 * 
                 */
                public double getMax() {
                    return max;
                }

                /**
                 * Sets the value of the max property.
                 * 
                 */
                public void setMax(double value) {
                    this.max = value;
                }

                /**
                 * Gets the value of the regen property.
                 * 
                 */
                public double getRegen() {
                    return regen;
                }

                /**
                 * Sets the value of the regen property.
                 * 
                 */
                public void setRegen(double value) {
                    this.regen = value;
                }

            }

        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType>
         *   &lt;simpleContent>
         *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
         *       &lt;attribute name="send" type="{http://www.w3.org/2001/XMLSchema}boolean" />
         *     &lt;/extension>
         *   &lt;/simpleContent>
         * &lt;/complexType>
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "value"
        })
        public static class Title {

            @XmlValue
            protected String value;
            @XmlAttribute(name = "send")
            protected Boolean send;

            /**
             * Gets the value of the value property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getValue() {
                return value;
            }

            /**
             * Sets the value of the value property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setValue(String value) {
                this.value = value;
            }

            /**
             * Gets the value of the send property.
             * 
             * @return
             *     possible object is
             *     {@link Boolean }
             *     
             */
            public Boolean isSend() {
                return send;
            }

            /**
             * Sets the value of the send property.
             * 
             * @param value
             *     allowed object is
             *     {@link Boolean }
             *     
             */
            public void setSend(Boolean value) {
                this.send = value;
            }

        }

    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="skill" maxOccurs="unbounded">
     *           &lt;complexType>
     *             &lt;complexContent>
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                 &lt;sequence>
     *                 &lt;/sequence>
     *                 &lt;attribute name="id" use="required" type="{http://schemas.l2jserver2.com/skill}SkillTemplateID" />
     *                 &lt;attribute name="level" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
     *               &lt;/restriction>
     *             &lt;/complexContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *       &lt;/sequence>
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "skill"
    })
    public static class Skills {

        @XmlElement(required = true)
        protected List<NPCTemplate.Skills.Skill> skill;

        /**
         * Gets the value of the skill property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the skill property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getSkill().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link NPCTemplate.Skills.Skill }
         * 
         * 
         */
        public List<NPCTemplate.Skills.Skill> getSkill() {
            if (skill == null) {
                skill = new ArrayList<NPCTemplate.Skills.Skill>();
            }
            return this.skill;
        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType>
         *   &lt;complexContent>
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *       &lt;sequence>
         *       &lt;/sequence>
         *       &lt;attribute name="id" use="required" type="{http://schemas.l2jserver2.com/skill}SkillTemplateID" />
         *       &lt;attribute name="level" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
         *     &lt;/restriction>
         *   &lt;/complexContent>
         * &lt;/complexType>
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "")
        public static class Skill {

            @XmlAttribute(name = "id", required = true)
            @XmlJavaTypeAdapter(SkillTemplateIDAdapter.class)
            protected SkillTemplateID id;
            @XmlAttribute(name = "level", required = true)
            protected int level;

            /**
             * Gets the value of the id property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public SkillTemplateID getId() {
                return id;
            }

            /**
             * Sets the value of the id property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setId(SkillTemplateID value) {
                this.id = value;
            }

            /**
             * Gets the value of the level property.
             * 
             */
            public int getLevel() {
                return level;
            }

            /**
             * Sets the value of the level property.
             * 
             */
            public void setLevel(int value) {
                this.level = value;
            }

        }

    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="chat" maxOccurs="unbounded">
     *           &lt;complexType>
     *             &lt;simpleContent>
     *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
     *                 &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *               &lt;/extension>
     *             &lt;/simpleContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *       &lt;/sequence>
     *       &lt;attribute name="default" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "chat"
    })
    public static class Talk {

        @XmlElement(required = true)
        protected List<NPCTemplate.Talk.Chat> chat;
        @XmlAttribute(name = "default", required = true)
        protected String _default;

        /**
         * Gets the value of the chat property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the chat property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getChat().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link NPCTemplate.Talk.Chat }
         * 
         * 
         */
        public List<NPCTemplate.Talk.Chat> getChat() {
            if (chat == null) {
                chat = new ArrayList<NPCTemplate.Talk.Chat>();
            }
            return this.chat;
        }

        /**
         * Gets the value of the default property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public String getDefault() {
            return _default;
        }

        /**
         * Sets the value of the default property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setDefault(String value) {
            this._default = value;
        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType>
         *   &lt;simpleContent>
         *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
         *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
         *     &lt;/extension>
         *   &lt;/simpleContent>
         * &lt;/complexType>
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "value"
        })
        public static class Chat {

            @XmlValue
            protected String value;
            @XmlAttribute(name = "id", required = true)
            protected String id;

            /**
             * Gets the value of the value property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getValue() {
                return value;
            }

            /**
             * Sets the value of the value property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setValue(String value) {
                this.value = value;
            }

            /**
             * Gets the value of the id property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getId() {
                return id;
            }

            /**
             * Sets the value of the id property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setId(String value) {
                this.id = value;
            }

        }

    }

}
