C#弹出窗体、C#导出Excel、C#数据展示框、C#弹出框

1、new 一个窗体,然后设置窗体属性。

2、添加数据展示控件,显示数据。

3、添加按钮控件,调用导出Excel代码,实现导出Excel功能。

using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using DevExpress.Utils;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraTab;
using SynData.MsBox; namespace SynData
{
public class DevHelper
{
#region =======================================弹出消息框=========================================
/// <summary>
/// 弹出消息框,大消息
/// </summary>
/// <param name="title">显示标题</param>
/// <param name="msg">弹出消息框</param>
/// <returns></returns>F:\MyBak\Web_Code\数据通同步\SynData\MsBox\MsMBox.cs
public static void MesBox(string title)
{
MsMBox f = new MsMBox(title, );
f.Show();
} /// <summary>
/// 弹出消息框,大消息
/// </summary>
/// <param name="title">显示标题</param>
/// <param name="msg">弹出消息框</param>
/// <returns></returns>F:\MyBak\Web_Code\数据通同步\SynData\MsBox\MsDialogResult.cs
public static void MsDialogResult(string msg)
{
MsDialogResult f = new MsDialogResult(msg, true);
f.ShowDialog();
} /// <summary>
/// 弹出消息框,大消息
/// </summary>
/// <param name="title">显示标题</param>
/// <param name="msg">弹出消息框</param>
/// <returns></returns>F:\MyBak\Web_Code\数据通同步\SynData\MsBox\MsDialogResult.cs
public static void MsDialogResult(string msg, bool bl)
{
MsDialogResult f = new MsDialogResult(msg, bl);
f.ShowDialog();
}
#endregion
#region ========================================GridLookUpEdit 数据显示========================================
/// <summary>
/// GridLookUpEdit 数据显示
/// </summary>
/// <param name="gridLookUpEdit">GridLookUpEdit</param>
/// <param name="sql">sql 语句</param>
/// <param name="displaymember">绑定Text显示的字段源名称</param>
/// <param name="valuemember">绑定Value字段源名称</param>
/// <param name="ConnectionStringLocalTransaction">连接字符串</param>
public static void GetApiisid(GridLookUpEdit gridLookUpEdit, string sql, string displaymember, string valuemember, string ConnectionStringLocalTransaction)
{
DataTable dt = SQlHelper.GetDataTable(ConnectionStringLocalTransaction,
sql
).Tables[];
gridLookUpEdit.Properties.View.OptionsBehavior.AutoPopulateColumns = false;
gridLookUpEdit.Properties.DataSource = dt; //数据源
gridLookUpEdit.Properties.DisplayMember = displaymember; //绑定Text显示的字段源名称
gridLookUpEdit.Properties.ValueMember = valuemember; //绑定Value字段源名称
gridLookUpEdit.Properties.NullText = null;
gridLookUpEdit.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
gridLookUpEdit.Properties.View.BestFitColumns();
gridLookUpEdit.Properties.View.OptionsView.ShowAutoFilterRow = true; //显示不显示grid上第一个空行,也是用于检索的应用
}
#endregion
#region ===========================================GridContrl表格样式设计,可以导出数据。========================================
/// <summary>
/// 表格样式设计,可以导出数据。
/// </summary>
/// <param name="GCOrderItem">GridControl</param>
/// <param name="TableName">表名</param>
/// <param name="istype">是否依类型显示数据</param>
/// <param name="constr">数据库连接字符串</param>
public static void GetSetGridContrl(GridControl GCOrderItem, string TableName, string istype, string constr)
{
GridView gridView1 = (GridView)GCOrderItem.MainView;
gridView1.IndicatorWidth = ;
gridView1.OptionsView.ShowAutoFilterRow = true;
gridView1.OptionsView.ColumnAutoWidth = false;
//自动列宽,会出现横向滚动条
gridView1.OptionsView.ColumnAutoWidth = false;
//自动列宽
gridView1.BestFitColumns();
StringBuilder sb = new StringBuilder();
sb.Append("SELECT ");
sb.Append(" TableName,TableReMark,FileNames,FileReMark,LONG ,type2,LONG2 ");
sb.Append("FROM dbo.Lan_TableField ");
sb.Append("WHERE TableName = '" + TableName + "' order by SortNo ");
DataTable dt = SQlHelper.GetDataTable(constr, sb.ToString()).Tables[];
for (int i = ; i < dt.Rows.Count; i++)
{
string filename = dt.Rows[i]["FileNames"].ToString().Trim();
string rem = dt.Rows[i]["FileReMark"].ToString().Trim();
string FILETYPE = dt.Rows[i]["type2"].ToString().Trim().ToUpper();
int LONG = Convert.ToInt32(dt.Rows[i]["LONG2"].ToString().Trim());
DevExpress.XtraGrid.Columns.GridColumn Col1 = new DevExpress.XtraGrid.Columns.GridColumn();
Col1.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
if (istype == "依类型")
{
if (FILETYPE == "时间")
{
Col1.DisplayFormat.FormatType = FormatType.DateTime;
Col1.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
}
if (FILETYPE == "数值")
{
Col1.DisplayFormat.FormatType = FormatType.Numeric;
}
}
Col1.Width = LONG;
if (LONG < )
{
Col1.Width = ;
}
Col1.Tag = filename + " ; " + rem;
Col1.Name = filename;
Col1.FieldName = filename;
Col1.Caption = rem;
Col1.VisibleIndex = i;
gridView1.Columns.Add(Col1);
}
gridView1.OptionsView.ShowGroupPanel = false;
gridView1.Appearance.OddRow.BackColor = Color.PaleGoldenrod; // 设置奇数行颜色 // 默认也是白色 可以省略
gridView1.OptionsView.EnableAppearanceOddRow = true; // 使能 // 和和上面绑定 同时使用有效
gridView1.Appearance.EvenRow.BackColor = Color.WhiteSmoke; // 设置偶数行颜色
gridView1.OptionsView.EnableAppearanceEvenRow = true; // 使能 // 和和上面绑定 同时使用有效
gridView1.CustomDrawRowIndicator += gridView1_CustomDrawRowIndicator;
}
#endregion
#region ================================================弹出导出Excel窗体方法================================================ /// <summary>
/// 将 DataRow[] 集合显示到表中
/// </summary>
/// <param name="Mdr"></param>
public static void ExprlDataRow(DataRow[] Mdr)
{
if (Mdr != null)
{
DataTable newdt = new DataTable();
try
{
DataTable DTtemp = Mdr[].Table;
newdt = DTtemp.Clone();
for (int i = ; i < Mdr.Length; i++)
{
newdt.ImportRow((DataRow)Mdr[i]);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
ExprlDataTable(newdt);
}
}
/// <summary>
/// 将 DataRow 显示到表中
/// </summary>
/// <param name="Mdr"></param>
public static void ExprlDataRow(DataRow Mdr)
{
if (Mdr != null)
{
DataTable newdt = new DataTable();
try
{
DataTable DTtemp = Mdr.Table;
newdt = DTtemp.Clone();
newdt.ImportRow((DataRow)Mdr);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
ExprlDataTable(newdt);
}
}
/// <summary>
/// 弹出异常消息框,可导出数异常数据
/// </summary>
/// <param name="TableName">异常数据表名</param>
/// <param name="dt">异常消息表</param>
/// <param name="fText">弹出框显示文本</param>
/// <param name="con">连接字符串</param>
public static void ExprlDataTable(DataTable dt)
{
/*------------------------------创建窗体-------------------------------------*/
Form f = GetSetFrom();
/*------------------------------创建Panel容器-------------------------------------*/
Panel pl = (Panel)(f.Controls.Find("FPL", true)[]);
/*------------------------------------数据展示----------------------------------------*/
if (dt != null)
{
/*------------------------------ 添加选卡控件-------------------------------------*/
XtraTabControl tab = new XtraTabControl();
tab.Name = "XTC";
pl.Controls.Add(tab);
tab.Dock = System.Windows.Forms.DockStyle.Fill; /*------------------------------ 创建选卡-------------------------------------*/
XtraTabPage xtra = new XtraTabPage();
xtra.Name = dt.TableName;//设置选卡name
xtra.Text = dt.TableName;//设置选卡显示文本
/*------------------------------ 创建数据展示控件GridControl------------------*/
DevExpress.XtraGrid.GridControl GCOrderItem = CreateGCOrderItem(dt);
xtra.Controls.Add(GCOrderItem);
tab.TabPages.Add(xtra); f.Show();
}
} /// <summary>
/// 弹出异常消息框,可导出数异常数据
/// </summary>
/// <param name="TableName">异常数据表名</param>
/// <param name="dt">异常消息表</param>
/// <param name="fText">弹出框显示文本</param>
/// <param name="con">连接字符串</param>
public static void ExprlDataSet(DataSet ds)
{
/*------------------------------创建窗体-------------------------------------*/
Form f = GetSetFrom();
/*------------------------------创建Panel容器-------------------------------------*/
Panel pl = (Panel)(f.Controls.Find("FPL", true)[]);
/*------------------------------------数据展示----------------------------------------*/
if (ds != null)
{
/*------------------------------ 添加选卡控件-------------------------------------*/
XtraTabControl tab = new XtraTabControl();
tab.Name = "XTC";
pl.Controls.Add(tab);
tab.Dock = System.Windows.Forms.DockStyle.Fill;
for (int t = ; t < ds.Tables.Count; t++)
{
DataTable dt = ds.Tables[t];
/*------------------------------ 创建选卡-------------------------------------*/
XtraTabPage xtra = new XtraTabPage();
xtra.Name = dt.TableName;//设置选卡name
xtra.Text = dt.TableName;//设置选卡显示文本
/*------------------------------ 创建数据展示控件GridControl------------------*/
DevExpress.XtraGrid.GridControl GCOrderItem = CreateGCOrderItem(dt);
xtra.Controls.Add(GCOrderItem);
tab.TabPages.Add(xtra);
}
f.Show();
}
}
/// <summary>
/// 弹出异常消息框,可导出数异常数据
/// </summary>
/// <param name="TableName">异常数据表名</param>
/// <param name="dt">异常消息表</param>
/// <param name="fText">弹出框显示文本</param>
/// <param name="con">连接字符串</param>
public static void ExprlDictionary(Dictionary<string, DataTable> Dic)
{
/*------------------------------创建窗体-------------------------------------*/
Form f = GetSetFrom();
/*------------------------------创建Panel容器-------------------------------------*/
Panel pl = (Panel)(f.Controls.Find("FPL", true)[]);
/*------------------------------------数据展示----------------------------------------*/
if (Dic != null)
{
/*------------------------------ 添加选卡控件-------------------------------------*/
XtraTabControl tab = new XtraTabControl();
tab.Name = "XTC";
pl.Controls.Add(tab);
tab.Dock = System.Windows.Forms.DockStyle.Fill;
foreach (KeyValuePair<string, DataTable> item2 in Dic)
{
DataTable dt = item2.Value;
/*------------------------------ 创建选卡-------------------------------------*/
XtraTabPage xtra = new XtraTabPage();
xtra.Name = dt.TableName;//设置选卡name
xtra.Text = dt.TableName;//设置选卡显示文本
/*------------------------------ 创建数据展示控件GridControl------------------*/
DevExpress.XtraGrid.GridControl GCOrderItem = CreateGCOrderItem(dt);
xtra.Controls.Add(GCOrderItem);
tab.TabPages.Add(xtra);
}
f.Show();
}
}
/// <summary>
/// 弹出异常消息框,可导出数异常数据
/// </summary>
/// <param name="TableName">异常数据表名</param>
/// <param name="dt">异常消息表</param>
/// <param name="fText">弹出框显示文本</param>
/// <param name="con">连接字符串</param>
public static void ExprlList(List<DataTable> Dic)
{
/*------------------------------创建窗体-------------------------------------*/
Form f = GetSetFrom();
/*------------------------------创建Panel容器-------------------------------------*/
Panel pl = (Panel)(f.Controls.Find("FPL", true)[]);
/*------------------------------------数据展示----------------------------------------*/
if (Dic != null)
{
/*------------------------------ 添加选卡控件-------------------------------------*/
XtraTabControl tab = new XtraTabControl();
tab.Name = "XTC";
pl.Controls.Add(tab);
tab.Dock = System.Windows.Forms.DockStyle.Fill;
foreach (DataTable item2 in Dic)
{
/*------------------------------ 创建选卡-------------------------------------*/
XtraTabPage xtra = new XtraTabPage();
xtra.Name = item2.TableName;//设置选卡name
xtra.Text = item2.TableName;//设置选卡显示文本
/*------------------------------ 创建数据展示控件GridControl------------------*/
DevExpress.XtraGrid.GridControl GCOrderItem = CreateGCOrderItem(item2);
xtra.Controls.Add(GCOrderItem);
tab.TabPages.Add(xtra);
}
f.Show();
}
} /// <summary>
/// 创建From 以及Panel
/// </summary>
/// <returns></returns>
public static Form GetSetFrom()
{
/*------------------------------创建窗体-------------------------------------*/
Form f = new Form();
f.Text = "数据展示";//dt2.Rows[0]["TableReMark"].ToString();//显示窗体名称
f.StartPosition = FormStartPosition.CenterScreen;
f.Size = new System.Drawing.Size(, );
f.FormClosing += f_FormClosing;
/*-----------------------------创建导出按钮--------------------------------------*/
Label LbtnExcel = new Label();
LbtnExcel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
LbtnExcel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
LbtnExcel.Image = global::SynData.Properties.Resources.get_mail_24px_33246_easyicon_net;
LbtnExcel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
LbtnExcel.Location = new System.Drawing.Point(, );
LbtnExcel.Name = "label14";
LbtnExcel.Size = new System.Drawing.Size(, );
LbtnExcel.TabIndex = ;
LbtnExcel.Text = "导出Excel";
LbtnExcel.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)()));
LbtnExcel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
LbtnExcel.Click += new System.EventHandler(BtnExprl_Click);
LbtnExcel.MouseEnter += new System.EventHandler(label_MouseEnter);//鼠标移到控件上时手型鼠标
LbtnExcel.MouseLeave += new System.EventHandler(label_MouseLeave);//鼠标移到控件上时手型鼠标
LbtnExcel.Anchor = ((System.Windows.Forms.AnchorStyles)(System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)); //窗体添加按钮
f.Controls.Add(LbtnExcel);
/*------------------------------创建Panel容器-------------------------------------*/
Panel pl = new Panel();
pl.Location = new System.Drawing.Point(, );
pl.Size = new System.Drawing.Size(, );
f.Controls.Add(pl);
//上下左右靠拢
pl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
pl.Name = "FPL"; return f; }
/// <summary>
/// 返回绑定好数据的 GridControl
/// </summary>
/// <param name="dt">绑定的数据</param>
/// <returns></returns>
public static GridControl CreateGCOrderItem(DataTable dt )
{
/*------------------------------ 创建数据展示控件GridControl------------------*/
GridView gridView1 = new GridView();
DevExpress.XtraGrid.GridControl GCOrderItem = new DevExpress.XtraGrid.GridControl();
GCOrderItem.Dock = System.Windows.Forms.DockStyle.Fill;
GCOrderItem.MainView = gridView1;
GCOrderItem.Name = "GC" + dt.TableName;//设置GridControl名称
GCOrderItem.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
gridView1.GridControl = GCOrderItem;
gridView1.Name = "gV" + dt.TableName;//设置gridView1名称
gridView1.OptionsBehavior.Editable = false;
gridView1.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click;
gridView1.OptionsView.ShowGroupPanel = false;
gridView1.IndicatorWidth = ;
gridView1.OptionsView.ShowAutoFilterRow = true;
gridView1.OptionsView.ColumnAutoWidth = false;//自动列宽,会出现横向滚动条
//自动列宽
gridView1.BestFitColumns();
if (dt.Rows.Count > )
{
for (int i = ; i < dt.Columns.Count; i++)
{
//控件添加列
DevExpress.XtraGrid.Columns.GridColumn Col1 = new DevExpress.XtraGrid.Columns.GridColumn();
if (dt.Columns[i].DataType.ToString() =="System.DateTime")
{
Col1.DisplayFormat.FormatType = FormatType.DateTime;
Col1.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
}
Col1.Name = dt.Columns[i].Caption.ToString();// 控件列名
Col1.FieldName = dt.Columns[i].Caption.ToString();// 列数据源字段名
Col1.Caption = dt.Columns[i].Caption.ToString();// 列标题
Col1.VisibleIndex = i;
Col1.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
//Col1.DisplayFormat.FormatType = dt.Columns[i].DataType;
gridView1.Columns.Add(Col1);
}
}
gridView1.Appearance.OddRow.BackColor = Color.PaleGoldenrod; // 设置奇数行颜色 // 默认也是白色 可以省略
gridView1.OptionsView.EnableAppearanceOddRow = true; // 使能 // 和和上面绑定 同时使用有效
gridView1.Appearance.EvenRow.BackColor = Color.WhiteSmoke; // 设置偶数行颜色
gridView1.OptionsView.EnableAppearanceEvenRow = true; // 使能 // 和和上面绑定 同时使用有效
/* 自动添加 行索引 以及 模糊查询设置*/
gridView1.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(gridView1_CustomDrawRowIndicator);
GCOrderItem.DataSource = dt;//数据源绑定
return GCOrderItem;
}
/// <summary>
/// 弹出异常消息框,可导出数异常数据
/// </summary>
/// <param name="TableName">异常数据表名</param>
/// <param name="dt">异常消息表</param>
/// <param name="fText">弹出框显示文本</param>
/// <param name="con">连接字符串</param>
public static void GetSetGridContrl(string TableName, DataTable dt, string con)
{
StringBuilder sb = new StringBuilder();
sb.Append("SELECT ");
sb.Append(" TableName,TableReMark,FileNames,FileReMark,LONG ,type2,LONG2 ");
sb.Append("FROM dbo.Lan_TableField ");
sb.Append("WHERE TableName = '" + TableName + "' order by SortNo ");
DataTable dt2 = SQlHelper.GetDataTable(con, sb.ToString()).Tables[];
Form f = new Form();
f.StartPosition = FormStartPosition.CenterScreen;
f.Size = new System.Drawing.Size(, );
//f.Text = fText;
f.FormClosing += f_FormClosing;
GridView gridView1 = new GridView();
DevExpress.XtraGrid.GridControl GCOrderItem = new DevExpress.XtraGrid.GridControl();
GCOrderItem.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
Button btn = new Button();
btn.Text = "导出Excel";
btn.Click += btn_Click;
btn.Location = new System.Drawing.Point(, );
btn.Anchor = ((System.Windows.Forms.AnchorStyles)
(System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)
);
btn.Size = new System.Drawing.Size(, );
f.Controls.Add(btn); Label lb = new Label();
lb.Name = "lbExcel";
lb.Location = new System.Drawing.Point(, );
lb.Visible = false;
lb.ForeColor = Color.Red;
lb.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)()));
GCOrderItem.Cursor = System.Windows.Forms.Cursors.Default;
//GCOrderItem.Dock = System.Windows.Forms.DockStyle.Fill;
GCOrderItem.Location = new System.Drawing.Point(, );
GCOrderItem.MainView = gridView1;
GCOrderItem.Name = "GCOrderItem";
GCOrderItem.Size = new System.Drawing.Size(, );
GCOrderItem.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
gridView1}); f.Controls.Add(GCOrderItem); gridView1.GridControl = GCOrderItem;
gridView1.Name = "gridView1";
gridView1.OptionsBehavior.Editable = false;
gridView1.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click;
gridView1.OptionsView.ShowGroupPanel = false; gridView1.IndicatorWidth = ;
gridView1.OptionsView.ShowAutoFilterRow = true;
gridView1.OptionsView.ColumnAutoWidth = false;
//自动列宽,会出现横向滚动条
gridView1.OptionsView.ColumnAutoWidth = false;
//自动列宽
gridView1.BestFitColumns();
if (dt2.Rows.Count > )
{
string FILETYPE = "";
for (int i = ; i < dt2.Rows.Count; i++)
{
DevExpress.XtraGrid.Columns.GridColumn Col1 = new DevExpress.XtraGrid.Columns.GridColumn();
Col1.Name = dt2.Rows[i]["FileNames"].ToString();// itm.Key;
Col1.FieldName = dt2.Rows[i]["FileNames"].ToString();// itm.Key;
Col1.Caption = dt2.Rows[i]["FileReMark"].ToString(); //itm.Value;
Col1.VisibleIndex = i;
Col1.Width = Convert.ToInt32(dt2.Rows[i]["LONG2"].ToString());
Col1.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
FILETYPE = dt2.Rows[i]["type2"].ToString().Trim().ToUpper();
if (FILETYPE == "时间")
{
Col1.DisplayFormat.FormatType = FormatType.DateTime;
Col1.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
}
if (FILETYPE == "数值")
{
Col1.DisplayFormat.FormatType = FormatType.Numeric;
}
gridView1.Columns.Add(Col1);
}
f.Text = dt2.Rows[]["TableReMark"].ToString();//显示窗体名称
}
gridView1.Appearance.OddRow.BackColor = Color.PaleGoldenrod; // 设置奇数行颜色 // 默认也是白色 可以省略
gridView1.OptionsView.EnableAppearanceOddRow = true; // 使能 // 和和上面绑定 同时使用有效
gridView1.Appearance.EvenRow.BackColor = Color.WhiteSmoke; // 设置偶数行颜色
gridView1.OptionsView.EnableAppearanceEvenRow = true; // 使能 // 和和上面绑定 同时使用有效
gridView1.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(gridView1_CustomDrawRowIndicator);
GCOrderItem.DataSource = dt;
f.Show();
} private static void BtnExprl_Click(object sender, EventArgs e)
{
string path = BLL_getpath();//选择路径
string path2 = path.Replace(".xls", "").Replace(".xlsx", "");
/*如果路径不存在那么创建路径*/
if (!Directory.Exists(path2))
{
Directory.CreateDirectory(path2);
}
try
{
Label btn = (Label)sender; /*获取按钮对象*/
Form f = btn.FindForm();/*获取窗体对象*/
DevExpress.XtraGrid.GridControl GCOrderItem = null;/*获取数据展示控件*/
Panel pl = (Panel)(f.Controls.Find("FPL", true)[]);
XtraTabControl tab = (XtraTabControl)pl.Controls.Find("XTC", true)[];
foreach (XtraTabPage gc in tab.TabPages)
{
foreach (Control con in gc.Controls)
{
if (con.GetType().ToString() == "DevExpress.XtraGrid.GridControl")
{
GCOrderItem = new GridControl();
GCOrderItem = (DevExpress.XtraGrid.GridControl)con;
DataTable dt = (DataTable)GCOrderItem.DataSource;
GridView dv = (GridView)GCOrderItem.MainView;
/*获取数据表*/
DataTable DT_sap = dt.Clone();
for (int i = ; i < dt.Rows.Count; i++)
{
DataRow dr = DT_sap.NewRow();
for (int j = ; j < dt.Columns.Count; j++)
{
string col = dt.Columns[j].ColumnName;
dr[col] = dt.Rows[i][col];
}
DT_sap.Rows.Add(dr);
}
/*转换中文列名*/
foreach (DevExpress.XtraGrid.Columns.GridColumn gcm in dv.Columns)
{
string name = gcm.Name;
string text = gcm.Caption;
DT_sap.Columns[name].Caption = text;
DT_sap.Columns[name].ColumnName = text;
}
Label lb = new Label();
/*快速 导出Excel方法*/
WriteExcel(DT_sap, path2 + "\\" + GCOrderItem.Name + ".xls", lb);
}
}
}
}
catch (Exception ex)
{
MsDialogResult("导出失败!\r\n" + ex.Message.ToString(), false);
}
}
/// <summary>
/// 鼠标进入控件上方时,手型鼠标,背景灰色
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void label_MouseEnter(object sender, EventArgs e)
{
Label lable = (Label)sender;
lable.Cursor = Cursors.Hand;
lable.BackColor = Color.Gainsboro;
}
/// <summary>
/// 鼠标离开控件时,箭头鼠标,背景恢复正常
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void label_MouseLeave(object sender, EventArgs e)
{
Label lable = (Label)sender;
lable.Cursor = Cursors.Default;
lable.BackColor = Control.DefaultBackColor;
}
static void f_FormClosing(object sender, FormClosingEventArgs e)
{
Form f = (Form)sender;
f.Dispose();
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
static void btn_Click(object sender, EventArgs e)
{
try
{
Button btn = (Button)sender;//获取按钮对象
Form f = btn.FindForm();//获取 按钮 所在的窗体
DevExpress.XtraGrid.GridControl GCOrderItem = null;
foreach (Control con in f.Controls)
{
if (con.Name == "GCOrderItem")
{
GCOrderItem = (DevExpress.XtraGrid.GridControl)con;
DataTable dt = (DataTable)GCOrderItem.DataSource;
GridView dv = (GridView)GCOrderItem.MainView; DataTable DT_sap = dt.Clone();
for (int i = ; i < dt.Rows.Count; i++)
{
DataRow dr = DT_sap.NewRow();
for (int j = ; j < dt.Columns.Count; j++)
{
string col = dt.Columns[j].ColumnName;
dr[col] = dt.Rows[i][col];
}
DT_sap.Rows.Add(dr);
}
foreach (DevExpress.XtraGrid.Columns.GridColumn gcm in dv.Columns)
{
string name = gcm.Name;
string text = gcm.Caption;
DT_sap.Columns[name].Caption = text;
DT_sap.Columns[name].ColumnName = text;
}
string path = BLL_getpath();
char[] anyOf = { '\\' };
int count = path.LastIndexOfAny(anyOf);
string filname1 = path.Substring(count + , path.Length - count - );
string Table1 = path.Substring(, count) + "\\" + filname1;
Label lb = new Label();
WriteExcel(DT_sap, Table1, lb);
}
}
MsDialogResult("导出成功!");
}
catch (Exception ex)
{
MsDialogResult(ex.Message.ToString(),false);
}
} /// <summary>
/// 自动添加 行索引 以及 模糊查询设置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
{
//添加行索引
if (e.Info.IsRowIndicator && e.RowHandle >= )
{
e.Info.DisplayText = (e.RowHandle + ).ToString();
}
//模糊查询时 可以不用输入“%”
foreach (DevExpress.XtraGrid.Columns.GridColumn item in ((GridView)sender).Columns)
{
item.OptionsFilter.AutoFilterCondition = DevExpress.XtraGrid.Columns.AutoFilterCondition.Contains; //筛选条件设置为包含
}
}
/// <summary>
/// 获取Excel文件保存路径
/// </summary>
/// <returns></returns>
public static string BLL_getpath()
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Title = "保存的excel文件";
saveFileDialog.InitialDirectory = "c:\\";
saveFileDialog.Filter = "Excel97-2003 (*.xls)|*.xls|All Files (*.*)|*.*";
saveFileDialog.ShowDialog();
string path = saveFileDialog.FileName;
if (saveFileDialog.FileName == "" || saveFileDialog.FileName == null)
{
path = "文件名不能为空!";
}
return path;
} /// <summary>
/// 快速导出Excel的方法
/// </summary>
/// <param name="dt"></param>
/// <param name="path"></param>
/// <param name="lblTip"></param>
public static void WriteExcel(DataTable dt, string path, Label lblTip)
{
try
{
lblTip.Visible = true;
string mark = lblTip.Text;
long totalCount = (long)dt.Rows.Count;
lblTip.Text = string.Concat(new object[]{lblTip.Text,"共有",totalCount, "条数据。"});
Thread.Sleep();
long rowRead = 0L;
StreamWriter sw = new StreamWriter(path, false, Encoding.GetEncoding("gb2312"));
StringBuilder sb = new StringBuilder();
for (int i = ; i < dt.Columns.Count; i++)
{
sb.Append(dt.Columns[i].ColumnName.ToString() + "\t");
}
sb.Append(Environment.NewLine);
for (int j = ; j < dt.Rows.Count; j++)
{
rowRead += 1L;
lblTip.Text = mark + "正在写入[" + ((float)(100L * rowRead) / (float)totalCount).ToString("0.00") + "%]...的数据";
Application.DoEvents();
for (int k = ; k < dt.Columns.Count; k++)
{
string xmlss;
if (dt.Rows[j][k] == null)
{
xmlss = "空";
}
else if (dt.Rows[j][k].ToString().Trim() == "")
{
xmlss = "空";
}
else
{
xmlss = dt.Rows[j][k].ToString().Replace("\n", "").Replace("\r\n", "").Replace("\t", "").Replace("\\s", "").Replace("\\n", "").Replace("\r", "").Replace("\\r", "").Replace("@", "").Replace("\\", "").Replace("/", "");
}
sb.Append(xmlss + "\t");
}
sb.Append(Environment.NewLine);
}
sw.Write(sb.ToString());
sw.Flush();
sw.Close();
lblTip.Text = "";
lblTip.Visible = false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
#endregion
}
}

