All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tools20022.repository.msg.ContractRegistration2 Maven / Gradle / Ivy

There is a newer version: 0.1.2
Show newest version
/* Tools20022 - API for ISO 20022
* Copyright (C) 2017 Tools20022.com - László Bukodi 
* 
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* 
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
* 
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see .
*/

package com.tools20022.repository.msg;

import com.tools20022.metamodel.MMMessageAssociationEnd;
import com.tools20022.metamodel.MMMessageAttribute;
import com.tools20022.metamodel.MMMessageComponent;
import com.tools20022.metamodel.MMRegistrationStatus;
import com.tools20022.repository.choice.PaymentScheduleType1Choice;
import com.tools20022.repository.choice.UnderlyingContract1Choice;
import com.tools20022.repository.codeset.Priority2Code;
import com.tools20022.repository.datatype.Max1025Text;
import com.tools20022.repository.datatype.Max35Text;
import com.tools20022.repository.entity.RegisteredContract;
import com.tools20022.repository.GeneratedRepository;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;

/**
 * Document that a user must file with an authorized servicer for each contract
 * that involves foreign currency transactions with non residents.
 * 

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageElementContainer#getMessageElement * messageElement} = *
      *
    • * {@linkplain com.tools20022.repository.msg.ContractRegistration2#mmContractRegistrationOpeningIdentification * ContractRegistration2.mmContractRegistrationOpeningIdentification}
    • *
    • * {@linkplain com.tools20022.repository.msg.ContractRegistration2#mmPriority * ContractRegistration2.mmPriority}
    • *
    • * {@linkplain com.tools20022.repository.msg.ContractRegistration2#mmContract * ContractRegistration2.mmContract}
    • *
    • * {@linkplain com.tools20022.repository.msg.ContractRegistration2#mmContractBalance * ContractRegistration2.mmContractBalance}
    • *
    • * {@linkplain com.tools20022.repository.msg.ContractRegistration2#mmPaymentScheduleType * ContractRegistration2.mmPaymentScheduleType}
    • *
    • * {@linkplain com.tools20022.repository.msg.ContractRegistration2#mmPreviousRegistrationIdentification * ContractRegistration2.mmPreviousRegistrationIdentification}
    • *
    • * {@linkplain com.tools20022.repository.msg.ContractRegistration2#mmAdditionalInformation * ContractRegistration2.mmAdditionalInformation}
    • *
    • * {@linkplain com.tools20022.repository.msg.ContractRegistration2#mmAttachment * ContractRegistration2.mmAttachment}
    • *
    • * {@linkplain com.tools20022.repository.msg.ContractRegistration2#mmSupplementaryData * ContractRegistration2.mmSupplementaryData}
    • *
    *
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageComponentType#getTrace * trace} = {@linkplain com.tools20022.repository.entity.RegisteredContract * RegisteredContract}
  • *
  • * {@linkplain com.tools20022.metamodel.MMTopLevelDictionaryEntry#getDataDictionary * dataDictionary} = * {@linkplain com.tools20022.repository.GeneratedRepository#mmdataDict * GeneratedRepository.mmdataDict}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName name} = * "ContractRegistration2"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Document that a user must file with an authorized servicer for each contract that involves foreign currency transactions with non residents." *
  • *
*/ @XmlAccessorType(XmlAccessType.PROPERTY) @XmlType(name = "ContractRegistration2", propOrder = {"contractRegistrationOpeningIdentification", "priority", "contract", "contractBalance", "paymentScheduleType", "previousRegistrationIdentification", "additionalInformation", "attachment", "supplementaryData"}) public class ContractRegistration2 { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected Max35Text contractRegistrationOpeningIdentification; /** * Unique and unambiguous identification of the registered contract opening. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = {@linkplain com.tools20022.repository.datatype.Max35Text * Max35Text}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.ContractRegistration2 * ContractRegistration2}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "CtrctRegnOpngId"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "ContractRegistrationOpeningIdentification"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Unique and unambiguous identification of the registered contract opening." *
  • *
*/ public static final MMMessageAttribute mmContractRegistrationOpeningIdentification = new MMMessageAttribute() { { componentContext_lazy = () -> ContractRegistration2.mmObject(); isDerived = false; xmlTag = "CtrctRegnOpngId"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "ContractRegistrationOpeningIdentification"; definition = "Unique and unambiguous identification of the registered contract opening."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> Max35Text.mmObject(); } }; protected Priority2Code priority; /** * Priority requested for the opening of the registered contract. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.codeset.Priority2Code * Priority2Code}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.RegisteredContract#mmPriority * RegisteredContract.mmPriority}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.ContractRegistration2 * ContractRegistration2}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Prty"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Priority"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Priority requested for the opening of the registered contract."
  • *
*/ public static final MMMessageAttribute mmPriority = new MMMessageAttribute() { { businessElementTrace_lazy = () -> RegisteredContract.mmPriority; componentContext_lazy = () -> ContractRegistration2.mmObject(); isDerived = false; xmlTag = "Prty"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Priority"; definition = "Priority requested for the opening of the registered contract."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> Priority2Code.mmObject(); } }; protected UnderlyingContract1Choice contract; /** * Details of the contract being registered. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = * {@linkplain com.tools20022.repository.choice.UnderlyingContract1Choice * UnderlyingContract1Choice}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.ContractRegistration2 * ContractRegistration2}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Ctrct"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Contract"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Details of the contract being registered."
  • *
*/ public static final MMMessageAssociationEnd mmContract = new MMMessageAssociationEnd() { { componentContext_lazy = () -> ContractRegistration2.mmObject(); isDerived = false; xmlTag = "Ctrct"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Contract"; definition = "Details of the contract being registered."; maxOccurs = 1; minOccurs = 1; isComposite = true; type_lazy = () -> UnderlyingContract1Choice.mmObject(); } }; protected List contractBalance; /** * contract balance on date of contract registration. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.msg.ContractBalance1 * ContractBalance1}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.RegisteredContract#mmContractBalance * RegisteredContract.mmContractBalance}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.ContractRegistration2 * ContractRegistration2}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "CtrctBal"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "ContractBalance"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "contract balance on date of contract registration."
  • *
*/ public static final MMMessageAssociationEnd mmContractBalance = new MMMessageAssociationEnd() { { businessElementTrace_lazy = () -> RegisteredContract.mmContractBalance; componentContext_lazy = () -> ContractRegistration2.mmObject(); isDerived = false; xmlTag = "CtrctBal"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "ContractBalance"; definition = "contract balance on date of contract registration."; minOccurs = 0; isComposite = true; type_lazy = () -> com.tools20022.repository.msg.ContractBalance1.mmObject(); } }; protected PaymentScheduleType1Choice paymentScheduleType; /** * Type of the payment schedule provided in the contract. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = * {@linkplain com.tools20022.repository.choice.PaymentScheduleType1Choice * PaymentScheduleType1Choice}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.RegisteredContract#mmPaymentScheduleType * RegisteredContract.mmPaymentScheduleType}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.ContractRegistration2 * ContractRegistration2}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "PmtSchdlTp"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "PaymentScheduleType"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Type of the payment schedule provided in the contract."
  • *
*/ public static final MMMessageAssociationEnd mmPaymentScheduleType = new MMMessageAssociationEnd() { { businessElementTrace_lazy = () -> RegisteredContract.mmPaymentScheduleType; componentContext_lazy = () -> ContractRegistration2.mmObject(); isDerived = false; xmlTag = "PmtSchdlTp"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "PaymentScheduleType"; definition = "Type of the payment schedule provided in the contract."; maxOccurs = 1; minOccurs = 0; isComposite = true; type_lazy = () -> PaymentScheduleType1Choice.mmObject(); } }; protected List previousRegistrationIdentification; /** * Unique and unambiguous identification of a previous contract * registration. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = * {@linkplain com.tools20022.repository.msg.DocumentIdentification22 * DocumentIdentification22}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.RegisteredContract#mmIdentification * RegisteredContract.mmIdentification}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.ContractRegistration2 * ContractRegistration2}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "PrvsRegnId"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "PreviousRegistrationIdentification"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Unique and unambiguous identification of a previous contract registration." *
  • *
*/ public static final MMMessageAssociationEnd mmPreviousRegistrationIdentification = new MMMessageAssociationEnd() { { businessElementTrace_lazy = () -> RegisteredContract.mmIdentification; componentContext_lazy = () -> ContractRegistration2.mmObject(); isDerived = false; xmlTag = "PrvsRegnId"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "PreviousRegistrationIdentification"; definition = "Unique and unambiguous identification of a previous contract registration."; minOccurs = 0; isComposite = true; type_lazy = () -> com.tools20022.repository.msg.DocumentIdentification22.mmObject(); } }; protected Max1025Text additionalInformation; /** * Further details on the registered contract opening. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = {@linkplain com.tools20022.repository.datatype.Max1025Text * Max1025Text}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.ContractRegistration2 * ContractRegistration2}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "AddtlInf"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "AdditionalInformation"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Further details on the registered contract opening."
  • *
*/ public static final MMMessageAttribute mmAdditionalInformation = new MMMessageAttribute() { { componentContext_lazy = () -> ContractRegistration2.mmObject(); isDerived = false; xmlTag = "AddtlInf"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "AdditionalInformation"; definition = "Further details on the registered contract opening."; maxOccurs = 1; minOccurs = 0; simpleType_lazy = () -> Max1025Text.mmObject(); } }; protected List attachment; /** * Documents provided as attachments to the contract registration request. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = * {@linkplain com.tools20022.repository.msg.DocumentGeneralInformation3 * DocumentGeneralInformation3}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.RegisteredContract#mmAttachment * RegisteredContract.mmAttachment}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.ContractRegistration2 * ContractRegistration2}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Attchmnt"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Attachment"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Documents provided as attachments to the contract registration request." *
  • *
*/ public static final MMMessageAssociationEnd mmAttachment = new MMMessageAssociationEnd() { { businessElementTrace_lazy = () -> RegisteredContract.mmAttachment; componentContext_lazy = () -> ContractRegistration2.mmObject(); isDerived = false; xmlTag = "Attchmnt"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Attachment"; definition = "Documents provided as attachments to the contract registration request."; minOccurs = 0; isComposite = true; type_lazy = () -> com.tools20022.repository.msg.DocumentGeneralInformation3.mmObject(); } }; protected List supplementaryData; /** * Additional information that cannot be captured in the structured elements * and/or any other specific block. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.msg.SupplementaryData1 * SupplementaryData1}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.ContractRegistration2 * ContractRegistration2}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "SplmtryData"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "SupplementaryData"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Additional information that cannot be captured in the structured elements and/or any other specific block." *
  • *
*/ public static final MMMessageAssociationEnd mmSupplementaryData = new MMMessageAssociationEnd() { { componentContext_lazy = () -> ContractRegistration2.mmObject(); isDerived = false; xmlTag = "SplmtryData"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "SupplementaryData"; definition = "Additional information that cannot be captured in the structured elements and/or any other specific block."; minOccurs = 0; isComposite = true; type_lazy = () -> com.tools20022.repository.msg.SupplementaryData1.mmObject(); } }; final static public MMMessageComponent mmObject() { mmObject_lazy.compareAndSet(null, new MMMessageComponent() { { messageElement_lazy = () -> Arrays.asList(ContractRegistration2.mmContractRegistrationOpeningIdentification, ContractRegistration2.mmPriority, ContractRegistration2.mmContract, ContractRegistration2.mmContractBalance, ContractRegistration2.mmPaymentScheduleType, ContractRegistration2.mmPreviousRegistrationIdentification, ContractRegistration2.mmAdditionalInformation, ContractRegistration2.mmAttachment, ContractRegistration2.mmSupplementaryData); trace_lazy = () -> RegisteredContract.mmObject(); dataDictionary_lazy = () -> GeneratedRepository.mmdataDict; registrationStatus = MMRegistrationStatus.REGISTERED; name = "ContractRegistration2"; definition = "Document that a user must file with an authorized servicer for each contract that involves foreign currency transactions with non residents."; } }); return mmObject_lazy.get(); } @XmlElement(name = "CtrctRegnOpngId", required = true) public Max35Text getContractRegistrationOpeningIdentification() { return contractRegistrationOpeningIdentification; } public void setContractRegistrationOpeningIdentification(Max35Text contractRegistrationOpeningIdentification) { this.contractRegistrationOpeningIdentification = contractRegistrationOpeningIdentification; } @XmlElement(name = "Prty", required = true) public Priority2Code getPriority() { return priority; } public void setPriority(Priority2Code priority) { this.priority = priority; } @XmlElement(name = "Ctrct", required = true) public UnderlyingContract1Choice getContract() { return contract; } public void setContract(UnderlyingContract1Choice contract) { this.contract = contract; } @XmlElement(name = "CtrctBal") public List getContractBalance() { return contractBalance; } public void setContractBalance(List contractBalance) { this.contractBalance = contractBalance; } @XmlElement(name = "PmtSchdlTp") public PaymentScheduleType1Choice getPaymentScheduleType() { return paymentScheduleType; } public void setPaymentScheduleType(PaymentScheduleType1Choice paymentScheduleType) { this.paymentScheduleType = paymentScheduleType; } @XmlElement(name = "PrvsRegnId") public List getPreviousRegistrationIdentification() { return previousRegistrationIdentification; } public void setPreviousRegistrationIdentification(List previousRegistrationIdentification) { this.previousRegistrationIdentification = previousRegistrationIdentification; } @XmlElement(name = "AddtlInf") public Max1025Text getAdditionalInformation() { return additionalInformation; } public void setAdditionalInformation(Max1025Text additionalInformation) { this.additionalInformation = additionalInformation; } @XmlElement(name = "Attchmnt") public List getAttachment() { return attachment; } public void setAttachment(List attachment) { this.attachment = attachment; } @XmlElement(name = "SplmtryData") public List getSupplementaryData() { return supplementaryData; } public void setSupplementaryData(List supplementaryData) { this.supplementaryData = supplementaryData; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy