2024-04-21 00:21:57 +00:00
|
|
|
// <auto-generated>
|
|
|
|
// automatically generated by the FlatBuffers compiler, do not modify
|
|
|
|
// </auto-generated>
|
|
|
|
|
|
|
|
namespace SCHALE.Common.FlatData
|
|
|
|
{
|
|
|
|
|
|
|
|
using global::System;
|
|
|
|
using global::System.Collections.Generic;
|
2024-04-29 15:52:45 +00:00
|
|
|
using global::SCHALE.Common.Crypto;
|
2024-04-21 00:21:57 +00:00
|
|
|
using global::Google.FlatBuffers;
|
|
|
|
|
|
|
|
public struct RaidRankingRewardExcel : IFlatbufferObject
|
|
|
|
{
|
|
|
|
private Table __p;
|
|
|
|
public ByteBuffer ByteBuffer { get { return __p.bb; } }
|
|
|
|
public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
|
|
|
|
public static RaidRankingRewardExcel GetRootAsRaidRankingRewardExcel(ByteBuffer _bb) { return GetRootAsRaidRankingRewardExcel(_bb, new RaidRankingRewardExcel()); }
|
|
|
|
public static RaidRankingRewardExcel GetRootAsRaidRankingRewardExcel(ByteBuffer _bb, RaidRankingRewardExcel obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
|
|
|
|
public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
|
|
|
|
public RaidRankingRewardExcel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
|
|
|
|
|
|
|
public long RankingRewardGroupId { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
|
|
|
|
public long Id { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
|
|
|
|
public long RankStart { get { int o = __p.__offset(8); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
|
|
|
|
public long RankEnd { get { int o = __p.__offset(10); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
|
|
|
|
public long PercentRankStart { get { int o = __p.__offset(12); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
|
|
|
|
public long PercentRankEnd { get { int o = __p.__offset(14); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
|
|
|
|
public int Tier { get { int o = __p.__offset(16); return o != 0 ? __p.bb.GetInt(o + __p.bb_pos) : (int)0; } }
|
|
|
|
public SCHALE.Common.FlatData.ParcelType RewardParcelType(int j) { int o = __p.__offset(18); return o != 0 ? (SCHALE.Common.FlatData.ParcelType)__p.bb.GetInt(__p.__vector(o) + j * 4) : (SCHALE.Common.FlatData.ParcelType)0; }
|
|
|
|
public int RewardParcelTypeLength { get { int o = __p.__offset(18); return o != 0 ? __p.__vector_len(o) : 0; } }
|
|
|
|
#if ENABLE_SPAN_T
|
|
|
|
public Span<SCHALE.Common.FlatData.ParcelType> GetRewardParcelTypeBytes() { return __p.__vector_as_span<SCHALE.Common.FlatData.ParcelType>(18, 4); }
|
|
|
|
#else
|
|
|
|
public ArraySegment<byte>? GetRewardParcelTypeBytes() { return __p.__vector_as_arraysegment(18); }
|
|
|
|
#endif
|
|
|
|
public SCHALE.Common.FlatData.ParcelType[] GetRewardParcelTypeArray() { int o = __p.__offset(18); if (o == 0) return null; int p = __p.__vector(o); int l = __p.__vector_len(o); SCHALE.Common.FlatData.ParcelType[] a = new SCHALE.Common.FlatData.ParcelType[l]; for (int i = 0; i < l; i++) { a[i] = (SCHALE.Common.FlatData.ParcelType)__p.bb.GetInt(p + i * 4); } return a; }
|
|
|
|
public long RewardParcelUniqueId(int j) { int o = __p.__offset(20); return o != 0 ? __p.bb.GetLong(__p.__vector(o) + j * 8) : (long)0; }
|
|
|
|
public int RewardParcelUniqueIdLength { get { int o = __p.__offset(20); return o != 0 ? __p.__vector_len(o) : 0; } }
|
|
|
|
#if ENABLE_SPAN_T
|
|
|
|
public Span<long> GetRewardParcelUniqueIdBytes() { return __p.__vector_as_span<long>(20, 8); }
|
|
|
|
#else
|
|
|
|
public ArraySegment<byte>? GetRewardParcelUniqueIdBytes() { return __p.__vector_as_arraysegment(20); }
|
|
|
|
#endif
|
|
|
|
public long[] GetRewardParcelUniqueIdArray() { return __p.__vector_as_array<long>(20); }
|
|
|
|
public string RewardParcelUniqueName(int j) { int o = __p.__offset(22); return o != 0 ? __p.__string(__p.__vector(o) + j * 4) : null; }
|
|
|
|
public int RewardParcelUniqueNameLength { get { int o = __p.__offset(22); return o != 0 ? __p.__vector_len(o) : 0; } }
|
|
|
|
public long RewardParcelAmount(int j) { int o = __p.__offset(24); return o != 0 ? __p.bb.GetLong(__p.__vector(o) + j * 8) : (long)0; }
|
|
|
|
public int RewardParcelAmountLength { get { int o = __p.__offset(24); return o != 0 ? __p.__vector_len(o) : 0; } }
|
|
|
|
#if ENABLE_SPAN_T
|
|
|
|
public Span<long> GetRewardParcelAmountBytes() { return __p.__vector_as_span<long>(24, 8); }
|
|
|
|
#else
|
|
|
|
public ArraySegment<byte>? GetRewardParcelAmountBytes() { return __p.__vector_as_arraysegment(24); }
|
|
|
|
#endif
|
|
|
|
public long[] GetRewardParcelAmountArray() { return __p.__vector_as_array<long>(24); }
|
|
|
|
|
|
|
|
public static Offset<SCHALE.Common.FlatData.RaidRankingRewardExcel> CreateRaidRankingRewardExcel(FlatBufferBuilder builder,
|
|
|
|
long RankingRewardGroupId = 0,
|
|
|
|
long Id = 0,
|
|
|
|
long RankStart = 0,
|
|
|
|
long RankEnd = 0,
|
|
|
|
long PercentRankStart = 0,
|
|
|
|
long PercentRankEnd = 0,
|
|
|
|
int Tier = 0,
|
|
|
|
VectorOffset RewardParcelTypeOffset = default(VectorOffset),
|
|
|
|
VectorOffset RewardParcelUniqueIdOffset = default(VectorOffset),
|
|
|
|
VectorOffset RewardParcelUniqueNameOffset = default(VectorOffset),
|
|
|
|
VectorOffset RewardParcelAmountOffset = default(VectorOffset)) {
|
|
|
|
builder.StartTable(11);
|
|
|
|
RaidRankingRewardExcel.AddPercentRankEnd(builder, PercentRankEnd);
|
|
|
|
RaidRankingRewardExcel.AddPercentRankStart(builder, PercentRankStart);
|
|
|
|
RaidRankingRewardExcel.AddRankEnd(builder, RankEnd);
|
|
|
|
RaidRankingRewardExcel.AddRankStart(builder, RankStart);
|
|
|
|
RaidRankingRewardExcel.AddId(builder, Id);
|
|
|
|
RaidRankingRewardExcel.AddRankingRewardGroupId(builder, RankingRewardGroupId);
|
|
|
|
RaidRankingRewardExcel.AddRewardParcelAmount(builder, RewardParcelAmountOffset);
|
|
|
|
RaidRankingRewardExcel.AddRewardParcelUniqueName(builder, RewardParcelUniqueNameOffset);
|
|
|
|
RaidRankingRewardExcel.AddRewardParcelUniqueId(builder, RewardParcelUniqueIdOffset);
|
|
|
|
RaidRankingRewardExcel.AddRewardParcelType(builder, RewardParcelTypeOffset);
|
|
|
|
RaidRankingRewardExcel.AddTier(builder, Tier);
|
|
|
|
return RaidRankingRewardExcel.EndRaidRankingRewardExcel(builder);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void StartRaidRankingRewardExcel(FlatBufferBuilder builder) { builder.StartTable(11); }
|
|
|
|
public static void AddRankingRewardGroupId(FlatBufferBuilder builder, long rankingRewardGroupId) { builder.AddLong(0, rankingRewardGroupId, 0); }
|
|
|
|
public static void AddId(FlatBufferBuilder builder, long id) { builder.AddLong(1, id, 0); }
|
|
|
|
public static void AddRankStart(FlatBufferBuilder builder, long rankStart) { builder.AddLong(2, rankStart, 0); }
|
|
|
|
public static void AddRankEnd(FlatBufferBuilder builder, long rankEnd) { builder.AddLong(3, rankEnd, 0); }
|
|
|
|
public static void AddPercentRankStart(FlatBufferBuilder builder, long percentRankStart) { builder.AddLong(4, percentRankStart, 0); }
|
|
|
|
public static void AddPercentRankEnd(FlatBufferBuilder builder, long percentRankEnd) { builder.AddLong(5, percentRankEnd, 0); }
|
|
|
|
public static void AddTier(FlatBufferBuilder builder, int tier) { builder.AddInt(6, tier, 0); }
|
|
|
|
public static void AddRewardParcelType(FlatBufferBuilder builder, VectorOffset rewardParcelTypeOffset) { builder.AddOffset(7, rewardParcelTypeOffset.Value, 0); }
|
|
|
|
public static VectorOffset CreateRewardParcelTypeVector(FlatBufferBuilder builder, SCHALE.Common.FlatData.ParcelType[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddInt((int)data[i]); return builder.EndVector(); }
|
|
|
|
public static VectorOffset CreateRewardParcelTypeVectorBlock(FlatBufferBuilder builder, SCHALE.Common.FlatData.ParcelType[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
|
|
|
|
public static VectorOffset CreateRewardParcelTypeVectorBlock(FlatBufferBuilder builder, ArraySegment<SCHALE.Common.FlatData.ParcelType> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
|
|
|
|
public static VectorOffset CreateRewardParcelTypeVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<SCHALE.Common.FlatData.ParcelType>(dataPtr, sizeInBytes); return builder.EndVector(); }
|
|
|
|
public static void StartRewardParcelTypeVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
|
|
|
|
public static void AddRewardParcelUniqueId(FlatBufferBuilder builder, VectorOffset rewardParcelUniqueIdOffset) { builder.AddOffset(8, rewardParcelUniqueIdOffset.Value, 0); }
|
|
|
|
public static VectorOffset CreateRewardParcelUniqueIdVector(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddLong(data[i]); return builder.EndVector(); }
|
|
|
|
public static VectorOffset CreateRewardParcelUniqueIdVectorBlock(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); builder.Add(data); return builder.EndVector(); }
|
|
|
|
public static VectorOffset CreateRewardParcelUniqueIdVectorBlock(FlatBufferBuilder builder, ArraySegment<long> data) { builder.StartVector(8, data.Count, 8); builder.Add(data); return builder.EndVector(); }
|
|
|
|
public static VectorOffset CreateRewardParcelUniqueIdVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<long>(dataPtr, sizeInBytes); return builder.EndVector(); }
|
|
|
|
public static void StartRewardParcelUniqueIdVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); }
|
|
|
|
public static void AddRewardParcelUniqueName(FlatBufferBuilder builder, VectorOffset rewardParcelUniqueNameOffset) { builder.AddOffset(9, rewardParcelUniqueNameOffset.Value, 0); }
|
|
|
|
public static VectorOffset CreateRewardParcelUniqueNameVector(FlatBufferBuilder builder, StringOffset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); }
|
|
|
|
public static VectorOffset CreateRewardParcelUniqueNameVectorBlock(FlatBufferBuilder builder, StringOffset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
|
|
|
|
public static VectorOffset CreateRewardParcelUniqueNameVectorBlock(FlatBufferBuilder builder, ArraySegment<StringOffset> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
|
|
|
|
public static VectorOffset CreateRewardParcelUniqueNameVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<StringOffset>(dataPtr, sizeInBytes); return builder.EndVector(); }
|
|
|
|
public static void StartRewardParcelUniqueNameVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
|
|
|
|
public static void AddRewardParcelAmount(FlatBufferBuilder builder, VectorOffset rewardParcelAmountOffset) { builder.AddOffset(10, rewardParcelAmountOffset.Value, 0); }
|
|
|
|
public static VectorOffset CreateRewardParcelAmountVector(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddLong(data[i]); return builder.EndVector(); }
|
|
|
|
public static VectorOffset CreateRewardParcelAmountVectorBlock(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); builder.Add(data); return builder.EndVector(); }
|
|
|
|
public static VectorOffset CreateRewardParcelAmountVectorBlock(FlatBufferBuilder builder, ArraySegment<long> data) { builder.StartVector(8, data.Count, 8); builder.Add(data); return builder.EndVector(); }
|
|
|
|
public static VectorOffset CreateRewardParcelAmountVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<long>(dataPtr, sizeInBytes); return builder.EndVector(); }
|
|
|
|
public static void StartRewardParcelAmountVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); }
|
|
|
|
public static Offset<SCHALE.Common.FlatData.RaidRankingRewardExcel> EndRaidRankingRewardExcel(FlatBufferBuilder builder) {
|
|
|
|
int o = builder.EndTable();
|
|
|
|
return new Offset<SCHALE.Common.FlatData.RaidRankingRewardExcel>(o);
|
|
|
|
}
|
2024-04-29 15:52:45 +00:00
|
|
|
public RaidRankingRewardExcelT UnPack() {
|
|
|
|
var _o = new RaidRankingRewardExcelT();
|
|
|
|
this.UnPackTo(_o);
|
|
|
|
return _o;
|
|
|
|
}
|
|
|
|
public void UnPackTo(RaidRankingRewardExcelT _o) {
|
|
|
|
byte[] key = TableEncryptionService.CreateKey("RaidRankingReward");
|
|
|
|
_o.RankingRewardGroupId = TableEncryptionService.Convert(this.RankingRewardGroupId, key);
|
|
|
|
_o.Id = TableEncryptionService.Convert(this.Id, key);
|
|
|
|
_o.RankStart = TableEncryptionService.Convert(this.RankStart, key);
|
|
|
|
_o.RankEnd = TableEncryptionService.Convert(this.RankEnd, key);
|
|
|
|
_o.PercentRankStart = TableEncryptionService.Convert(this.PercentRankStart, key);
|
|
|
|
_o.PercentRankEnd = TableEncryptionService.Convert(this.PercentRankEnd, key);
|
|
|
|
_o.Tier = TableEncryptionService.Convert(this.Tier, key);
|
|
|
|
_o.RewardParcelType = new List<SCHALE.Common.FlatData.ParcelType>();
|
|
|
|
for (var _j = 0; _j < this.RewardParcelTypeLength; ++_j) {_o.RewardParcelType.Add(TableEncryptionService.Convert(this.RewardParcelType(_j), key));}
|
|
|
|
_o.RewardParcelUniqueId = new List<long>();
|
|
|
|
for (var _j = 0; _j < this.RewardParcelUniqueIdLength; ++_j) {_o.RewardParcelUniqueId.Add(TableEncryptionService.Convert(this.RewardParcelUniqueId(_j), key));}
|
|
|
|
_o.RewardParcelUniqueName = new List<string>();
|
|
|
|
for (var _j = 0; _j < this.RewardParcelUniqueNameLength; ++_j) {_o.RewardParcelUniqueName.Add(TableEncryptionService.Convert(this.RewardParcelUniqueName(_j), key));}
|
|
|
|
_o.RewardParcelAmount = new List<long>();
|
|
|
|
for (var _j = 0; _j < this.RewardParcelAmountLength; ++_j) {_o.RewardParcelAmount.Add(TableEncryptionService.Convert(this.RewardParcelAmount(_j), key));}
|
|
|
|
}
|
|
|
|
public static Offset<SCHALE.Common.FlatData.RaidRankingRewardExcel> Pack(FlatBufferBuilder builder, RaidRankingRewardExcelT _o) {
|
|
|
|
if (_o == null) return default(Offset<SCHALE.Common.FlatData.RaidRankingRewardExcel>);
|
|
|
|
var _RewardParcelType = default(VectorOffset);
|
|
|
|
if (_o.RewardParcelType != null) {
|
|
|
|
var __RewardParcelType = _o.RewardParcelType.ToArray();
|
|
|
|
_RewardParcelType = CreateRewardParcelTypeVector(builder, __RewardParcelType);
|
|
|
|
}
|
|
|
|
var _RewardParcelUniqueId = default(VectorOffset);
|
|
|
|
if (_o.RewardParcelUniqueId != null) {
|
|
|
|
var __RewardParcelUniqueId = _o.RewardParcelUniqueId.ToArray();
|
|
|
|
_RewardParcelUniqueId = CreateRewardParcelUniqueIdVector(builder, __RewardParcelUniqueId);
|
|
|
|
}
|
|
|
|
var _RewardParcelUniqueName = default(VectorOffset);
|
|
|
|
if (_o.RewardParcelUniqueName != null) {
|
|
|
|
var __RewardParcelUniqueName = new StringOffset[_o.RewardParcelUniqueName.Count];
|
|
|
|
for (var _j = 0; _j < __RewardParcelUniqueName.Length; ++_j) { __RewardParcelUniqueName[_j] = builder.CreateString(_o.RewardParcelUniqueName[_j]); }
|
|
|
|
_RewardParcelUniqueName = CreateRewardParcelUniqueNameVector(builder, __RewardParcelUniqueName);
|
|
|
|
}
|
|
|
|
var _RewardParcelAmount = default(VectorOffset);
|
|
|
|
if (_o.RewardParcelAmount != null) {
|
|
|
|
var __RewardParcelAmount = _o.RewardParcelAmount.ToArray();
|
|
|
|
_RewardParcelAmount = CreateRewardParcelAmountVector(builder, __RewardParcelAmount);
|
|
|
|
}
|
|
|
|
return CreateRaidRankingRewardExcel(
|
|
|
|
builder,
|
|
|
|
_o.RankingRewardGroupId,
|
|
|
|
_o.Id,
|
|
|
|
_o.RankStart,
|
|
|
|
_o.RankEnd,
|
|
|
|
_o.PercentRankStart,
|
|
|
|
_o.PercentRankEnd,
|
|
|
|
_o.Tier,
|
|
|
|
_RewardParcelType,
|
|
|
|
_RewardParcelUniqueId,
|
|
|
|
_RewardParcelUniqueName,
|
|
|
|
_RewardParcelAmount);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public class RaidRankingRewardExcelT
|
|
|
|
{
|
|
|
|
public long RankingRewardGroupId { get; set; }
|
|
|
|
public long Id { get; set; }
|
|
|
|
public long RankStart { get; set; }
|
|
|
|
public long RankEnd { get; set; }
|
|
|
|
public long PercentRankStart { get; set; }
|
|
|
|
public long PercentRankEnd { get; set; }
|
|
|
|
public int Tier { get; set; }
|
|
|
|
public List<SCHALE.Common.FlatData.ParcelType> RewardParcelType { get; set; }
|
|
|
|
public List<long> RewardParcelUniqueId { get; set; }
|
|
|
|
public List<string> RewardParcelUniqueName { get; set; }
|
|
|
|
public List<long> RewardParcelAmount { get; set; }
|
|
|
|
|
|
|
|
public RaidRankingRewardExcelT() {
|
|
|
|
this.RankingRewardGroupId = 0;
|
|
|
|
this.Id = 0;
|
|
|
|
this.RankStart = 0;
|
|
|
|
this.RankEnd = 0;
|
|
|
|
this.PercentRankStart = 0;
|
|
|
|
this.PercentRankEnd = 0;
|
|
|
|
this.Tier = 0;
|
|
|
|
this.RewardParcelType = null;
|
|
|
|
this.RewardParcelUniqueId = null;
|
|
|
|
this.RewardParcelUniqueName = null;
|
|
|
|
this.RewardParcelAmount = null;
|
|
|
|
}
|
2024-04-21 00:21:57 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static public class RaidRankingRewardExcelVerify
|
|
|
|
{
|
|
|
|
static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
|
|
|
|
{
|
|
|
|
return verifier.VerifyTableStart(tablePos)
|
|
|
|
&& verifier.VerifyField(tablePos, 4 /*RankingRewardGroupId*/, 8 /*long*/, 8, false)
|
|
|
|
&& verifier.VerifyField(tablePos, 6 /*Id*/, 8 /*long*/, 8, false)
|
|
|
|
&& verifier.VerifyField(tablePos, 8 /*RankStart*/, 8 /*long*/, 8, false)
|
|
|
|
&& verifier.VerifyField(tablePos, 10 /*RankEnd*/, 8 /*long*/, 8, false)
|
|
|
|
&& verifier.VerifyField(tablePos, 12 /*PercentRankStart*/, 8 /*long*/, 8, false)
|
|
|
|
&& verifier.VerifyField(tablePos, 14 /*PercentRankEnd*/, 8 /*long*/, 8, false)
|
|
|
|
&& verifier.VerifyField(tablePos, 16 /*Tier*/, 4 /*int*/, 4, false)
|
|
|
|
&& verifier.VerifyVectorOfData(tablePos, 18 /*RewardParcelType*/, 4 /*SCHALE.Common.FlatData.ParcelType*/, false)
|
|
|
|
&& verifier.VerifyVectorOfData(tablePos, 20 /*RewardParcelUniqueId*/, 8 /*long*/, false)
|
|
|
|
&& verifier.VerifyVectorOfStrings(tablePos, 22 /*RewardParcelUniqueName*/, false)
|
|
|
|
&& verifier.VerifyVectorOfData(tablePos, 24 /*RewardParcelAmount*/, 8 /*long*/, false)
|
|
|
|
&& verifier.VerifyTableEnd(tablePos);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|