|
|
|
@ -0,0 +1,555 @@
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace DS.WMS.Core.HangfireJob.Dtos
|
|
|
|
|
{
|
|
|
|
|
public class InInvoiceModel
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 请求获取进项发票接口参数
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class InInvoicePost
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开票时间查询起始时间(查询条件 格式yyyy-MM-dd HH:mm:ss)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string kprqks { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开票时间查询结束时间(查询条件 格式yyyy-MM-dd HH:mm:ss)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string kprqjs { get; set; }
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 请求获取发票详情接口请求参数
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class GetInInvoiceDataInfo
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发票号码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string fphm { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class InInvoicePostOutput
|
|
|
|
|
{
|
|
|
|
|
public int code { get; set; }
|
|
|
|
|
public bool success { get; set; }
|
|
|
|
|
public string msg { get; set; }
|
|
|
|
|
public object msgDev { get; set; }
|
|
|
|
|
public InInvoicePostOutputList Data { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class InInvoicePostOutputList
|
|
|
|
|
{
|
|
|
|
|
public List<Datum> data { get; set; }
|
|
|
|
|
public int dataCount { get; set; }
|
|
|
|
|
public int pageIndex { get; set; }
|
|
|
|
|
public int pageCount { get; set; }
|
|
|
|
|
public int pageSize { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class Datum
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开票日期
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string kprq { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发票类型代码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string fplxdm { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发票号码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string fphm { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 合计金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string hjje { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 合计税额
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string hjse { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 价税合计
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string jshj { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发票状态
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string fpzt { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开票人
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string kpr { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 原发票号码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string yfphm { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 购方开票名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string gfkpmc { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 购方开票税号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string gfkpsh { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 销方开票名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string xfkpmc { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 销方开票税号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string xfkpsh { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否已获取详情
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool IsGetDtl { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 销方识别号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string xfsbh { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 最终校验码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string final_jym { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 购方名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string gfmc { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 当前时间,销项是入库时间,进项是开票时间
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string dqsj { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 扣除额
|
|
|
|
|
/// </summary>
|
|
|
|
|
public float kce { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 机动车发票类型代码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string jdfplxdm { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 税控码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string skm { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 购方税号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string ghdwdm { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 纸质发票号码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string zzfphm { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 收款人
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string skr { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 清单标志
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string qdbz { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开票单位代码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string kpdwdm { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 购方银行账户
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string ghdwyhzh { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
public float je { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 销方名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string xfmc { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 特定要素,目前是货物运输和旅客运输
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string tdys { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 报销状态
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string bxzt { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 购方银行账号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string gfyhzh { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 特定要素类型代码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string tdyslxDm { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 操作员代码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string czydm { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 购方地址电话
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string ghdwdzdh { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否为纸质发票,1 是,0 否
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string sfwzzfp { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发票请求流水号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string fpqqlsh { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 税额
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string se { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 备注
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string bz { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 购方识别号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string gfsbh { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 购方名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string ghdwmc { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 销方税号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string xhdwdm { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发票代码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string fpdm { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 销方地址电话
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string xhdwdzdh { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 明细列表
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string zbmx { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 销方地址电话
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string xddzdh { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 销方银行账号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string xfyhzh { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 复核人
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string fhr { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 购方地址电话
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string gfdzdh { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 销方名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string xhdwmc { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 机器编号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string jqbh { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 商品或服务名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string zyspmc { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 销方银行账户
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string xhdwyhzh { get; set; }
|
|
|
|
|
|
|
|
|
|
public string PDFfile { get; set; }
|
|
|
|
|
public string OFDfile { get; set; }
|
|
|
|
|
public string XMLfile { get; set; }
|
|
|
|
|
public string Allfile { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 状态1未使用,2正在报销,3已报销
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int State { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 钉钉报销审批单编号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string BusinessId { get; set; }
|
|
|
|
|
//钉钉审批实例Id
|
|
|
|
|
public string ProcessInstanceId { get; set; }
|
|
|
|
|
|
|
|
|
|
public List<ininvoiceoutputList> List { get; set; }
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class ininvoiceoutputList
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 明细 id
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string mxid { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发票代码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string fpdm { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发票号码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string fphm { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发票明细行序号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string fpmxxh { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发票行性质
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string fphxz { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string je { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 税率
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string sl { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 税额
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string se { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 商品名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string spmc { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 规格型号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string ggxh { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 单位
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string dw { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 商品数量
|
|
|
|
|
/// </summary>
|
|
|
|
|
public float spsl { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 商品单价
|
|
|
|
|
/// </summary>
|
|
|
|
|
public float spdj { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 商品编码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string spbm { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 版本
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string bb { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 优惠政策标识
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string yhzcbs { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开票日期
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string kprq { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开票单位代码
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string kpdwdm { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string mc { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 序号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string xh { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class InInvoiceDataInfoOutput
|
|
|
|
|
{
|
|
|
|
|
public int code { get; set; }
|
|
|
|
|
public bool success { get; set; }
|
|
|
|
|
public string msg { get; set; }
|
|
|
|
|
public object msgDev { get; set; }
|
|
|
|
|
public InvoiceData data { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class InvoiceData
|
|
|
|
|
{
|
|
|
|
|
public List<InInviceDtl> List { get; set; }
|
|
|
|
|
public string kprq { get; set; }
|
|
|
|
|
public string fplxdm { get; set; }
|
|
|
|
|
public string fphm { get; set; }
|
|
|
|
|
public string hjje { get; set; }
|
|
|
|
|
public string hjse { get; set; }
|
|
|
|
|
public string jshj { get; set; }
|
|
|
|
|
public string fpzt { get; set; }
|
|
|
|
|
public string kpr { get; set; }
|
|
|
|
|
public string yfphm { get; set; }
|
|
|
|
|
public string gfkpmc { get; set; }
|
|
|
|
|
public string gfkpsh { get; set; }
|
|
|
|
|
public string xfkpmc { get; set; }
|
|
|
|
|
public string xfkpsh { get; set; }
|
|
|
|
|
public bool IsGetDtl { get; set; }
|
|
|
|
|
public string xfsbh { get; set; }
|
|
|
|
|
public string final_jym { get; set; }
|
|
|
|
|
public string gfmc { get; set; }
|
|
|
|
|
public string dqsj { get; set; }
|
|
|
|
|
public float kce { get; set; }
|
|
|
|
|
public string jdfplxdm { get; set; }
|
|
|
|
|
public string skm { get; set; }
|
|
|
|
|
public string ghdwdm { get; set; }
|
|
|
|
|
public string zzfphm { get; set; }
|
|
|
|
|
public string skr { get; set; }
|
|
|
|
|
public string qdbz { get; set; }
|
|
|
|
|
public string kpdwdm { get; set; }
|
|
|
|
|
public string ghdwyhzh { get; set; }
|
|
|
|
|
public float je { get; set; }
|
|
|
|
|
public string xfmc { get; set; }
|
|
|
|
|
public string tdys { get; set; }
|
|
|
|
|
public string bxzt { get; set; }
|
|
|
|
|
public string gfyhzh { get; set; }
|
|
|
|
|
public string tdyslxDm { get; set; }
|
|
|
|
|
public string czydm { get; set; }
|
|
|
|
|
public string ghdwdzdh { get; set; }
|
|
|
|
|
public string sfwzzfp { get; set; }
|
|
|
|
|
public string fpqqlsh { get; set; }
|
|
|
|
|
public string se { get; set; }
|
|
|
|
|
public string bz { get; set; }
|
|
|
|
|
public string gfsbh { get; set; }
|
|
|
|
|
public string ghdwmc { get; set; }
|
|
|
|
|
public string xhdwdm { get; set; }
|
|
|
|
|
public string fpdm { get; set; }
|
|
|
|
|
public string xhdwdzdh { get; set; }
|
|
|
|
|
public string zbmx { get; set; }
|
|
|
|
|
public string xddzdh { get; set; }
|
|
|
|
|
public string xfyhzh { get; set; }
|
|
|
|
|
public string fhr { get; set; }
|
|
|
|
|
public string gfdzdh { get; set; }
|
|
|
|
|
public string xhdwmc { get; set; }
|
|
|
|
|
public string jqbh { get; set; }
|
|
|
|
|
public string zyspmc { get; set; }
|
|
|
|
|
public string xhdwyhzh { get; set; }
|
|
|
|
|
public string PDFfile { get; set; }
|
|
|
|
|
public string OFDfile { get; set; }
|
|
|
|
|
public string XMLfile { get; set; }
|
|
|
|
|
public string Allfile { get; set; }
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class InInviceDtl
|
|
|
|
|
{
|
|
|
|
|
public string mxid { get; set; }
|
|
|
|
|
public string fpdm { get; set; }
|
|
|
|
|
public string fphm { get; set; }
|
|
|
|
|
public string fpmxxh { get; set; }
|
|
|
|
|
public string fphxz { get; set; }
|
|
|
|
|
public string je { get; set; }
|
|
|
|
|
public string sl { get; set; }
|
|
|
|
|
public string se { get; set; }
|
|
|
|
|
public string spmc { get; set; }
|
|
|
|
|
public string ggxh { get; set; }
|
|
|
|
|
public string dw { get; set; }
|
|
|
|
|
public float spsl { get; set; }
|
|
|
|
|
public float spdj { get; set; }
|
|
|
|
|
public string spbm { get; set; }
|
|
|
|
|
public string bb { get; set; }
|
|
|
|
|
public string yhzcbs { get; set; }
|
|
|
|
|
public string kprq { get; set; }
|
|
|
|
|
public string kpdwdm { get; set; }
|
|
|
|
|
public string mc { get; set; }
|
|
|
|
|
public string xh { get; set; }
|
|
|
|
|
public long TenantId { get; set; }
|
|
|
|
|
public string TenantName { get; set; }
|
|
|
|
|
public bool IsDeleted { get; set; }
|
|
|
|
|
public object CreateId { get; set; }
|
|
|
|
|
public object CreateBy { get; set; }
|
|
|
|
|
public string CreateTime { get; set; }
|
|
|
|
|
public object ModifyId { get; set; }
|
|
|
|
|
public object ModifyBy { get; set; }
|
|
|
|
|
public object ModifyTime { get; set; }
|
|
|
|
|
public long Id { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|