aaarticlea/png;base64,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" alt="" />

自己再学习和摸索阶段,代码写的有点乱,纯属瞎搞。

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIQAAABuCAIAAABp+SwUAAAgAElEQVR4nOy8Z5AcWX7gh1OQYiikU0ihYIQuTnHkShekqLvlKe7EJXk88niUVlxSt+Tu3RpyDfe4XDPeG8wMMAMMzGAwQDcaaDQapr3v8t53V3WXa1PepCtf6b2pqi6f+lCNHiwwM7tHfdB+2Be/6H6ZldWV/f/V+7/38mXVKfUX5eemnPr/+wR+UT4uv5Dxc1R+IePnqPxCxs9R+YWMn6PyCxk/R+UXMn6Oyk/IGA6Hj2wNVHWgDobqUH3ymOMDh6o67Kn93lBV+6qqDluf+jrDz+Th74E6HKjDJ87k/3MZqupAVVW1rXa7am9Uf7IMBoPhsD8YHD88HJ6cxmCg9oeqqg7Voap2h4O+Ohiqg+PIDIbDYX+oqt2h2j9+Zu/jVx4Of+r/cnLAz9oyHjo4/ttDtdNSh321pw47PVXtq2p/2Ot8yhM/sQwGg8FgMBwO+/1+r9fr9/sPn6AOev1PLKPDRpWfsXS6/U633+v0e51+p9tv9btHvW6v0293O632Uat9dNRpN49arfbRaM9Rp33UaXc6vW633+uNznHQ6/UGg56qqsP+yExvqPaGw36/2+t2u6N37chHX1UHg4H6KbafDMJjB3yqjFGYRv/MCd3eYER/2Ov3OkftbnOgdgbq4Kgz6HR7qtrrDT6R0bMe/VPtTq/d6bW6vaNev9PptVudo2a73eq0W51RbEa0jjqfTbPV/gzkVqfR7DaaHanZFhvNRqPVaLR4WWk0j2SlqTRaSqMlyY2TuqA0REmR5IbSaB21u+1Or9VqiaKoyOJRs9VuHQ37g+Ggo6q9jyM+7Kv9jqr2hsPho43lp7aJJw/4VBm9/vCo3RUbR4LSEhtHcmv0/xxJzbbUbPOMLPeHvNJqyp2jI1VU2q1WoyEojebRJyK3OiNGTz+BbbSkVqfZ6irykSS3pGZbanWEow4vN0evOzqBT4OXmyM4qfFpsEKDFRqULDGCKPANQWxSAscIIs0LjCCyokTzwqhOcTzJiSQnkqxA85LYaMpKk6LZcqVWLBbrdYyiGJ7nBYGTFJkVlWZf7R9n2Z467KnD/kla+wwHn2jls2QM1GG705OaLVZqkpxECwont2hBIViR4mVGbFCNrsxRgiQyrS4tyBjbIBp9VmFZURnxcSxGe6QmIzYehZWarNRklBYtNxmxQYoKITZxqVniRIBicEYYvS4jNiheJjmJ4mVaUCheHm0+BsGKJ+CMcALJcjglYjRPcAzO8BjVQBkFFRiM5lGKw2geo/k6ydZJFqW4OslWSKZKsTWCQSmWkxqMIBcq1Xg6sx9PxVLZZA5M56EMACdzkCeaDGTKuQoudwdDVe112yMHH+fbR+M5GIy6okez/U+TMTy22h8OGu0OLzcpsYUyEsbKpNBEGQllJFJo0tIR3WiSjMgrRxjPkCzDy70606IUmRA+Bb5B8A2cU0aMNgm+UWelOqvUOKXMygVGzBJcvE5GK2iNElBGOnkWxsoYK+OcMjqHx6jT4gk1SngUgmFrlFQleZymiiS7X+EPy1yRpEuUgODsCBhjEJwtEByCswhKlUmuhFMVkmFEheREACntxZK70UN/9MC/f7gd2Q8fJLzhxJ1N56TBP2sN+OMA3+p0u91er9fvD4/a3f5APekUP6M1/LQ+46GMwVBttHus1MQ5pcaIKCdjvFJjRFxoUPIRyskZTHrNj97PsA2lLQi9MttgOBanuhjf/BQUjFdQTj5htKeACwgpQrQEsXKelnKkkKdEmGnWWQXlGifUWeWEGiN/GlVaeow6wxeZRomUUJJJoYwmT+gzWLbGxKvkYRmPVYh4lYxXyUSNStSowzIOoXSJEoo4UyJpSlIoXsojpchhYie0vxXe80X23DuhQDTuDMU/WjRfWHVfXHJcWzJlKmSrOxAlRRBlWWm2O71+v99qtWRZbjQa7Xa72+32+/3hcNjr/cRA6zNlqIPHZIxigQstlGtUaQkXWpjYglD6e77yX5jRP1ytXDnAKZEUBKnIq5ggjY7/NCUnkT2JclU8Aikpg3MZgs+SEkDKBbJRY7p1vlHjlAojVRipysojRpufTZkWH6VEsADTQgilhrF7VW46hd2PocmauFuo7yC1UAnbq1EjwmV8B6mBNaZECQhOFwmKFGWME3JwKXKYDOyEfaGILxJ1bAd8oag1sH9pznhu1XNhbfv8A0MoX6H4Bs0ILCexnCQrR4qikCRZLpdLpVK9XqcoimVZQRBEUTw6OjpJVp8iY6gej1mHx2Ny5ahLikqRapJCs0o1MOaozLVFXgnVmStB6s1Q4Rsm+i/01V/VQhdD1YYi4WIXoPk6q2Biq8jwdalR5sQap6Bcq04163yjyjfqvFxnpRoj1jilyrfqXKtKNUrC0W6hHqfkstLP1dkSo5RZucw2y2yzyjQqtFKm5DItlhipzMpFVimySoGRH6NIywVKegyEFMu4CDBsjqIRqhGtt+7Hq1N7sBvhgzARLlDhAhUu0dEKGy7RAQjzg2i2TgMYD+JCARdITiE5KVes7BwkfcF9ZyDs2Q2ZA9Gt8J5jJ3pu3nZp2X5xxXlh1uCNwzWmgRJ8FaXqJEtLR6wsw6XyYTITPUjG4plkKp9KA3kAsUez+t3sIYyxHVUddNRhT1W7vcdlqI/LkFsdUmhiolykxaJI1xiZ4zoIw7wZI7Ul6kUb9UUN8kUN9Vsr0H+1UFuO1ghJ1MDofhFF2EaJa9S5VoWRKrRSoZU61yqzjQrXrPKtOt+ocM0y30TYBsw0S6RU4JpJQkgSQo6QAIwvMUqRlYq0UmKUEqOMZBRpuUiLBUY8iT5CS48BU+JjQKRQwHiQEUCWgwkxUhKXUtWlVGW3InqAuhdE3WDdDdZ9CO6FMRdQc+arqRqVxbg8yhVwAecUghWzhXJgP+Hd3XPvRt07QZM/4g1GLFvB8wv2C4vWiyvO9+cMzgMIJsQKwZVRsoJROKcwkgQUynux5E5of0QguBfei98zbl1bc981+Da8+61WS1VVddjrfraMoapKrQ4uNApkCyIaFCVBTFMWm28dVObjAlgWbsSov/Fjb7nR+0H4DR/yzxZK+5VmhuQSpFCSexDdKOByhW7U2GaRlousBNEyQskFSkYoGaFkkFKypJIiZISWIFpG+GaelDMoC5NSkVVgVnz8PU5LCC2BT4T7JOhPAhI8SPBQncuRbIYgs1V6r0DbYdIO45Ei7S8Q/gKxBWNbMOYvENtFwodgWwU8WSUzKJurswjGY6yMM3wGKfn34u5AxBkI27b9Ou+ufTto8u5cWvFeXnFcXHa9P2cyRnKJKgMTXBFniiiNsTIry2CxEo0l/aG97WDUG4y4d0Jb4b1bOu+FJeflJdv5BwaME3uqOuh3+z+DjC7GNxG+mcYoiBQUvmkvYC8H5FCevr1bXPfUn/XCK0EoVCwGitV/tlj4ioESGmIWYyFaBikFoRpFplWgFYgUYEaGuUaRVoq0AtGNPClnMCle48JVGmGVHM7DjAIzCkxKBVoBSAGgxdE7HSIFmJRgUgIpCaClPCUC5CeQJ4Q8wZ+Qw7kTQFzIElwGp/N1JlUX9jBxD+XiZSpZ45M1Pl5hDytMvMbFa1ysysZrXLJKplAmVaNBjKuzUp3h03BxOxpz+EM2f9AdDBv8UWcgbPGFzy84z8+bLy57zs9bN8PZcBnP4CyEswWMJjmF4qUcXAweJnyhqCe4596NOneC3nD0htZ9btl9edXz3pwVrFMdVVX7H3fpPyFDfUQG3+rU+QbMNNO8gLIdSmq84a+PhYuBivy2I/+8lXzBnXpFX7PslN/xJk+NJX/9xk60itPSUYHgIFIAWQVkmwClQHQDoRp5SihQcoFs5JhWlm2BZDNHSIcEPwpxDuchuoGwrTwp50gBoCWQkQFaGgUaIOU8KedJOUfJOUJ6kiwu5nD+hCzGnZBB+TTG5kgBxIUMyscxLo1z2RqTrjMZlE3V6GSVSteZTJVOV6hMlY5XidHIKo+xIxkpqLAVObT5w3pPwLkb0W5Fbf6wbTt6YdHxwbL10pLn/Lx1I5zdLRFJlMljNITSGCtTvJSDS7sHcfdu1LkbceyErdu7zt3IuMZxdt56ccV5bt6WrxI9VVV77ZNJ4qfK4BrdCtdEyF4RE1NUc6fS/UsTOJamvrVT/KG28iNj+Y82kX+7EP+6HvynU9lfGk+eOhuc2CfknlqgJIAUcpSYoWWAacFsGyBaGVpGCCWLSqE6F0b5HNGE6aMc30zjAsy2AFLOEUqWVJK4lKebIN3KUY0sqWRJJYuLOULKkg/BxSfJYMKjpFH+hFSdS1SZRJVJ1thkjU3W6WSdTlapeI1K1Ol4jYpVyVHl8OEwN1alY2Uqg7I1TqlRQhIobkXiFn900+U3be9seEJm367ZG3p/wX5l0XJh0XFuxrAZzkbKVBJl0nUaQOk6q9CCkkFKgf3EyIQ9ELJs7Th3I7d07vdXXJdXXGcfGAsY3VdVtdv6DBn9R2S0CLmdRlFHHppMsnf3uO/46H9hKP32cv6H5tKlaH0sIH7RCP/Tu+X/fTZx6mLgpV0hiFB7VQ4RuiDdyOJijlDy1FGKaKa5NkR341jTUWZsRWq/LOawRpKUU4QMMK083Uziyh4q7ONSmm5l0EYcl+O4nMSVDN7IEHIalx4jhYkjjjfrQqoupFFxVBlloVRdyGBSssYflrlYlU2iXBrlE3X2oMru1+nDOnNQo/er1KhyWKFGGg4rzEGZTte5KtOoUHwiX/KFY8atyKZnV+vxa7b3bf6w3rX9wZLzg1n9R2ve9+cMukj2oMom63SmRgEoW2ZlghWTILIVObT5g+btkHU7ZPbtOgPh8Q3n+WXnpWXn2bv6AkZ3VVUdnPTfT8hQH8pgm90y24TZ9kGJ2yvTThgPlcWXDPHTTlQHc7oMLXe5NMb8Rw2yiOAfhcn7QTRYxjfSaKCmwJKaw2QQFQGikSIae3Vxp8wla6099MhcEy116RA/Asl2kmxkqFaiJmaJ5iEh71SYCCbGMeWwKERrwmFdimNKElfSmHIS+hOSqJBEhZPNRJ0f7UnU+USdj9e4USVWZpI1MVETD6r8QZWNlZmDMr1f4w9K7GGZOyixB0UmVuYOH1YOyuRBmd4vUakaW2KUCiXGc0VvKK7fjqy5A/e1lkV7wOTdMbkDs67DBWf4tjn44bLNsg8m6nyySqUqRA5liqxC8fKos7EHIhZ/2OYP27ZCrp3IDY33/RXPlWXXxXkbWMV7qqoO1U7/J2U8vDCuqurIhUo3WggnVfBWqMzv1rDVFOostPRI1Q7QaboVwuSVKH97r7pdrYeJ1o0YeyNQ3q4yF/ZxL8RQSjNOt4AKBVGtBNf0lojdiryOiK5Ce4cSD3Eljw7DrJCqtWJEK1snE2Q/iikAI6dQ+bDGxTAhVmX3CDVbb6WxVhyVdvFOskpl6nKiLCQwOYJhObSXLDeiDHFQFxI15aCiHFaIOMGHK1yqxsbq/F4Rj9e4aKl5UGWjFTaEUtGacABz8ToeKsl7VS5aYaMVNlJmTgiX6L0CHSnS4QIVr9BlSq6SYhwoOUMxk9dv8keu3Fuet/q0vpBlK2jx7hpdfpN3647GbowAKVROVrh4VUjW2CItYqycgque8KHeFzRshUz+iM694wjsf7jpu7hk+2DVfWZanydbQ1VV1cFg+GTLeEIGzMh59giqUS6YcpXQsSD+uauHfzEH/MFC5I9mYp+7e/DrHx78zgPgX49H/2g89e8eRGNE25XFDuq9MiUfkkqQHiTqbJJt22A6UOcOsEYAYWNlJVMXwzXsgBaSlBhH5TDXOKwJ6ToTr3HJmhgU1MOiEKUbBzVyr0IeYmwSI/cJIV6jwnXlkOiHamSAEPcr3GGRCJbxPYzyVhup+lGkzOxWmVBVOADJSEHawXphVEiiQpJkQ1Vur8DE6uJemT0E0UgdH4X+UUJFKlQ8ngaGiscyKoQQyxcdwcMNp0+/HZlaN684AhrXjtEX0jn8sxrros5yT+cx7kPxqrCHEAclNl5hEVLEOSUJVey7e3pfUOPdXXdsmbcjpq3wLZ37o0Xjh0vWc/c0ACYOh0O133l44f3RGfhjMpQ2zMgJnE8T7TzWLtQpHyT9y7uZU6dDp84d/vL7oV++GDn1wc6p055Tr/n+4ZsmTVYmWS7PHuUoOYMyIUyMUEoa5SPlozCpeistb5XaIrgoeZSs8QlMSeK9wxIZxcVUubuLNvdQbh9rpQk2inbiBBOtszGc22EGEfIoWG/uo80YKsfpdogQD+tNhOxEiEaMlcoElaoL4Rrvq9HpugLgHYjhUsIRzHbhKmHMYXf20LuHxVSZ3ilRvoJ4iIi+Oh+s8MESEywxu0X6UXYKVBChdov0TpE8rDAFSiqTwkG+YN3dX3cF1ly7U+vmJbtvw7lt3o6sWn2Xp5Y+nJq7venRRaE4Kh2WyMMyFytzCCnVaTEBlp2hA+N2eNWxPbmiM/v3tK6ddVdgxb61aPVPLFtyNVod9tVh94mrtj8pY6iqtNKGaHkP57eI3mGdOeQaNaUbrnF/rUF+5bLn1Hv7p97a+qW3vL/8hvf3HiSNCEvLDR8t7FDtKM7v1/gDVg1i/E5ZOqi2tkqMv9J0ldmtouwukLsMt8cc7ZSlONM7pJthFI3RfLZKb6NH4boUqQyTJSKKdsJ1JVDlYxUihraCKdgGSbfCdW26bCnxV/YQHYAtp+lnPORzJvi1LeRpL/yaPfmyE33ZXnnJXXzZm3nBDT9vr75hhf7WhN+PFiMo6asokSIdRKpRiHrMxE6B2ilQAYQMIGSgyPgL5F6ZhkmpRAl7+YJ1d39za2/W7PtobnPB7N5wbhu3Iqv23bevP7gytXTXuLO+m92rMtECFkLIKEIhVKNGCXGg5ArHtb7QsmPr+uy6fjuy4fBbt3eNnu0Nh/+e1pmvUOqwrw57J5eoPpbx8MdAHfaHqkoqHYCWDojmYYVKF4VIvR0ucnlehBnFC4q3vOkX7dkLW/RqhsyzFC52duviPsVkcXkflSpyP1Bif2SHXnEW3vRiL2/BL1ozLzqIc37+VQd69YDIsXKJErwY5as0CpTkxNqBmoJwR0mSDOLiPt3cJzr7GL9fQ6O4aM9jaUp62l77mg56zgZO7ZHfXQP/zSz25+vY+CHpzFeNxYazwNpA1pBAbUlkNcsbU6gxz00EqyVOfMZWWMuw+8Wqp8p7Ec4PcbvlRqDIBIqMv0CfsI1Q2wjlh6ntAr2FUJEyA5NSmRb38iXTzt6KJ3rftHXh7vK82bvh8Os8wU135M2rd89PzN4x7awF83tVLlzEggUyXKBBSkE5eT+HjJrUhid0e82k295bc/pN3p27y5sfPVid2nDkakx/OBgOek/MwD9RBqVksY63hm1RHUNBcMOKqcD6C5UC2yfEowLDZ0WpJBzFUSmAt4O1/k6tdz+C3ghh43HhZV/x1+8DTzlKP7JUbQh64xC/HCGcBfLNneo3NvPLe/jYnvJ1HfJ1Q3o8yP/pGvw1Q2Fstz61hwfLsi2PuUDWAnB+vOdG6BrPA2LzZVd5OYf+pan2DX1pJUG+E4au7QPRovjny/lfnUr+9m3wdxfBrxoL39YUvmMhv7wR/x9v5T8M4tcPmdcdqXi9HShw3qK4B7NbFToI1v0I60fYbZh5lC2I3oLoLYTxwWS4RIOUVKbkvXzJGNhbdIbum7bOTM7PmLxrzh29N6Txhl//4PabV25OaLybEShaE8IlMlhiomUui4t1VhrJWHXuLNoDk+uWDU9o1blj8AbHHyy/e+PBbY0rU6UHQ3Uw6D1xofBRGepgqKqE3M5RjXBNDFTkeLGxCbDWsuyAORfS8CJH/hIVoIeBmnJYFhOVbqQkhqusPUd9xYS+GSC/q8285EdO79bfDnBX9hQTwNekdgyTtKn6q7v4n1vqf6bN/52zOBYmpsLsV43J+UPsboT8tgX6kw30Srh8wMu7JWK71rLkaZBuyMPhfKz2rq/ynqf8irt21o+4kpW7CeIZb+3LS4X/5ibyS+dT33ViS2n01NnMP7icOnUh/Q+vHF7fRdZS1a9rgUBRDoO1QFH2gYq3KHoKjLegbBfYLYR5FB9M++BjGV6IChUpgBRLpBTJFoxbkWXn7rTec3p85q7Jt+LY1XtDm87A+zfuf3hv4bZhaz0C7RSYbaDug4hQmU3jXJXhDvIF687Bpjd8e8N6fUG76g4t2bat/sMbs2vv3pi9o99KV6jRku1npil10FdVTO7mqMZOTdqpcQcwpy2IdrTnqYhGAPehzQDaPYC5cJHxomKgJAZrfXf9aA/lnnaDH0SYH7iZr+uQq4HK/7OGp7D6Vpm8GKhcCNC/cif/fTP2kZ/8/Br8jI941l583V/5wgK2mmfns+XLEeJ3Zit/oQFedJS/7y1/11T8rgb6jq7wTUPxeybAWsC/vFkfj9b/k6W4CpBnArVXPKXT2+VTF+OnLmfPe9F2n/+2IfUlTe6VrYoFpO/sod82QrsQ7iqzLkDZhsitCu0DmSCM+XLcKPReiDrBA5IekNyC6C2E80JUsECCuFQkxGga0XtDK67gHZ379M2F+7adRXtg0xnYdGzfW9ZNr2lval0rwXygyPhhwgsRwQqTJLgay+/nEONWRLu1P75ovDqv2/BF5yxeS+Dw0q3ZF86PT2ndmSqtqgN18PFNNU+ugQ9GXQoqHWUIOViV/GVpqyy6i6IdYh0w5ytJgUrDX1ZOCFTkETtVxVdkn3YgP/RVv6wrT4XZK+FiCG5GOP5elP6WpfxL78R+8x70sqfyX05kL/krkwlu8pCYi7N5oryRV1az9X+vLf2VFvy3G8jpQHU8Qn9Zk/pra/U3ZjN/sFiIItQPLfVLu/Sps3tv+oDfnq38b/eB1bRw6mzkv5+E3XlmPlW+t19aPKydDaJP6YCXAmyozO4ggg9kPDDrKXAumPHA/DYi+vKsC6bcEOOBWTtAu4qcHaZtecwDkt485oYYJ0TvlOg8IRVwIZwp6Lf35ixbq9bAmMbzwOadt++avP5Zg33i9uzM4srNVdN6BPJXBFeuHijxfpjKYFKFVvbyJf12ZN0b+WBG8/706ppvf8bk3txOXr+3+O6NB7c23ZkKeXw/w8P7rD5LRopo7FbEraKwVRa9ZdldFN1Fcassj9iuKCf4q/IxpfZOnV1KkH+4XviXC/mZDKMF6MU4tFuiPrcE/KPp4n97B/n18eoPLNnbh8znF+CdUnUOkMusbMgWI1X5H92n/ouPoFPXC39hqD3tqZ+6Wjx1Lfa5ydypK/lr++Wn9Mm5dP2Mn3DDxJUIPrsHaQ6Rp7ewdJ054yn94ynoeRf3igu6ekBYQfIQYNwQ5yywLpjxItx2gfeCnAfmHTBnzBEOkHJDjBfhLFnCBjJ2mLYDpBsgvADpAmkbRPkLdBYXEYwPpRGNL7LiCj7YdLx3TzNtdM+ZAxqnX+vfCyVA9250SudZDOT8RW4Lxr0Q5cmhWVIpkVI0V9R4g6vu0Niy+f3p1SVXeMnh33Tuaiz2e2uGm+s2CKWHqtrtDT7h2tTHMtSRjE4SV/xlyVfgvUXRW5a9ZcVbVrxl2VsUfSXpxMqjRBDFW1V2q+yX5stvhphXPCU9wC0lGnlCeN1Venu3fX0Xu5oQf/Nu4kVf/WkTsJSg/8ZRD9Sk562lACd+dbP2Y1f1W9rsxCE/nSx+xVJ8zV/5K0vt12eAO3H2d1aAP16r/tie3YGoH1iJrxhrV6L1S17kC7ehf3IPLGD8XLTwVwv5A6zlyTOGMmeuiLYCZ0c4N8K7QNYO0DaQMUP0ZhY150gnxHoRwZTGTFnCCpIOkHLmCC9EOSHWCtBbCJXFRQjng2lk0xuds+3cnNe9fG3u5rpt1rSz4fBPGtxLtoDGGx7f9CwFAR9M+iDMDRCePJHElTIlh7KIKXiwYPNP673Teu+8fXfW7DF7dh7MztyeX72ndUI1YqAO+6raf3jbwqlHHJxUBn1VrYvtkQxPgXMivKsgOouiuyh5SsdNxF0UPSXpIbK7KLkKorEsGNBWFBXe9FO/ei35jKviLdFPWeBYXXzdD3zPiPzKRPrUB+B/fSvxNR2xkMCd5dKLVkQD88tpGiDw/6Cl/8G12P+5lBnfKU6GsC+sZf7nm6X7+/jFYOVGtPqyG/myhvyRCTTEa9+3wy+5y790PfdvFg4uHmJ1kum3mxcDpW8tZ1Jl1lXlDAXJlS+4Ic4BcxaQ1gGENkeYQcYKsaYsacqTNpDxFARzBjfnSCtAO0DGkaddIG0DGTNAncjYTcEbvuiU3j02qzs9sXJX636g39lwhS+v2i7N6T+cN56ft65FEQ+Ie0HUBdJbCHdYl0qMEs4V1tyBOZv/1qbz/bsbs9bAgmNn07Ed2o+5o6mJNRtUI4bDfv9k/v2YjIfXpwZ9Va1J7TimbJVlN8I7YN6JCHaEdxQEV0lyFkVX6Rh3WXaVpNFOZ1H0llRHmdoGj05vVV7caS3GiQsh7AvL5c0c/qdr0JkdZDZH/9+m4p8ZixMx7Ksa6mkXPZ0m/7uJ2gehwvO+2v8wmXvVS/yhnnzDXf26hXjBV/hgB51JChsJ/Jw3Oxljfm8x/UM38A0T+cYOfNqH3oph39kE17JSp9kQO63vaCMX98gIxLnyuAU48kKMI884ANYM0NococuTFoi1QqwVYIx5ypSnnIhgydNmgDYDtBVgHABrzZFmgDbmSA9Cp3EJxLhAGl73RmZsgav3Nt6ZXJ+3BO4Zgku23XPL1kuL1stLtndmzUth2APiPpi0A7QbYg5qx01K79+/o3Ofn14fyZixbN03+2f09num7csLVhhjRjeMPnnf1BMyxE4Mld1F0YnwTkRwFkU7LNph0VEQRkoe41gGdORF64Eq+3/pCpeC2Des8IdR6ge22t0I9Yyrso0efXsN0me4V7Yqr7jqL26V/86Sf8FJ/S+3cm+7i3+ygP3uSty4kyUAACAASURBVOX3F6Ffm0qedhemk8X7aeKdbfQ1Z/klb+FvzfQXl/Lvb9WesxcLWOvoSHjaVfqDB4lXfNhKsq72uFCe/mt9zlJm7XDDkeuYEcEE0BaQsUOcA2BtOdoB8BaA0+XpzRy5mSPXU5g5z5oB2pintGnMkCVMWdKYwQ050pAjfTCdwSQIFwJpeMMXvW3wvjs288r1+bsG94w5tOqKvL/ivLzouLrqeXfBsRSGnSBhB0hjjnSAzGFNQEgplCmsOAKLztDlGd3ZyeUFZ/iB2Xd1w3NpTntp2XnmvrGAC6raGw4/vuntp8sYNQtnQT6WgUg2RHQW5GOK4qPYSqK71PBB6LUY87KreiFYUZvqhR3u83Op6wmiP+yA9aOnrchXDOXnPZQgSEKnd8WNTMbIi97q992Vr5nJL68DL/qqP3SVJElhO/K37dhUXPiiFhgLE+cC1Y1ErSR0jnp9Xbz4shu7GcHf3kFuRlmcbL7tqeuSojVfNhUwG0SYU7wdRM0gZwV5S5615FkbyBty9FoaW83gK1lyOVHTZyl9ltBk8fUUpk0T+jRpypKGHK3PUj6YzREKQkrBNLLujcxYd26tWD5Ytt4xuO7o/Uv24LkF66V528UFy7sLtqUwbMsThjSmzzIOkIlVWZgQd7MFrX9vWu95c2z2wr3NGevOgmPnuj5wZdn8/ornnfvmMiWrw16nc/RT0lRPVcti+wBruEqiHeFtMGeHRRsk2GHRXpBsiOhApI8pCCe4S7y+2LEVOvF6++1t/CVHrqV2BZGOoQ1a4Zud9qCncopSU7qNRqPdbjU73V6/0emqJVnhFe4ZR/2bRvg/OWoJ5qgjKmq3686zX1rLvGwDTQB9OVB/xUYtpSp39pHre8xUrBZH0LtJ7KNI2QbXXrTnN2KcF+oYs6gT4c0QbclJlgxtzNKbGWI9R2pAZiNPrWdwXZ5ezVFLSUyXpw05WpsjNjOENkfpMrQxQ+izlD5NeiFmJGM3Ba+6Q9MG34zBd9OwfUtvu2Pyr7iC5xasVxYcHy473puzzu3kLXnKkCV0edYO0Ik6W2Qau9nCimvnjs59dnL56oLlnml7xrI1ptu+PG+4vOo5O2OFUU4d9oaPNI1HRlPH876Bqg7UoVoT2lFMcZUkGyJaYcFSEE0wb4UFGyLaEN6GiPaCNOLkAGtR8oBtS61lhMXtWuvabvWvVrPNXqc1aKptpdnrtVvqUVsedNpKV+122+2+yqrtVqvRUZT2oCO3G1RTSVBkW1bVnqi0emqv1VL6RULEj4StAuEvClmSyuOtAs1M7ZUKwlDtsmma5Xi5123FqvQr5pIuRbiKnBVinTliI8cbQFabJjQp3JBjDSCvydJrKWI1Qy6nqZUMvZqhV5PkRprU5hh9ltKlCE0K16UobZqyQkwMkwCU20mAS57QhNZxbd330br95rrvyopl0Rx4d8n+3PjKCzfX37lrWghD2hxhyFCmLGmDiIOaWGDkSApZ84SnjL57Bv+k3ndD55m17oxrXJeWfBdWvW/PWGoENxiqg+EnTvo+SYajIFgg3gLxVlgwwccVC8Q+tCLaENGMCCMsBdFYFPUl2p1TLKR494D9/dl8V+w121K3dSQeDbqdI7aOM8kyloTEfJ0tFOqhFB2E6kmUBzkmjeEVlIaLnMwLHO8GsHvxQp6kOYGHKX6oqmi9HKtLDC268oWVRPEQERG0CVMsIR5JYlPttm4GkTOBkqPAG7O0LYdaAcUAssY8Y8xzxjyny7MjGUtJbDFJLKXI5RS5kiBWk/hmhtKmKU2K3Ejjo8rHMpLQsjc8bdma0O1c33SOr7ivbzjWHMEzc5bvvTf5gyuzr9/SzAUBLUDr06Q2hZpy2F6FBwk+EAeWnbs3ta5b667ra/ara7Y7Os+4xvXGpP7VKe0bdw0jGUP1k5ZdP1GGHRYtAGcGOQskmsFjMWaQG4V+xKMyTBXRVMRtkKRHZDfW/uZmfnoXVweq0u73uqrSVWr5Ch8A69sH9G6eJSnJnZK308wBKBVxejvdiJVxx0GHb4CM/II2843lfcMBECoSHrBAiM2X1oG/XM1EC8RLJuhZW2Etiryui4/vAPkK1ZeVfpvVprG3rdB2kVjNyDZI0edr+ixlAngTwOsy9GaG0mTpjQy1msRX0tRqhl7N0GspajWJr6eI9RSxlsQ30qQmSZ/IADF+J4kse8PTRu+1dd+YxnVHtzNp3Fo0b5+Zs7x6a/3VO7qzD0yL4YImx2iT5EasbszgB7UGSIm7CWTVuzdp3Lq16Z7QuMe17rvGrXGN65kriz++Ov/qlHYkQ1U/6VadJ2VEUHkkwwLxIxlmkLPCggXiT6I/qphg3lQQTAXBBgkOgDVWGv7iwFMjltPUl+7t+Euthqr2Ja7XV4nDIrce5FxJ3nzAVCQmWa3agsRuhCuXJMN+RX9Au7NKncPFzt+uZL/2YGe3yFrTrCZZC5fx122pH63uzUaQH2tjr1rTrkxtIwqbctW6JImSog6VtWTtNVvRj4imJKvNszqQ1GVoY54z5NhRrDeztDbPanLMaoZeyzKbWXY9fexjNYmvJLC1FLGZoDaThBmgRjICCXjeE76tc41tbl/fdI6ve69tOBbN2+fmbW/f1b9yZ/Otad39QH4tS+kznDZNGbJEuKwApLgTh1e9e7eMW7c2vRNa37jBe8+0Pa5xvTS2/tz4yt9ThhXkLZBogcTRW2yUoEww/xhGhDcivAWQvEjbADasCG0qsK5yQ4NIz5rT03sgxAv9rkrnSqIfxDwZYTshwTQfhBuGOL1XImGKNSXIQ0Twp1uyVKNZX6rgr7f2AYIWlMNyMVYo5zklX8ZTCLpfrCfrNE3x/aNeESNFgek2O1x7eMaVvxpBjbBsy1L6LGMGjk3oMvRGmlxPERsZajNLb2bpxQS+miTXUtRqknyMtQS5kcBNefIQFQGU20pAs67ghMY5pgtc13lvbPiurtmWLP53Zy3vzVrOr7ouLDpmdsHlFLmWoNYSpD5LRCqNPCH449CCM3xd5x1f945vej7SOKd0vmvr9rP3bW89ML8+ra/i7FD9mdNUBJVtkGABuMdk2GHRjEgnmGDxBH1edFRaFoDbLHOmgmoAWQfMm9HBW1vlyyFA7Q04lhSEXrfZY3mmpbACVufrlNIe8t1uk8AlnmrWhe10ZSrBVtB6s9ui5KNdTNoo8RjfVMUW3e6pvXa/faQoiqJIylFLbh112x2CFe9Fy2c8qBXgNgHWnKPMeVGbxox5Tp9lNFlam2M0OWYjQ62nyY0Ms5QklpLE8sNuYyVBjEwsJYm1BLUeI45l1AVfDL7v2B1bd3y47vtI4x7f3L6ucy9Ytt96YDw/b3thYuXNKc09f245Ta0n6dU4oU1juyUpT4mBRGHeEbqu805ot8c0vg83XXeN/qur1vNzrncXHH9PGeY8awGEh32GaIF4K8hbYemER5VYSy1dnrQWJQ0kWoCOucBqSp0AwC/FlAu7lCQMul2x1VNbrYbYU7heX2m0+wNVbQ/UzpHaPVL6qrnATsQIXb4xHkYvRqoP9qsz+9TUIX9QYNV+S1GafKfHSnSrxTY6/RbPdFucDcKWMtW7W6ApL+nzoiEtWrN1Ta6+npMNGUaXoTVZWpdntXl2M0uvp+mNFL2SpkYmlpLESMaIxTixlqBW4z8h464tcG3NeWV9+/Ka85072isbzmV78PR9w/PXFl6eXD9z3/ggBC2nqeU4sRzHdVksXJWzBB9IFO7bglc23GOb21fWXBeWLXdM/mvr9tNTxten9X9/Geb8x9E/3gNIj2EEJQMg6mDOCbCmbNdeRB05TlOSLCBjgLvuovK2v2ZI0T1VUQdttdNRB11Hkp9OoH6I2yljoTrnBIWbodqV3aoR6rhhSlfuLoP8crphBWUDzEzFmDQvqW2l02wcKbLUViW5obalg4p0M8qv51hTueNO1fUZTgvT6wBjThPGjGTMsoYcq80xo657PU2vp+n1JLWYJBYT+IiTZrGaJEcy1hLkSAaIit5DaNoeuL7uurSydWnDdXpy88NN14xx6+0ZyxuT2mfHFt+c0tzbBRbT5EqCXE3i2jy+W+ayBO9PFu9Zdy+vOa+t+95fsJ2Z0d7Secc1ruc/Wnnm+tJrd3R1kh+Npk4+p/HoVdvjNb7hcKgO1brYCtcVOyRYAM6cHyUoyVFsOBDFCopWWBrlLgskPpqmTng0j5kRaRtmVsDme37yqh/1FxqRgjB7ULsY4zVQ7+4Be3Wnfmmnei2CzWQEDaToAMFbE8wIt55jzYWGA5HMeVYDyNP7TJqgxXa3p0hdQZEb6i7Ez4TKG2Bj1Dc8ij7L6DK0MXtc0WcZTYZdT9PLSWo5SS0liaUEuZQgF5P0UoJcTlKrSXIlQSzH0bUEtZagjHlqDxPzKOeNAfesgSsb7str7vdmXGceaD7U+VYs/tN3ta9M6t6Ytpy9p32wk1tKkcspfDlFbqTJaE0AMH47Bt+z7l7RbF1Z856dNZ2Z10+bAzfWHM/f2nx1fO3VKW2J4lRVHaqfvLj0EzJQ6SiCNkYduAngjXnODAojB+Y8bwaFEUboZ8Kcb1lBWZen7x5WLwTAC9vQ3F7NAwg2iLLBnKvccFQ7BqShhUQNKKzn6GBZ3CrKlhzvKzbC1dYWxNpAfiPD3tljZ2PMapadz5AT0eLtvepahrXkRF2e1eVZbY7RZ4/RZWhdhh6lKV2G1mTYjQyznCKPHcSPZYxYS1FrKWptNKBKUKtx0pinoqiQRznvIXTXtvvBuuvcgvX0lPnismXMvLPmCL52e/3Z66uvTRvPzRgWwtBymhrJWE8RwQqbxbidZPGedffCquvdGfO5BevFFes96+74qv25mxtv3tK8PWMp0/xgoKqfnKaekBHFmg5EskHCSMbIhxkUTAB/osEA8ic8tvkTD5Va2jxrgVhnQbaAigluGUvNdYi0gLQZoC0AZ8oJmiSznmbW89wGJDiy+Ha54Soq7qK0VeIcAGoBSQPMbYLicpJaTJJzKXo2y2pKirUo6OLFkYxPU7KZoTYyzEqaWowT83F8Po6fyFiME6Nh1Wi4NZKxEiMMOTKKChmUdx+C09adj7S+s7Om03esr06ufKjzzeo9Z2dNz1xbeeHm5tl72sUQspqkVuPEyOtOmcsTgucAnDRufajdfm/W8vZ9/btzxrtG/9iK7amxlVfH107fN1UYQVVVVe0OnljP+OSWYYMEC8SbQcEA8nqAM4D8oyZ+dgx5zACIRqBlBhpmkDGBhAFkjVBTC8saQNaCigFsGEHZCEoGkDWAtKsguEqSBeLtBcFTkR0F1oxwWog3gqgb4T2AYM9IlnxDkxVXMrQG5rV5VvuID32WGSUrXYbczFDraXolTS0kiLkYNhcj5uPHLWM5jq8kiLUEuZEmN9LkZhJbSmLLcWLpkNRkyfCxDHjKsntp1fHevOWVCf2rkyunZwwzOu/5Bfsrk7rnbm68Nb05vwutxOnlQ2yk1l/h0hjrOQCnLcHLGt87d01vTGneeaD7cN48se4cpanX7ujKND9KUz9dxqjPsIK8GeRGMkaMBrifmKZM8GhiKJx0Jyc4AN4JNy15WQtKxqpsKInGLGtPCTZIsYCyHhS1eV6TY4xZ2o3wwaqyXW7YcrQpS7sKshuWLBnWlBNMecUMtQxZSZNk9Blenxf0AGfI8qac8GjL0OWPuw1jnhv12ytpajFJzsfxuRgxH8cXk+RKYgSxGj+eeI9mhfNxbCFGzh3gmxkijAqZuug6gG6bdy6tOs7Omp75cPWNu9o37uvualznF+zvzNhfuWM6c98wHywsJ5mlGD53gM8fYttlPkcK7kPwjjV4bsV5etrw0o21MzPGS7PmW5vuN2es79wxvD6trzDCcKj2B0eflaYGg8FIRqgmW0HeAnycnUbJ6iRfPcbDWfonYIWU0XDLnBftecEJSnakaSgothxrBUUDJG2CwgYkbuR4fV50IkeuguCAudECoiFD6dOsFVAseVmf4XVpVg9wRogx5DFDrmbKEqYUOerAR6np0W58M0uvpailBDkfP2YxTiwnqZXEx1O89SS1nqRWk+RSDJuJoTP7xP0otpYiQjXxWIYxcGXDfXbe8vTVjVdur789b7mn8VxYcr4yqXv9ruXMfcNsEFlIsrOH+L09bHa/vlXiQEa2h3O3jP7zq66zM9ZnP1p864Hx6pJjYt352j3T6Unta3d0VVZU1Z8m49GWMZr0jVrDxz1HnrcAwglPyniyZRghwQwKdqTpKDaMEGeCeSssmfOiDZFNkKzN85ocrwFETY7XZFh9XnAWWHeJ9xZZG0RYQNKOcFaI0adQY54yQoIBEPUAZwJYA8jqQd6AtCwAZ8oxxiytz1KG3OjCOKXJkqsZ+sTEQoJajBOPDmTXEscyVpPUYpyYO8Dv7GP39ojpCLacwnfrxzImDf7zi5ZzS44fXFp+/Z7urTnzomX37Iz57y7NvnhL99a09u4OeC9G39lDp6L12UN8uySmUMZzAE9Zdt9bdrx11/zs2PJbs6YPFh0T686nxlZeuLr46pR21Gf8TGnqeDT1yND2ONCAYIOkR2VYAMEKisc8Mhn8CQDFUhANCKmHKBMsWqGGBRItMKODORPM20B2CxYiVXmvLu5jYpJpZKhhmminyVaO6WT53gEmR0psApN9Bd6Spw1Z3gxIVpB3gIwb4nyQYIcEK8AZs7QxS5/I2MwQy6Mox4j5GD0axa4mybUkPho+jdrEWopaTVILMfLBPjq1h05FiDthdDlFHsvYAyf1vkurjtP3DX/z3uzTYwvvLFinN1zvzlqeurr07PXV03c0d3eRqUPyZrR2O4rNHuJbRSFHCu59aELrO7/qevOO8QeX516d1lxf901qPD+4uvDiR0un75uKJNvvDz9hNHX81QgDVVXV0bf11MV2FBXtsGjOs6NJ+HGDgHgzyH0c/Z8NGyTZIOm4Dog2kLdDggMWbTBnhDhzqRcsNAiSBVluj+5ovXuLc6vj1y5cu/DuzQ8+Wt7QHtToAtsjSC5UbdlztA3kjVnWDglOkAtWFR9EuGDOCvL6vGDI8qYcY84x2hSzEqfnE9RsjJiPj2YS1Gqc2Ejg2jS1liA3E5Q2SWqT5FqCnIthdw/wyT3yZgS/HcWmIthykgnV5BzKuA6AG4bge8uOC4vWF6YMr00ZXrilm9Z7z8+Yf3R18eXJzXfnzDe3oMl9djKC3wrXH+yjngKXJ2VnFLhp2H532fHOrPWVKe3LUxvvz1rGN9zPja29emvz7Iy5SgudwVAddB9f6TuWMTyWoT6U4SgIo27jkbAKVpAfBfdJ7LA84rH9Ix8PHxKsID/CkxNtkLRdEWwwra8caWP5sQ/Ov/zNb3zvS3/813/2r7//tT97/lvfePe55+7Prm1BrKWiOAHWmmVsIG8FOCcieRDRV+C9EOMAGXOeHWXRUcpaT1Lzh9RsjFhIUItJcjlJraWo0brFaPlotG6xliCXYvj9ffx2FLsZwW9G8MkIejuMLiXohzJyNwzB86uud2cMT11fe+mm5rkJzeSm89wD0/MTGy/eXD87Y76xBd7aYybC2M1Q7f4+6i3yAKV4DuBJU+Dskv31af1T1xZ/dG3uzLTuxqbntSnDq7c235jS1Fmpr6pqv/P4h2VOZAwfysDFzh4mORHBBrJWgLMdK+FPQmmDhP8MQN4+WrWFj3WOlkZsJdFeaTkBxpNXDIf0G6+//J0/+o3f/81//MXPf+7f/fPf+vd/8H88/dUvfvTM315//eUb9xe0EG8FuNHJWAHOnmc8iOgA2NFPc44y5RgLyFgBRp+llhLkbIyaixFLKWolRY9MGHKsMUvrUoQhQ+nT9EaKXoxT9/fxyQg6EalPhLHxMDoRqd8K1xcSVLAqZVDGeZi7Ydh9f8199oH+764sPju2/NyNzSmt++KS4837lhcm1s48MI37gBtRajxYnwhW7++j7qKYxUX3IXzL6H932XH6nuXp6ytPjS2dn7Hc1PqeH19/YWzl9LQO5eSRjCdbxvE34D0q4wCT3QhvA1krcPxmtIG8HeJsIGuHhP8s3LDkgEUHLNph0Y7wJ5hg0ZrDLaDiK/du3br95jf/5Kk//cKf/6vP/95v/E9//Juf/91f+7Xv/unv33z9x3fefObscz/UmXyuYtMKcDaQteVoa5ZygpwlzzoQyQHzVoCx5GkrQJvy1EaaXEhQs0lmKUGup+nNNKNNU7oMOepU9GnSmCG0aWopQT44oG5HiYkwNhHGJiL1sVD9Rgi9Gao9KmPCGDy/7Hx/wfL02PoLYyvP3di8o/OcfWAcpal3Zs3XvfnxCHk9WBsPVe/t1d1FMUdInhhy07D93rLjrfvWp64t/+jawplp/Y1Nzw8uz70wtnJu3nacpp78fMYjMgYjGYTUjWGStyg6IdYJci6Id4LcqGKHOBfEP4obFkY4kU/Gg4huWHDAvAPmXQVxhBMRbGA7itCegmBLV95/46n3f/jNCz/+0Vtf/pOv/KvP/Yd//lt/9pv/5N0ff3Pu8nvLl86Nv/Hy+LkPPKWGOUc5ANYJsaMTs4G8FRRH9+M4QMYK0PostZIgFhLEYorZSNGbGUqfpYxZ2pQlR5hzjD5NriXI2UN8ao+ciBI3IviNCHYjXLserI8H6zdC6EhGFmPdh/kJY/DckuvSovXHHy09dWXmqWvLk5uO03c0f3Nh5rUpw5k5y3Vv/lqEeCgD8xSEHCH5YoVb+u1zK86375l+fHX+6bGFd+8ZxtZdP/5w8eWJ9bMz5jLJ9VVVHfZ6/eGny1C7qqqSUjeOy1tFwQ1xbojzwMJx3BHeBXMn0X8MDyJ+It6TSkHyFkVfQfRBvBdgXRBvOyy5ErjJvXvmb//qg2d+NH3u3LUff+21r/7Rt77wv77+9S+Zbnzgu3vfdfuObuL6h++84oY4J8C4QNYBMi6YcwCsC+IdAHuixwowm2lmOU6sJIiNFG3IUMYsbc5RdoC2A7QlT5tzjDnPriap+UPiThSfCGM3Ivh4GBsPo2PByvXgqGWgCwkqVJMBnPPEgElj6P0Vz/tzph9cmX/2o/kXJzan9Z4z9w1PXV97ZVJ3dsY85s1fj5LXg7XxYP3eHuYtilmC98XgOyb/xTX3O3dNz19ffu2u9sMV99i669nrq89dW/q4z/ikDvxxGZTcS+LKdkn0wKwH5r2I4IH5jysF4TPwFsXH8BVEX0H0lSRfQdyCBS/A+jK0L0VtJcrOQ9QNNpZN7rM//Gv7xEfGmzftUx8tvPv25We+t3TlvP3WxPbU5M7MHd/c7akzz+r3wUCJd0OMA2RcEO+EWBfI+mDWCbFuiHPBnCnHraeZ1QSjTVPmHGXL0XaAdgKME2CcEGsDWVOO0aTI2Rhzd5+cjOA3Quh4GB0Po2Oh+thubSyE3giht8LYYpIO1WQAZ7yx3G1z8OKa7+KC5enrK6fvaM/M2R6Yt9+a1n7/6tLz11ffvmcY84A3otRYqD4RrD/Yw7eKEkhJ/jgybQ58sO45M61//vriG3e1F+fM19ecz1xbeebqwpv/b2vv0SY5kp4J7n/Yy57mNoc98bTPcMhZ7rKHw+aQzSZ3qqu1qC6RpVLrzNBaS48ID+Fah2uttdYSDg0HXMC1e6jUGWIPUZWVXZnFmZ7d93kPFgYDDMAb32fmMLPPmMr6wZPTi4vzV+/Mm/ohMQLUsQfvu/BDN3F0+ULdxJEL77uJo/fSVfqG358TTRx5Ssdu4siJHTjAjjPfcmebnkzTU+x5sy0v9kxidK3e+cS2NheRq51cpmlhaX92RL2yZFhccuwsOQWbcY1MNH6fbfIFqa4LbTvwAxdx7CaO7FDLg3YcaN+J9WxIX13oibIdWa6nK/acSMcKdexIz4l07FDLBnctaF9TaIkTFWasvRVtrUcuLYNejdBrYXo1VHsjhjDTjlROkHrXlQa3dMEpmXuCp78yy7+1Kn6wq93TuQd21Z8tST6f4T3YUizZobVYezVUeyMG2jn2pOBtjWtOZh/Z091lyB6ztSO7qkWJ5dqK7O6GYmBPS7X6l27qnYnP5xdn3wSrPbvsVjWPT4HGU1+p70E7HrTnw4+8+JED7Vuxvq3Ud5UOXHjfjfW8xIEPP/ASB17iwFc69JROnNihhzpxksc2/MBJHrtKRw607yYO3FjPDbe8xaY3X3cX6u5iwwU13fCRL19xYE2xK8IceODkL3t4bOv2nnltR704r16d0jBmlEvz0pnZlFJq315USy0R6omROPDhvRDYdCN9M9T2YU0n3nJgdQ3SEIB9YbGvLTTsxbYbeWJDe3ao5YBoD9J0wG1VrsVNtnbi7c1oYyNSZ4TpN1wP1dZDtZVQmRGmN8N1caYRqR6h9WNPBmcafDMSxzRff21VMsLRX18WbslN00LT3S3dvV3VCM+w5oLXo+21YJURrLATtJs8RBqHgSK5o3Wvq7xjbP2ddekYWz/K0m0p7cNC84zAMsLR1/qHF+cXr169eM/KpbfEOL84v2gevwaaJ6HScaB05MH7TqznJg4C1HGQPA4QfV+p78Y6LrjlhJqXdMEtD9qJUE+8SM9PHAbJw0DpIFQ+iJQPk9WTAPnEgx7YCy1bpu7Mt3xQ34ceeuB+uFB35atBoONyZHdHR/wavmePvXHjy4kv/sgdvqebHJFOTXz8iw9nrl2P7G379xl6mTYIlB14z4P33VDHRz534icetOOGTwLIob3YVmZoBdC2oD032vRAVRfadSItN9J2Ih19sSVJN/bi9a1Y810xLi1jNVy5FEOSbUZrx1jjxJ8lto3+Bbl7QWz+akk4wtHfYciYCvM4WzvIsYxwjeN806oT2oh1NkL0VqjKTdT95BHRPQmCFNvgW1M4F6TOOyuiAaZykmfaVNjGxI5FiWuUayBbnYvLkb53xfg2gOHZ+enZ+cVF8/g12HwSxo8CpSNPwDMjFgAAIABJREFU6dBVOvCSR8HSQRBqBrLVYLzij1K+UOlPGCHdmaofaEaxbhhpJktdrPOi1H2J0EcU1SyVm0Stj9ePC9RhBG77Ci1vsR0E2/ZMO4Q+DWqM6kf3fPtcD3vjzief/v1/+E/Lj4Z9bKl4nvHbD365cPt+gi8IKFl2o9Xjz/kLjUDpyI50nNihC+0GS50gXHVjPQPY1mbKVqDixlpO4tCGH3qQ5qUTM4BdWbbFSdaZ0Toj2rh0UO9hpLoRblyKEa+dlJrHgRy+Z/Kvq7zr+7a7G/u318SDXBNTYZ4TWcZFrhmhbYpvXrODG7HWVoTeCVdFyXqIOqJ6TwNASWQJMdXuFbnrAUM2uK2aEVrneNrb26pJnnmUb6Ta3YvLqTrfH3Y9+y6a5GWidfwSrh+FqaNA6chP9AOlgwDa9eaq7hjmjSCuKO6OEd4E6UtS/lTZl6S8CdKbIB1RzJMkPUnCEYUTEF3tvSTpo3SecMWJcLGZxLsJrJ2lenjzGVY9zEG0J1vxFps+ohUIJ+Qj036JIK2VxNRs9cqGRyhI69UBCc++sx4SsACzOm9RhyOIy5Z1uiF/gQ6Xu4lyN1Ptp+o9oP0833wG0YelxiFYf+bDnzvBowjY8iMtD9qxQF15vstNtrZjja1YcyPWfFuA9Uh94zvWtiKN7Qi9n2+masfl1pNwAedZg5saL1PluMuQPWQqHrH0LI1rnKsb4lonuJYpvnndWdxKtLfj9F6sKkk3wtRBuf8sVMDlzijH6J/iah9vKR5tKx/vqGe5uo9nuffX5WN886WbOr94+c4Y+Hdxvy8uPxc2D55CZDtaOYqSBzG8FwFbwUzZF8N9cSyUJgJALVikw1AjjDQjaCuEtYJoM4g200gviXTjUDuQpvwJPJYrAWi9Uj9C68/SaDOYJ325UgAoRQEqj9eJ6gFZ7vtLLRtUjlZeBrX6uGgF0OpBkyQu2rNsLuhXJ53b897dJT9/O6jdBxMRR5yMhkupEJ4tVECqBZXqWLWfrxwlyKYd6djQTr5+gHf6yWrHjbU8ZNeHtR1wW51v81PtnXibGW9txJqMGP3m1b/hVoTeitDMWG031tiLNlSFZrZ+Um0/iQOE0BFi6fwMifHGsnCUa7jD1KzLTHdWRDfW5A+3NWM8/ZYX3kt3OMkaL1VT5Jrx8gF9+CwOkRpvnKv3ju0p766Kv14QfLHA35B7Pp7h31mRjgsstf7hxdnFxfvn2n6Lyw+Fre4RhNBhlE5gzTTUjGcqsSQZz1QSQDUO1nL5eg5oZAv1VJ5OFuh0sZEBmxmwmYLb8WIjAbfSWDeNtuOFSqpIYZXu66ODZ0f9w8PDxsEx2jhI4q0w1AjDXax8ANafxol+utSPZCoS6T6m3o+K1IZdhnhiXHFnUHrngWBy0LO7AWq0mXg4CNEw3sQgGgCoSCTntPkD/nwoQUcQulBul1oHVOsQqPSCSDcIttNYx4n1DGBbkm6w443tWIsZb23F6ptRmhmtv+FWtLoTre3G6N0YzYrXOPEGP17XFptA86TePkmBpNQd5hsD6yL9zRXRvU35lQXxkkh/Z13y6azgzpZ8nG9gB1BhriNO1/YzdR3QTNeOGofPc1hN743tqZ2LEsu1Rf4fp9hfrchX911/nBPcX5dPCK3V3sHF2cXF+Q9N1XnrQ2G3c4QjtXgaSeWIdI5KZck0UMvDzRzcTBZrmWwll69lC7U0UEsBtRRIp6F6GqpnkWYGa+WIXhrrZLBOFm9D5U69/5KodfNYJYfVsMYJ3n6epQ7iWCdbPolibRSmW62TKNz46WLsLxd8JrEktberWJri3L+vuHpPceOWfmnSu7MBWlwFuITWj0GyngGpRK4cT2KFLIIjNYo8avb7jaNjtNWP4nQYb2Qr/XT1WYh8ZYB6ynxLkKTZ8cZevLkdazCj9e04vRdv7sXre/H6bozei1VZ8RonWeclG4JkTZSsy1JNC9yBWieN7nEGJhX+KEfn3VHYri+Kbq3JPny8uaF2PWAqP57m3d9TTwn0XD8sz7RUqYo2U7MCLaB50jp8BhA1nTvC1rjWFM6ri8I/zPCvM00LYvMfZjl31va/sYzzi4vzV99vMy7HMC55KcZx76SC0kASSSfAeBJO5kt5tAFgnRzczBTpRJpMFao5uJnH2jmikyO7GaKdRpsZqJJB6AzWyuLtAtnLl9o5jIYrnW7vqN05qLf6tcZhqdIrEu081s6X+imimyDbpWpr3Qz/H0OWfz9q+uW4XM/f9bEYduaaY5cRFLIiajlzi3NzXX1DDmKlXhauprBmHOzmoXave1SnyzCIpCNQg6i3WweF6mGM6mdrvWSp6S7S8kJLlK5zE3VOoslJtHdjjd0YzUo0WIkGO95gxxuseI0Tp7mJOj9VF2eaolRVlmooMi0b2kHax63uSR4pa4MJlsq1KTXdWpNdXRH/ZoLNULkfMJW/Hdsb5BpmhUahp6hOtQyJqjFVdQBNuHXSP3lZxGtqR5Cn987wjJ/PCX47xf90TbuudP1xnndrRTrGN9MHR99YxjtinL5ZY3l6cXF2cX54eExhJJiDsykgm4EAoATCtSJC54u1VLacLtJZpAkQ3QLZK5A9gOoCVBekugDeKhCtLN7MEa0c2f6GRKtItjrHr6rNbr1z1Dp+iVR7BaIF4K0CXoWRHhZxT3P8f7kU/I9D8n9/R/cXN1S/HxSsz6ywl1ZZ63sfDQv+atjxT8v+v5jw/E6ARNBWEa/nIDoP1/NIC0fJYh4pYwRVrsNUJ1tqZchutnIYIPqGfF2W6QrSLVaCZidoQaLBj9LcWIWTrAnSLV6ywY5VBOmGON8SZxrSXEucoVXZriZPG8GKi2ginae9w+cQWtY5QlylaU/nvMVQfzQn/vmUcFPpvruj/GyG9xVjf5JjkmqCBm3IZox7HZlwACCwVvv4SRFA1Rb3nt57f0P5u2nBv47sXFtVbird9/b0j7fU37mpi9fn7xvp+y5OwvnFxfHhUQUvAZliNpFLpwrZLJwDiAJUAeBavlgrIA0Ab4GlTpH8hmCpUyTaIN4uEu0i0S6SHZBqg1S7SLaAUhMtd+qdo1K5XoDxYokuEI08Xi8STah6FElAsIot4Kl+vJP71/Xk384a/2o0/BePDf/ui/3/cFP8o0H1303Y/nHC/tOV2D8wUr+YNUT8sTxSLuCdarVHdp+2WieHR0+bWCWXLmZAKltuZer9OH1oRZrKPL2fbIpTDU6yxknWROmGJN2UZlpSoCNK14WJGj9ESiOUIkIqgyVdqKQPEJpAyRzBHCksijap3rOD4+cQSuqdYYHesyDQfjzJ+8OC5Jcz4iWR+TFb9/Ek+86OeoZnVBjCDmvCZYt7nKlQIIujdKN7AIG43hlektm+XpJ9MML6YJx1a1OzLLZcY8jvr8vHBZY3YrxjGW/1qS7TTw6PalgJTGVziUwumc+li7kcUgBJCKFhtA5hdRhvIEQTwuogSn9DuAaidQhrwHgTKjVhsvWmAACVypVGq91vtA9KdI9qHYNkE6v1Clg9oFYFJawIf+vXO8mfMLM/24r+eC39X9ZC/7yHfMiGfrQU/Ov5wE/Wkj/fBv5mPjrD1IJGQ6YAFvBemazla00ArIIo0Wz0YtFsKl4EgXIerIThur5QkxWbikxrP9cW5ZqSbFORaSgSNYkPF7hgpaWoMAMyXVqhTyv1SZUmqtHFtdqoxpC0W+IeZyqWxMp0v9Pt5wBEY/Gz9YFJvu6jKcGH49x/GWYtiy1TMucthvIhWzsrMOgdyVAEDAYKXn8mGMliWLXV60MQqbRHhjmGL5cVH4yyP5zkfL0kWRKZv1yR3F2VTQitl72p84t33dT3OrjnF08PDmgMh2PJQiRWiCaBRDafyBfSRSAHAwUMAkswRMIQCRaJIoCDBRwCCLBQAoEyCJBQkYKg8mUBCCDAAg4CCJQHCRjvdg7LtU6ldVTEayhJAyGvj7dn525bdpibTNGPmcA/ryd+vB77v5YLP93I/IQR+aetzP+9Ev0/VyI/Wov9dDUo3+MkhHvpWIgod8sUDVfpev24Wu8Q5XY6CeViIBiHU8GiPwDr/dh+AN9PVdX5pjrfVCarigC2bytIVHGhJKRQRJTKqFIZ1mqjRn3UqI9YzFGbOWYzJ/yWaMgaS0SK5Uqj3e3kirDOFmaoA7fWxR8Msv5lcOfDSQFD7nywq7rFUN7bVU3zjYZAIV6ohFOELwGFMzBCNXtHxwBEcfWBu9vaL9e1v5gW/GqG+/WSZE1m/2JZ/LYYZ+cvf1CMN/7q6cFBDcXQSAwKhouhKBSJg5FkMZoBEzkwkStmClC6AKULxUShmChASQBOFeFUEU5DYOYNQTADQukCmMoXkzkwlcXyhWalDgJIJltEkRJFVZJynl/Ksu/uKZlbrr21B5u2H61EfrSe+7v57F8upf5+Pfg3S5m/Xwp9wE7+w05uetcQleyGZZyEVUcgaK3Rb7b6/f4zguzAGQoFKlCRAuByLFdyBGCTE1YbCvsuUBvEDSFC5QJlxqRMHdWqomZtUulIq11ZvStj9eUdvpzbkwv480Ff3h8sRP3ZqDeTSiCVarPX6wEQrrMnxgW2m1uK387s/3pG9MEoe1Vsvr0pu72hubkhn+SZDFEsArc9+bI7RwXBCkQfdo+epAFqXeG5uWv4eFnxszHOr2d597d1GwrX50ui28uSb9zU+X9PjDduisZJPBqHAiEoEIKDYTgQhUMxNJKAowkgHAbDETAcK4ail1LBkRQcSSHxHBLPIfEMGE9fEolnkHgKz+ahWAxJJCgAbJTKJIL16TqUSvhEvKCIaeHwA9wVM2NJtbn2BcP9N2uFn61F/mHd99PtyL+uxX61lfrZXuEGK+Rm7TqZMyG1LGuUFcM+nKxTJE1WWhBCI8UaSbRBtFqgmmG8ZUyTxnhZE8C0xozBmNXpEipNVGWI6SwpizPr8gAub8HjL3r8RX8IDIShQBgKx9BwDPalMH8c8sXAWK5E1tr9/mEeIoTG8EOW+dqW8oNh3i+nBD8d3FqTWIZ4hk+meDc35FMimy5e8iI9a6FuA2g/0gIaT1tHT2IFclHqvMM2f7yw/8HI7i8n2Xe3dEy19/Ml0d1V2b8lxhuDeBPG8+nJk0a5isTiUDAM+oOgP1j0+IseH+j1F33+otcD+ryw1wt7/LDHD/uDsD8EBUJIKIKEInAogoSjUCSKhKNoJIZGYlAkCofDSCQCR2NUDiBzuS6BZtyWwL7MydmyslYdgj3V+KBxd0m2LfjNmue/bGb/ZTP6o7XkP6yE/nUr91tGTMAWRYSbOsaCV8SPSHcTRjVNVhvtA4I+hMt1uNKFy20Aq+awhr9QNaTLxkJDl6/avbDZmtFro0Z91ObOu8KQKwy5gkDYlY96ixE/GI1h0RQVzVViYD0M0v5C1ZMjXYVyBG6S9cPDgydpuMxQ+24z9V9tyD8cFXyypvjdnGhdbBziGb5alN7eVEyLbZo44UQ6JqBpLDQcYCNTe1o/ehrMk7NS5x22+bMl6a8mWL+Z4lxdlm8oXFcWhffX5ZMi2xsx3u1NnX27FPz8Mu7Os2cvWrVmKZPHEmk8lsCjcSQQAr3+otcDeNyQ2w57HKjbhbicsNuDeLyw1wt5PLDHD/kCkC8ABYJwMISEwpeEw2E8GkNCQTQcAXwBKBTCY6GAUuTjclzCLS93W8ne2hsYVC5Mu3eXmWzFjxmRn8xH/mE2/Ncrib9dCy9syWJKDkRgSuaWc3PLzV+LKvdrIFju9pH6c6zVguo9sNzA6D5QOfAVGs5s05tvupJle65si2IWd87uzPmCkD8KB+NoLEkEMlg4XwoD5QhUCyMNP1z3wXV3kQ6CbWehaocaIbxL0IcH/SdxiJqSOW7tGK4xNT8b4X8wsvv7eeGO0vGIpflqUXp7XTrFNysjqB1qGYtNba5mylZjpaPy4VNfjpqTuW7u6j+bF/1mgvXxovjGqmZRaPpomn1vbX9SZKt0+5dfbd+1jLNLB3V2/s0ONM9fvOocHJdrLQKr43CdIpoVmCqlc5g/DLm8qNsBu8y424m5XKjLgrrtiMuOeW0lV7jk96B+P+nzFP1OwOspex3FcAAKe0oRDxH2IsFAKRovRRN5qyUm47v5e67dLTt3W7e1In70UDc7rWYsuoWsHbbsH1eyH65Hf7wUvbXl9e+uYgFfq//E4/Epxge9HHZQxsK9RrhzRNeO0dYh1TggGodI4zha6vihpo3oBLN1T44OZ0rBOByJgalgMRwqpDKlSKEchRtxohpG2nG87YMpF9p0ww1/seot1q2Fmh2gHbl6AG0T3ZPG0bE3jy8ogre55utrqp8+2vv9DPvX09wlqXuIbb6ywBncNY5KrU5PWgv0panKZqKxEao7sMNq/4krg81Inbc3FV9P7/xxgvOLEcG1FcWKxPqHKdbgtvYby7i4ePX62Q9ESHjLY714+bp9cELRzVqtXq/R1SpdpugyWalARSIRQd0uwu7Gva683VxyexCbHXJYKacXdymQUJhyulsBfzWXwkEQzsGdZKQdCNdc7qbPWXXZEaeb9Achk9HD2nXxdu3sTRtn087dUM2O6uan9EszdsaynbXBZHL/eTP78XrAuMfx7i6lVZwWkEEQTLW8YN3acPE342ohSFXqzadEs4u1e6XWAUi106VOCGvG8XYUa0WxVgxr+DJoJoWlMngiR4ThSrbUSRCtMN4Iw/0I0PDDdSvSdWI9Z4G25lsmoG4B6qZcwwF2wOZxpXfgzqIL+76bu/rr68pfjQs+WxD8dla4su8d5liuLHAGmJohgdFiTwnjjW0/NuXEpq2ILlfH6l17Ep4S2R7v6sbZ6pvrip8Nsa/MCjcUrs8WBJdtBn1wdHFx8b6weD8gRrXaqVXoeoWsliuVSpumD+hypQpmqz4v5rSRXgfuNuMuK2o1EzYHYXNgTjvq8JWzsCHXmgg1BiKtIX9HkDy2Qi1ngQazABnwYOEQGfVmjHyLlOnk7lnZW8qVGY9oT7WzvDc+oFla0C4vGRanNIyZsVXhyuAo59OfCgdupPb3UKe+2WxaZfvS6TEdY8HFZeZT8Ub7JdloU81OqVTPoWUIobOlRgGqZgkaRes5oAoClTRYDhfxDF5LUQ03QkWRagCvBtB2EKyFkJq72IgADV+2qoG72kJDnWvIknV1tpWsHpW6B+4MsrTvu8PSfzEv/MUw+9N5/m8meQsSx90NxR+n9gaYmmG+SWtKMDyVCWP+tjo7qM4pEhTR7Jsihcc76sE97aLEdH1Z/I+3Vq8uihly5ydzvJuLolGeqdY/PD//74txdnFx8fTlab13UqGfoNUuUmmUym2C7KKlNkHQZYwoxaKQz4y67bjbibgNWMCDhRN4MlnO5VEUl+Gt+Vxj0FG7Zq4+CFZueLEBLzkTbrjgKoVjFbJOZrLxfZ5VIHLssXxigXhiTLW6GPdaFCIWe2GOtbzMmp3bGRye+/l/Hv/x/z7xs7/bvfGlZXUhZzfWaCqTBlhDD2Vzky4uM2XTlxsnVJmm5D5a6GnIAqTQQ8kCDYGHknjwXVOD7a2xPcS2hea4GwIfumcnBb4ax19m2XCRD5d4UZEbEwUJnidvSysLNUm6wY1VNv1lToQOkodE+9idQRakrrvb2utL/N+M7n0yw/3gMXNBYrvDkH+xKBrcVo8LLBpDetJE3FZlriqzw9qiJlPDGz1PFh3nGO6uise3JTeWhT97tHF/U74stvxuYvfOinSEa6z1D3/ITV28Lcb5+fnJ81e1zhFEH6brh8nGYaHcB9B6Aa8CRA2GqUwimfcEMk530uaAPQE4mS3AOEbV4FqNahzwMp0rZuwze/m3puIVZ/GKjb7iqH1pLWuK7UqjR5IdOBBNiTgBnsjJ3rbsbuyPjezcuR0wquI+u1UuVYr4FqFo49qV2V//88yv/nHi9z/fvXVDO/bAJdjDEYBqnkiWZhVzMx7eXkojhcg2ipANjoPKoodgtQpT7SzRhagyiNdXNNU5JbxrKK2oyw+46CCvuWFCRoSFIV7pIZsYEZYes4gHrNIjYXWAh4o9ohS5GawsOPFRE7TiKrmQPtY8dCXAKb753rZ6RmS8vaX+fE7w4+sLK/v2h9uqa2uK+5v74wKLUpt6pAavKjM3tOC0lTABzVLrwJmCFiS2ab5xVagbZMo/neZOcvUrEutH0+xLMeqHxxcXF6dn746B/wnOzs/Pj5+/rnSOi1Q9VesmKwd5rA2gdaDaLFDNPFCFC1A6CqBxAA4l4BQGF0t4mc5V2kX0kKocJCrtB+7SzUBvJdOejlamwvUr9tING76fr2N0HyebuYDfL950CTcMW7N2zrpsaoQz9DCqUaRtxrzdHDNrFQwG4/aXS19/vPT5ldmP/7h9+0vhwy/MC5OFeAhvP7WI+YrFORuHmVWL80gZyBOkNthAq8ScvJXH244Utq7q1NtlqYvKQI0C3m52KLGjloKeIzThSxGPuITQWeY7S1Pi0rg0PyjEh7gZjmMzWBq3IAO64l1lZtoC2YtNjO7bIvkhlvbexv6yzHRnS/75DO+/Xltaldvubsq+WJBeWxWOcAwqZeK+CrihKzywYCsu0gI2awcnIZBaU3pGdxUzO+JZgWFgTz8vMqzvO75ckdxYEA5zDI2jk8s24z2B6d8vRrmXLDUzRBvA+n6gKctQqnTZn27a4iU/ULInKW2QsOdIW6GmjVdtxWqGoMIEDZbpYuOpAjic9zRWwgf7+boP7fvxXpLqZMutbKkVi2dc+zIHZ9fImLfubeq5e2mvF4sm0w5P3h9wyxUeg0Wyy1r7+vdbX/1x6/pVzsNrW3euiR/fidqMxWrfqdfJ5qaNe1tphTQD4tkM2doP1F2Z2h1OeduETojrjwRNqNzkOombTJprw3AK3zW1TAlYZG+TDWhChK4ayFUt9oBdGpIAI7LSEK+w61hyEPdVwG1l/qYyO2uDXFCz1Og7YsAwx3B7WTTNkX85z/5kbO/nj3c31I67m7LPZkVfr4lGWXqNMvZYCz6wQ0NOkuEtO7BmtXsUzGNMnX9ZbFniyCb3FHcZ0lmuakVivbq+/8Yyzs5+QIzvDbseP39d7jyJ0888WCNOdJKlZxsB8kOB8zNZgBes/0GUFoaRP0hTP+LnRvWxQSv69zsZhh2qNk6C5QMt0stQjTSOJ8h2Gq1Hq+0U2UvjjTTWiYGtWLaSTaJRk8O8sa5fWLQwWS6zK4dWMyksGQXD4XQhlgMKcM4f2Xo0sHXv+vb1jzgPbnNGxwWjD3xqOUT37WaTeHrCxNmOScVpEEmmym1lqGQIA1Oi8rwSHRXmh3kkTFE7NugR+0m+WlWF4Nu70JioncAq6hByZ4/ctZAcM74swxk6fNNUG+MVd+3jJuCGHLilBO5oCssuLIh1qu1DbxqaEFoHt1TrMsO9DcnnU9w/Toq2tK77m9I/jPOuM/fHOUa9OjZshIc92LibYvorfrJX6x0nkArXFl8Wm6Y32ANr3Ntr4hWpYZ5v+GpVOryrnxTZLntT/5ab+m6fvhen1e4JSLUT1Z6fbHhLLX6aviKN/J7jW3WT/w8nvhOiPpNkP+Tnp9TxQUP+77bcix4ALXdwuh+pNgIY7YfrAbgVLzYCxaofrofhWiSDxxOUP066k5Df7dBvLagWFg3rS265Ml6o+FPlSALw5vOxAukBoAxMqrmilS+v7N38ijc8yBp6LJ8Y9HvMqcqZxerkj48oWUthGScC1KLxclUVIrfNOEPXXDNU1w3E9H7VX6R2HNV9XxejiTEJNSCsJpBejoIZWmSAR3Hs6H64IXQWNzV1bZYa5KCbxvsm+IYqf9cAPjbD60EySPWpzoE/i6yo/YMs3TpHPs/XjPMNd9eVYrN7jKO8ydDcXpPM8MwbluKcjZh1wIt+fC9GhcoH9YNnCbiscMSZMusyT80QqdeFKrbauii1X5nkfL3Au7+j6h68OL+4OD97eX76A2JcWsYbMYBKL1c9iJdaHpTWFJs78TYjTPOSNCeI7bqQnVBlxU8yfBVmuLIbL/NjVX/1mbbYsKB9M3poho9c2IkL77vRpgPqWjOkPQwGgojLh/ojRNKXc+yKRUsjoulh9faeJ1bwZ6hkhvLmcXsSdsYbfqgbRxssxvbkb3618Yv/tvHpr3Wb8/owKcmTKi5HOTFiWRgOqLhuvJaIlTvaYCOSb8ElGsTKINqOFyuVCrWhbejDlMpbvL+NrioaBbwGler+LD7MK++Z0E0jPitAZ4T4qhEfYaU55iEDdE8HPjbDow6MGatEqgfV7lEIwLYMoXG+eUugHtuWjHHUN5bELJVpYE/+xYL06opwZE+7pM/MW9FFB7LmxrjBUpzoNw+eJpGyyh0VGL1Co1vp8Csdfp03siJ3PNhUDXP1g1x9q3vyw1F13itG/RCg+vlSN0E2HVjbCB4ZwGMt2DICHQfUWwuUPuL7VoK1ERN0Q57cDVTnfJU72sxWuH1XmXqoyyzZISXWsxYb7mDN5ARNrrw9hBnDuDmBu0MZFV+snx83MhY1jBWDTOQ0233BgjlTDWY63mzDk6/awZoTrBrdUZlUJVS6No25MVV2Y4O1f/+enbHs3JhPCHguT8IbQbFBUWlAiilCVV6gzA9UxEFi3YB9tU3MKIFRUXlCVpwUU/MqfEoGrWuICWlxUoRNq9ABNjbKxyZU+GNeaNsyZis9NqOjDmzGS3CStXjtqNY7joElljmyqPAwuIrBdd7I3v7tRSFf7xxkKa6uykcljgmRZUYTmzEW1+zwrgeVh6gs1msfP80TVZ0nqrD51Y6A0RMwuP06j39d7ZwQWGb37WNiU6N9cHr2gxESvi9GrfcEbBzkyC5AdQu1bgBt6rNNZbapydO8Qt+Qrz2yQj/eDY5YwRs64AMxsBqo3FLlPxfHF8PdjyWxK6rUsKmgKHQNAVxvzSutWYUH0ier2gRl8qXsarVmaXK3EmVlAAATWUlEQVR/YUK5OmVZX1QuLXBGZvRSizNXswRr5gztTtUc8bI12zRjfWmuNWtGb/CB+7LU6vzWwNfXjUvrkvnpAHPDuD4bk0ur9/S5//Va+G9ms3+9mPqr+eR/nIn+b19XPhVhXBvOthKLKmhZUdrUV1e0pR0TxNRhmzqUY8dZxgJHD7Dt5IQsu+WcsqOjDmzGjS/7cFG6nqZP6r2TJETwrdE1pWtukz+yKRjfFg+uSyUW391NyZdL0ltM5RBHt2hMrbrwbRfM9qCqCAVQh+2Dk2KJNvpiGmdQ5/QbXB6j22t0e9dUjnG+eVxoHBca663+6dnF6dmL/6HeVK33BKm1s7VeptotUK0E0THAHVm+qUhXxIWqFmxthcgxK7gRohe85G1NYjWIr0Xry05iyV+ecROTLnQtSCoCpNpakNvSSjew74flYVzphTVKj5rBUo6OGaZWNIMTFqbAGCxIPAWNM2nK4QagYUzW1OGSNUWZY7AkjM1Y4S94gXuK1DU1PKLLT7pgtiK0aYyuCR1skVyl8BJST3XNBK8b6wtGck6LrmjhJSW1ZyntmKtb5u6irsLQZ3e0xLaxsW0tb5nqOw50WU+vGKtrJpJhqywaktLosCM97cAW3QjDh8jS1Wz9pNF/koFJmSO2qbRvcGQstZ2ns7HVbq07cndT8vmc4Ktl0cCuct2a2Q6SPD8mDuGaBJUtdzr9p1CpbvUnDK6w0REwOf1mV8DiDq7s26f4tlGuYYSjJwj62fPT16/fWUb2PTHOzs4uxcBqnWzjIEl3C1QrQ3ateFdZbJmAlhWmrVDXAXUdUNcCHOuBnjxX2c83xcWWIl0TRAlNnJaFKzw/sW8HRdas1AGqfKg8gEjDqCpGav2o2p7XODM8Z9zoTxi8OVGiqck9MccrsiQuSzUVCUqTb2ozZW2KXHcj1zXIZ1roiio2acmPu7A1F8UI5Jb9MM/b4HuwLVdNFCwYUiVPpGSKE/oY5otR+hiiCRb1AUhjzzp8kMqZUVgTJktaY0gqHXmlC+Hrs0x1ak+b4qriHH1q3Q5MWaFZG7LiALY8RWWyXKBPWv0nObikdMf3XVGN1ad0RXROr9IaVDtDkzLruMA2IbTPiMwb1vSODxUHEU2CMucqmUqzd/gUxmmbP2FwhoyOgNUVMDt8JmdwZd8+L3JN8g2PdxSJeLbd6r948ezfFOP89Ozs7OjZq2r3BKP7uepBptoH6W623PSiDSfSChO9EN5N4P0A2vVifR/YsYMdE9ozAS1lrqZKUlJ/UWhKCY1Ztj4jccOSEMqLkdI4JYkR3CgqjFGySFUUqQqybUG6I85WZekyP02LY1VlsiorthWRrjDdF0Ua8lhTFG2PWYgv9nM3dci4szLloiY8Zaab3osS7DC6H6iJYlVhlJYmaHm6rgmWDZmGJkXvB0pCf0kWKG+HKWG4wvZgfDcucRECM8KzE+sG8Jo0eVWZ/1QJXFUAD1SF2xbwuqkwa0SWbciWo8jyFHWpClA7aXVPAITQ+mICk1Nv82lcYYvHZ3SF1Y7AhMg0IbROCCwzAsOWLcUL4vt+UBdGbBkCopu9/jGIlJyBhNERMDt8dk9Ab/MYXf4lkX50T/tgXXhrmeV0eKlS+cnJwevXPxiY/uLi/PT09PRSDLDazZMHuXI/T7dyVbpQ7uYrR5lyL0e2i+VeBKtFKq0A1vAQTSfRtRSa1lRTHiuJ7BmhMytxAio3Kgzg4lBJFCFkYUoeo0VJWhKvqSO0MkoJkyVpnFKEy8pwWZIsqxJVdZiSpiryWEmeriviJD9Izbmp+2bkjj730IIOe1rTAZIfIthJShqriLOUNl4VZqvSDKRMVuXZqjFOytO4LIkrIrjQh4i9xL4b4/tgVgjhhbEdPyiIlJm24oA8eIcb/owfvqaE7iugAVV+zAAsWyCmubDpxtk+RBxEzLkaXD9p956AGGkKJJWuoNkV0nuiFofd6AiYPNERnm5abJsS2Sa52g1TVOBHtH7QFIQcCRQiK73eAYgSvnDc6PTozDa9xS7TGpQm+yRLdnWa+dHg7JXxZavZUiKwk5POmx3bvxt2PTu7HFw6PT8/fXH6unf8rNI6Ktb7l3ug5irtfLWTr3a+SVCdDNXOUO14qRXGWyG87cPajmLdkKxoE5QyWpKGCGGoJIyQ4lhVEq+JY2VxrCyJV6SxS9aksZosTktipDBGCZK0MEVL4hVZlJTGKWmiLIzSC1bkriL/tRK8psfvmUujztJioLIbrvJitDRZV6dpbaamy9KaTE2dpg2pmj5Z1SXLukRFHadkUVIUJgVhShAkeF6E64L4rqI4gAlC5VkjdFOUuMKNXxUmb8szj1T5UX1h1lJcdUJbHozlRfkBXBHBXYUy2jyqHz3PE1VzIKFzBE3ukNUTsjl9VldA547McnWTIseo2DTGUS+JjLsaL9ccFjti5mAmnsPIUjWTBdyegM5klat1PLFsi8Nb32V9OTDz+6v3vro3sM3mxRJxmq4+eXJ88e0Pjf/l2/7Tt6Pg56fn56evz07rnYNSpQNWO0C5Vai0CpUWUOnkqVaabKRK9TTVTZG9JNmLlrp+vOPDe26sZyu2jTHcEMe1CUqZoOTxsjROSSMlaaQki5KyKLkfoy75Jq1MULJEWRKv7Ccr+xFSESsr0w22H78pz34mjP+en/hYnr9uQAcd+Lwf24wS/FhVmqwrM7QuWzPla+YCbc43TLm6KVs1ZirGTMWQqWkzVWWyfHlZSZgUBQmBF+a7igIvvOOEh+Wpr7nhq8L4LUn6oTI3ostPmwqL1sKGE9z1IPwgKovgqijmyVNE47B58BQkqq5wSu8KGJwBo8NnsrtNTr/WHZvm6SaE9jGBaZKrf7S4N7rOm+fsr4uVHIXO7PAE/BGzxSHbV3G4wrXN7am5xccj4/cHhu8OjU8trYpkilAkXCqV+v3uixcvvr9P33fTQs7PT09fPX3+DCEolKQBogYQtQJRL5JNoNzKU60c2UyTjWSpHcebMaIZRBteiHZBTQfYMufq2hihipHSWEUUq/FjVV60IopWJNGyKFoRx6rvUhquSOI1QaQsTdCSUFkcqXIijcfy9C92Ur9iZT8SFa9q8MfW8qy7shWqcmMVebqmzdKG/OWQXNUJ0k6w4SjW7QBtzVfNuYoxV9VmqvJUWRKnxDHy8p9AEsQFXljgxzZs4CNp7Co/dkuaui/PDGtz06bCsqWwaQdYbkjgR6QBWBFG9DEkAJTIZq9zcAzjpCcYNTh9Rpff7AqYnH6jyy93hMZZqiG2fnBbdX+B9csrdz65dv/mwNjjqZnx+cUVxvrOzt7y8ur4xNTQ8OjwyNjU9OzqGmN3j61Wq90uRy6bLlOlw4Pe6enp+cXFy/fOKDw9Pb24uHj58nmr0w7HU6ksFEuB4VQxnIHDWSSUx4J5LFQohUAqmMcCOdSbQ5xp2BKHjXFYF4VVQVDqLwp84J4X3XSjay50w4WwfJgghHF9KM+PfY/8QInnx/ghghvABCFMFCS4fmrGhHy06fqnde/PdyOfSLI3teCQFZ31lDZC1b14TZ0q6zNlc65iz5HOPOUqlJ2FsiNfsedIa4Y0pHBdklDES5IwJggh/CAq8CPiEC4MoDw3yPMiq6b8fVH4ujBxX5Z4rExN6PLz5gLDWthxADwPIPZB8hCoisCGGBQq4GS92+0dICjuDUZMdrfO5tRaXGqTQ2V2CHX2oQ3B3VXxtXHGJ3dGf/XRF9du3b3/eGBwdGx4fGxkbHR8fHxycnJxcXFnZ0cmk5nN5lAolMlkSijSqFaOeu0XT05ev3pxdnZ2dn7x/t7U6en52dnZkyfHVKVsMlvVGqPZHjA6QgZ70OAI6xwhjSOidcc03rjaE1O6InJnVOoIC6xhrjnMMUW2daFNjZeh9S9qQlOqyLg8OLkfWFaHNo1Rpj7E1Ie2DWGmIXrJbWNs2xjbtiSY5jjTHGUawyxLfN2Yur5n/2+zyn9dNvyO6bwqCD6QhcdU4UVTgunMsL0FqS8vDxbUoYI+VDCEgUvqggVtIKf2ZffdGYkrw3dm2LY0y5retaV3rCmWI7tny+1YMrvW7JwyepPtvsYNPpAEB2SRSVVsQZtY1SeY5gTbmuI50vve7L43q/KmnfECSFTLdBMoIp5A2OJwa022fZ1RpNTw9tXrLPFXg7O/vT36+2t3bz4aXlxdk0rFZqPJ4XC5XB6X2+t2u71ebygUSqfTIAgSBFGv0b1O9/j4yfPnL79tns/P3gTU+RM3dX56cXFxdnbx+vXr4+NDiioZDKaNzR2eSMURKPYE8j2BfFeo3BYotgWKLaFiTaRfEWhXBNpFgXaWq5niaifZujGWbnBb9YCpvrWp+Wpd+dmK7Mvl/VubqkGWYZSlG2PrxznGUe53HOOZxvjWYb5lXGwbE5imxfbHHOsHo/y/fbD3k7H9n8/rPlsz3to0Pd41TPFMy2ITY9+yrbCx1HauxsnV2vkaO19j52hsLKWNrTBvy0wbEuO62LgiMCzwDPNc/RxPPyswzAnMcwLzLN80JzAP72q/WpFfWdPd2tLe39UPck0TAsucyLYss20oHFsq157ayda6BUavzh2OZPJZAAqGYnqzTaFU88WyHY5gcW1zYnbhwcj4lRv3P731eHh6li8V+4OeXDZJlyvNeqtartXrTZqmG41Gp9M5PDx8+vTp8+fPX798dfb69PTi4vXFxevTi1ev3xLifbPQL87PL05PT4+PDysVKhgMcznCuaXVqbnF0YnZkfGZ4YmZ4YmZwbGpxyMTD8cX7o/O3R2buzM+d3N45trw7NXh+a8GZz8dWPjDo9nf3J/5xd3pD29P/vzO1O8eLnw2svrl8MpXI6tfjn7DK6Mrn4+tfj62+sU44/NxxtWZ7a+nNq5NbnwyuPpfv578T5+N/f3thZ/cX/5wYP13oxufTW5dn2XeW9p5tLo9tbI9vbozu7Y9u7Y9s8qcWWVOr2xNLTMnFhmj84yhecbA3MajmY27k2u3x1fujq/cGlu+Ob58e3zl1tjy7fGVqyPLf3i89NtBxmejjC8mNm5Mb9+Z3Xm4sDu4zBpZY48x2JPre3NM3ipbwhIrVTqjXm+USGTbO+yVpdW5+eWJmfnHw2ODQyOT01Orawy+aN9isRQKOYoqtVqNZ0+en746e/78+atXL16/fv3qT3F6enp2dvb69Pzt5vkSb2T5bgz87OybzJOTo1qtAsOw0+EVikW7rL01xvrSyvLy6srSyvL84sLs/Nz87NzM9OT09OTU1MTYxPjw+MTQ2PjA6MTw6MjQyPDg6Mjw+NjQ2Pjg6NjQ2PjE5PT45MTE1OTE5PTo5NTo5NTIxOTw5OTw5OTI6OTA6MTA6MTg6NjAwNDDR0O3Ho99+WD81r37t+49vHnv0a37g7cfDN15OHz30dC9x0N3Hg7efTR099HQ3QeDd+4PXPL2vcfX7z+6dvfxtftDVx8MXb0/8tXdoc9vPf781uMv7jy6cvPRF7cHPr/56MqNh5/cfPSbawO/vDH22xtDv785/Mdbw5/dGf7szvDnd4e+eDD81aPRGw+Hbg9N3BueGhidnJ6ZW5ifnRgbHxgYGh0eGRubmF1c2dhkSiQSk1Hv87ozqTQB451Wu3fQP7+4ePXq9PTVZcyul+ffLZH8U5y/vjh/dfHtAozvlXlrscy3iVevXh0dHdVqNQRB4vF4MBh0u93Ob2G32202m8VisVgsZrPZaDTq9XqdTqfVajUajVar1Wq1Op1Op9Pp34LxHRgMhstDl4W1Wq1arVapVEqlUqFQ7O/v7+/vy2QyqVQqFotFIpFQKBQKhXw+n8fjcblcDofD4XDYbDabzb5Mc7lcLpfL4/H4fD6fzxcIBAKBQPgWBALBm9O5XC6LxdrZ2dne3mYymVtbWwwGY21tbXV1dXl5eXFxcX5+fmFhYXl5mcFgMJlMoVCoVqudTmc0Gs3lchiG0TTd7XaPj4+fPXv2+vXr97/6PxNvbc7+rcmcnp6+fPny+Pi42+02Go1qtUpRFPktSqVSqVS6TBAEgeM4hmEoiqIoiiAI+i2wP8Vlye/hzdE3p8MwDEEQBEEgCBaLxWKxCABAoVAoFAr5fD6fz18mcu/g8tAlgG9xefobvH1uNpvNZDLpdDqVSiUSiXg8HovFYrFYJBIJh8OhUCgQCAQCgWAwGI1G4/F4LpeDYbhcLjebzV6vd3R09Pz589evX79+/bbvv/hBg/izxLjE2Vs4PT199erVs2fPnj59+vTp08vEkydPnjx58vTp05O3cPwWjo6Ojt+Hd0u+Kf8uDr/FwTvovQ/9fv/dkpc4fAdvrnN5Vr/f73a7nU6n2+32er1Op9PpdNrtdutbtNvtbrd7eHh4aQQvX758/fr1ZQPw/4s1/KAYb4zjjR6X4p+enl6m326RXr8P781/k/m9Nu3dnDd4+T78UKWn7+Dtqt+LFy9eXF7wMv3mzxfv4DL/Te2XMrzBxVtO5f+7Nu/9hP6D5nZ5B39urW+X/959/1BF5z+As3fwQ/nfdUj+B27vzW18r7r3PsKf9bx/Ft4vxvcu/b17vXjHhv7n8ENv/N94+3/u4/1QRRff/ub6npzv1vteYf7t1/0/Lcb/C4kYdwwd5BhaAAAAAElFTkSuQmCC" alt="" />

上一篇:grabcut 分割 Rect


下一篇:SteveY对Amazon和Google平台的吐槽