Package org.lwjgl.vulkan
Class VkDescriptorUpdateTemplateCreateInfo
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkDescriptorUpdateTemplateCreateInfo
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkDescriptorUpdateTemplateCreateInfoKHR
public class VkDescriptorUpdateTemplateCreateInfo extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceStructure specifying parameters of a newly created descriptor update template.Valid Usage
- If
templateTypeisDESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,descriptorSetLayoutmust be a validVkDescriptorSetLayouthandle - If
templateTypeisDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR,pipelineBindPointmust be a validVkPipelineBindPointvalue - If
templateTypeisDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR,pipelineLayoutmust be a validVkPipelineLayouthandle - If
templateTypeisDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR,setmust be the unique set number in the pipeline layout that uses a descriptor set layout that was created withDESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR - If
templateTypeisDESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,descriptorSetLayoutmust not contain a binding with typeDESCRIPTOR_TYPE_MUTABLE_VALVE
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFOpNextmust beNULLflagsmust be 0pDescriptorUpdateEntriesmust be a valid pointer to an array ofdescriptorUpdateEntryCountvalidVkDescriptorUpdateTemplateEntrystructurestemplateTypemust be a validVkDescriptorUpdateTemplateTypevaluedescriptorUpdateEntryCountmust be greater than 0- Both of
descriptorSetLayout, andpipelineLayoutthat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameVkDevice
See Also
VkDescriptorUpdateTemplateEntry,CreateDescriptorUpdateTemplate,CreateDescriptorUpdateTemplateKHRLayout
struct VkDescriptorUpdateTemplateCreateInfo { VkStructureTypesType(); void const *pNext(); VkDescriptorUpdateTemplateCreateFlagsflags(); uint32_tdescriptorUpdateEntryCount();VkDescriptorUpdateTemplateEntryconst *pDescriptorUpdateEntries(); VkDescriptorUpdateTemplateTypetemplateType(); VkDescriptorSetLayoutdescriptorSetLayout(); VkPipelineBindPointpipelineBindPoint(); VkPipelineLayoutpipelineLayout(); uint32_tset(); }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkDescriptorUpdateTemplateCreateInfo.BufferAn array ofVkDescriptorUpdateTemplateCreateInfostructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intDESCRIPTORSETLAYOUT
DESCRIPTORUPDATEENTRYCOUNT
FLAGS
PDESCRIPTORUPDATEENTRIES
PIPELINEBINDPOINT
PIPELINELAYOUT
PNEXT
SETThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTYPE
TEMPLATETYPEThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkDescriptorUpdateTemplateCreateInfo(java.nio.ByteBuffer container)Creates aVkDescriptorUpdateTemplateCreateInfoinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static VkDescriptorUpdateTemplateCreateInfocalloc()Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated withmemCalloc.static VkDescriptorUpdateTemplateCreateInfo.Buffercalloc(int capacity)Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated withmemCalloc.static VkDescriptorUpdateTemplateCreateInfo.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDescriptorUpdateTemplateCreateInfocalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDescriptorUpdateTemplateCreateInfocallocStack()Deprecated.static VkDescriptorUpdateTemplateCreateInfo.BuffercallocStack(int capacity)Deprecated.static VkDescriptorUpdateTemplateCreateInfo.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Deprecated.static VkDescriptorUpdateTemplateCreateInfocallocStack(org.lwjgl.system.MemoryStack stack)Deprecated.static VkDescriptorUpdateTemplateCreateInfocreate()Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated withBufferUtils.static VkDescriptorUpdateTemplateCreateInfo.Buffercreate(int capacity)Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated withBufferUtils.static VkDescriptorUpdateTemplateCreateInfocreate(long address)Returns a newVkDescriptorUpdateTemplateCreateInfoinstance for the specified memory address.static VkDescriptorUpdateTemplateCreateInfo.Buffercreate(long address, int capacity)Create aVkDescriptorUpdateTemplateCreateInfo.Bufferinstance at the specified memory.static VkDescriptorUpdateTemplateCreateInfocreateSafe(long address)static VkDescriptorUpdateTemplateCreateInfo.BuffercreateSafe(long address, int capacity)longdescriptorSetLayout()the descriptor set layout used to build the descriptor update template.VkDescriptorUpdateTemplateCreateInfodescriptorSetLayout(long value)Sets the specified value to thedescriptorSetLayout()field.intdescriptorUpdateEntryCount()the number of elements in thepDescriptorUpdateEntriesarray.intflags()reserved for future use.VkDescriptorUpdateTemplateCreateInfoflags(int value)Sets the specified value to theflags()field.static VkDescriptorUpdateTemplateCreateInfomalloc()Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated withmemAlloc.static VkDescriptorUpdateTemplateCreateInfo.Buffermalloc(int capacity)Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated withmemAlloc.static VkDescriptorUpdateTemplateCreateInfo.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkDescriptorUpdateTemplateCreateInfomalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated on the specifiedMemoryStack.static VkDescriptorUpdateTemplateCreateInfomallocStack()Deprecated.static VkDescriptorUpdateTemplateCreateInfo.BuffermallocStack(int capacity)Deprecated.static VkDescriptorUpdateTemplateCreateInfo.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Deprecated.static VkDescriptorUpdateTemplateCreateInfomallocStack(org.lwjgl.system.MemoryStack stack)Deprecated.static longndescriptorSetLayout(long struct)Unsafe version ofdescriptorSetLayout().static voidndescriptorSetLayout(long struct, long value)Unsafe version ofdescriptorSetLayout.static intndescriptorUpdateEntryCount(long struct)Unsafe version ofdescriptorUpdateEntryCount().static voidndescriptorUpdateEntryCount(long struct, int value)Sets the specified value to thedescriptorUpdateEntryCountfield of the specifiedstruct.static intnflags(long struct)Unsafe version offlags().static voidnflags(long struct, int value)Unsafe version offlags.static VkDescriptorUpdateTemplateEntry.BuffernpDescriptorUpdateEntries(long struct)Unsafe version ofpDescriptorUpdateEntries().static voidnpDescriptorUpdateEntries(long struct, VkDescriptorUpdateTemplateEntry.Buffer value)Unsafe version ofpDescriptorUpdateEntries.static intnpipelineBindPoint(long struct)Unsafe version ofpipelineBindPoint().static voidnpipelineBindPoint(long struct, int value)Unsafe version ofpipelineBindPoint.static longnpipelineLayout(long struct)Unsafe version ofpipelineLayout().static voidnpipelineLayout(long struct, long value)Unsafe version ofpipelineLayout.static longnpNext(long struct)Unsafe version ofpNext().static voidnpNext(long struct, long value)Unsafe version ofpNext.static intnset(long struct)Unsafe version ofset().static voidnset(long struct, int value)Unsafe version ofset.static intnsType(long struct)Unsafe version ofsType().static voidnsType(long struct, int value)Unsafe version ofsType.static intntemplateType(long struct)Unsafe version oftemplateType().static voidntemplateType(long struct, int value)Unsafe version oftemplateType.VkDescriptorUpdateTemplateEntry.BufferpDescriptorUpdateEntries()a pointer to an array ofVkDescriptorUpdateTemplateEntrystructures describing the descriptors to be updated by the descriptor update template.VkDescriptorUpdateTemplateCreateInfopDescriptorUpdateEntries(VkDescriptorUpdateTemplateEntry.Buffer value)Sets the address of the specifiedVkDescriptorUpdateTemplateEntry.Bufferto thepDescriptorUpdateEntries()field.intpipelineBindPoint()aVkPipelineBindPointindicating the type of the pipeline that will use the descriptors.VkDescriptorUpdateTemplateCreateInfopipelineBindPoint(int value)Sets the specified value to thepipelineBindPoint()field.longpipelineLayout()aVkPipelineLayoutobject used to program the bindings.VkDescriptorUpdateTemplateCreateInfopipelineLayout(long value)Sets the specified value to thepipelineLayout()field.longpNext()NULLor a pointer to a structure extending this structure.VkDescriptorUpdateTemplateCreateInfopNext(long value)Sets the specified value to thepNext()field.intset()the set number of the descriptor set in the pipeline layout that will be updated.VkDescriptorUpdateTemplateCreateInfoset(int value)Sets the specified value to theset()field.VkDescriptorUpdateTemplateCreateInfoset(int sType, long pNext, int flags, VkDescriptorUpdateTemplateEntry.Buffer pDescriptorUpdateEntries, int templateType, long descriptorSetLayout, int pipelineBindPoint, long pipelineLayout, int set)Initializes this struct with the specified values.VkDescriptorUpdateTemplateCreateInfoset(VkDescriptorUpdateTemplateCreateInfo src)Copies the specified struct data to this struct.intsizeof()intsType()the type of this structure.VkDescriptorUpdateTemplateCreateInfosType(int value)Sets the specified value to thesType()field.VkDescriptorUpdateTemplateCreateInfosType$Default()Sets theSTRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFOvalue to thesType()field.inttemplateType()Specifies the type of the descriptor update template.VkDescriptorUpdateTemplateCreateInfotemplateType(int value)Sets the specified value to thetemplateType()field.static voidvalidate(long struct)Validates pointer members that should not beNULL.
-
-
-
Constructor Detail
-
VkDescriptorUpdateTemplateCreateInfo
public VkDescriptorUpdateTemplateCreateInfo(java.nio.ByteBuffer container)
Creates aVkDescriptorUpdateTemplateCreateInfoinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
sType
public int sType()
the type of this structure.
-
pNext
public long pNext()
NULLor a pointer to a structure extending this structure.
-
flags
public int flags()
reserved for future use.
-
descriptorUpdateEntryCount
public int descriptorUpdateEntryCount()
the number of elements in thepDescriptorUpdateEntriesarray.
-
pDescriptorUpdateEntries
public VkDescriptorUpdateTemplateEntry.Buffer pDescriptorUpdateEntries()
a pointer to an array ofVkDescriptorUpdateTemplateEntrystructures describing the descriptors to be updated by the descriptor update template.
-
templateType
public int templateType()
Specifies the type of the descriptor update template. If set toDESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SETit can only be used to update descriptor sets with a fixeddescriptorSetLayout. If set toDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHRit can only be used to push descriptor sets using the providedpipelineBindPoint,pipelineLayout, andsetnumber.
-
descriptorSetLayout
public long descriptorSetLayout()
the descriptor set layout used to build the descriptor update template. All descriptor sets which are going to be updated through the newly created descriptor update template must be created with a layout that matches (is the same as, or defined identically to) this layout. This parameter is ignored iftemplateTypeis notDESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET.
-
pipelineBindPoint
public int pipelineBindPoint()
aVkPipelineBindPointindicating the type of the pipeline that will use the descriptors. This parameter is ignored iftemplateTypeis notDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
-
pipelineLayout
public long pipelineLayout()
aVkPipelineLayoutobject used to program the bindings. This parameter is ignored iftemplateTypeis notDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
-
set
public int set()
the set number of the descriptor set in the pipeline layout that will be updated. This parameter is ignored iftemplateTypeis notDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
-
sType
public VkDescriptorUpdateTemplateCreateInfo sType(int value)
Sets the specified value to thesType()field.
-
sType$Default
public VkDescriptorUpdateTemplateCreateInfo sType$Default()
Sets theSTRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFOvalue to thesType()field.
-
pNext
public VkDescriptorUpdateTemplateCreateInfo pNext(long value)
Sets the specified value to thepNext()field.
-
flags
public VkDescriptorUpdateTemplateCreateInfo flags(int value)
Sets the specified value to theflags()field.
-
pDescriptorUpdateEntries
public VkDescriptorUpdateTemplateCreateInfo pDescriptorUpdateEntries(VkDescriptorUpdateTemplateEntry.Buffer value)
Sets the address of the specifiedVkDescriptorUpdateTemplateEntry.Bufferto thepDescriptorUpdateEntries()field.
-
templateType
public VkDescriptorUpdateTemplateCreateInfo templateType(int value)
Sets the specified value to thetemplateType()field.
-
descriptorSetLayout
public VkDescriptorUpdateTemplateCreateInfo descriptorSetLayout(long value)
Sets the specified value to thedescriptorSetLayout()field.
-
pipelineBindPoint
public VkDescriptorUpdateTemplateCreateInfo pipelineBindPoint(int value)
Sets the specified value to thepipelineBindPoint()field.
-
pipelineLayout
public VkDescriptorUpdateTemplateCreateInfo pipelineLayout(long value)
Sets the specified value to thepipelineLayout()field.
-
set
public VkDescriptorUpdateTemplateCreateInfo set(int value)
Sets the specified value to theset()field.
-
set
public VkDescriptorUpdateTemplateCreateInfo set(int sType, long pNext, int flags, VkDescriptorUpdateTemplateEntry.Buffer pDescriptorUpdateEntries, int templateType, long descriptorSetLayout, int pipelineBindPoint, long pipelineLayout, int set)
Initializes this struct with the specified values.
-
set
public VkDescriptorUpdateTemplateCreateInfo set(VkDescriptorUpdateTemplateCreateInfo src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkDescriptorUpdateTemplateCreateInfo malloc()
Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkDescriptorUpdateTemplateCreateInfo calloc()
Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkDescriptorUpdateTemplateCreateInfo create()
Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated withBufferUtils.
-
create
public static VkDescriptorUpdateTemplateCreateInfo create(long address)
Returns a newVkDescriptorUpdateTemplateCreateInfoinstance for the specified memory address.
-
createSafe
@Nullable public static VkDescriptorUpdateTemplateCreateInfo createSafe(long address)
-
malloc
public static VkDescriptorUpdateTemplateCreateInfo.Buffer malloc(int capacity)
Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkDescriptorUpdateTemplateCreateInfo.Buffer calloc(int capacity)
Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkDescriptorUpdateTemplateCreateInfo.Buffer create(int capacity)
Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkDescriptorUpdateTemplateCreateInfo.Buffer create(long address, int capacity)
Create aVkDescriptorUpdateTemplateCreateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkDescriptorUpdateTemplateCreateInfo.Buffer createSafe(long address, int capacity)
-
mallocStack
@Deprecated public static VkDescriptorUpdateTemplateCreateInfo mallocStack()
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead.
-
callocStack
@Deprecated public static VkDescriptorUpdateTemplateCreateInfo callocStack()
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead.
-
mallocStack
@Deprecated public static VkDescriptorUpdateTemplateCreateInfo mallocStack(org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead.
-
callocStack
@Deprecated public static VkDescriptorUpdateTemplateCreateInfo callocStack(org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead.
-
mallocStack
@Deprecated public static VkDescriptorUpdateTemplateCreateInfo.Buffer mallocStack(int capacity)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead.
-
callocStack
@Deprecated public static VkDescriptorUpdateTemplateCreateInfo.Buffer callocStack(int capacity)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead.
-
mallocStack
@Deprecated public static VkDescriptorUpdateTemplateCreateInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead.
-
callocStack
@Deprecated public static VkDescriptorUpdateTemplateCreateInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead.
-
malloc
public static VkDescriptorUpdateTemplateCreateInfo malloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkDescriptorUpdateTemplateCreateInfo calloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkDescriptorUpdateTemplateCreateInfo.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
calloc
public static VkDescriptorUpdateTemplateCreateInfo.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
nsType
public static int nsType(long struct)
Unsafe version ofsType().
-
npNext
public static long npNext(long struct)
Unsafe version ofpNext().
-
nflags
public static int nflags(long struct)
Unsafe version offlags().
-
ndescriptorUpdateEntryCount
public static int ndescriptorUpdateEntryCount(long struct)
Unsafe version ofdescriptorUpdateEntryCount().
-
npDescriptorUpdateEntries
public static VkDescriptorUpdateTemplateEntry.Buffer npDescriptorUpdateEntries(long struct)
Unsafe version ofpDescriptorUpdateEntries().
-
ntemplateType
public static int ntemplateType(long struct)
Unsafe version oftemplateType().
-
ndescriptorSetLayout
public static long ndescriptorSetLayout(long struct)
Unsafe version ofdescriptorSetLayout().
-
npipelineBindPoint
public static int npipelineBindPoint(long struct)
Unsafe version ofpipelineBindPoint().
-
npipelineLayout
public static long npipelineLayout(long struct)
Unsafe version ofpipelineLayout().
-
nset
public static int nset(long struct)
Unsafe version ofset().
-
nsType
public static void nsType(long struct, int value)Unsafe version ofsType.
-
npNext
public static void npNext(long struct, long value)Unsafe version ofpNext.
-
nflags
public static void nflags(long struct, int value)Unsafe version offlags.
-
ndescriptorUpdateEntryCount
public static void ndescriptorUpdateEntryCount(long struct, int value)Sets the specified value to thedescriptorUpdateEntryCountfield of the specifiedstruct.
-
npDescriptorUpdateEntries
public static void npDescriptorUpdateEntries(long struct, VkDescriptorUpdateTemplateEntry.Buffer value)Unsafe version ofpDescriptorUpdateEntries.
-
ntemplateType
public static void ntemplateType(long struct, int value)Unsafe version oftemplateType.
-
ndescriptorSetLayout
public static void ndescriptorSetLayout(long struct, long value)Unsafe version ofdescriptorSetLayout.
-
npipelineBindPoint
public static void npipelineBindPoint(long struct, int value)Unsafe version ofpipelineBindPoint.
-
npipelineLayout
public static void npipelineLayout(long struct, long value)Unsafe version ofpipelineLayout.
-
nset
public static void nset(long struct, int value)Unsafe version ofset.
-
validate
public static void validate(long struct)
Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-
-