Web应用程序系统的多用户权限控制设计及实现-用户模块【7】
前五章均是从整体上讲述了Web应用程序的多用户权限控制实现流程,本章讲述Web权限管理系统的基本模块-用户模块。用户模块涉及到的数据表为用户表。
1.1用户域
为了更规范和方便后期系统的二次开发和维护,对应特定的业务模块采用Area(域)的方式开发,用户模块的开发域如下图所示:
aaarticlea/png;base64,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" alt="" />
由于在Areas下还建立了一个新的目录SystemManage,故需要改变原来的路由。用户模块的路由文件名称为OperatorManageAreaRegistration。改变路由代码的文件名称为如下:
using System.Web.Mvc;
namespace CodeForMvcTest.Areas.OperatorManage
{
public class OperatorManageAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "SystemManage/OperatorManage";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"SystemManage_OperatorManage_default",
"SystemManage/OperatorManage/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
}
1.2Model
分组模块的Model可参看第三章项目架构的系统共有类,对应model为AccountInfo.cs。文件路径为Areas/SystemManage/Models。
1.3视图
用户模块的视图包含在用户域中,文件路径为Areas/SystemManage/OperatorManage/Views/OperatorManage,视图名称为OperatorManage.cshtml。视图的完整代码如下:
@{
ViewBag.Title = "用户管理";
Layout = "~/Views/Shared/_BaseLayout.cshtml";
} <div class="easyui-layout" data-options="fit:true"> <div data-options="region:'north',split:true" style="height: 50px;">
<form id="searchForm" method="POST" action="@Url.Action("OperatorManage", "OperatorManage")">
<!--筛选栏-->
<table style="margin-left: 5px; margin-top: 5px;">
<tr>
<td><span>用户组:</span></td>
<td>
<select class="easyui-combobox" name="groupId" id="groupId" style="width: 150px;"
data-options="editable:false,valueField:'GroupId',textField:'GroupName'">
@Html.Raw(ViewBag.GroupListWithAll)
</select>
</td>
<td><span style="margin-left: 10px;">用户账号:</span></td>
<td>
<input class="easyui-textbox" id="operatorId" name="operatorId" />
</td>
<td><span style="margin-left: 10px;">名称:</span></td>
<td>
<input class="easyui-textbox" id="operatorName" name="operatorName" />
</td>
<td>
<input type="submit" value="查找" id="btn_submit" style="margin-left: 10px; margin-right: 10px;" />
</td>
</tr>
</table>
</form>
</div> <div data-options="region:'center',split:true" style="padding-bottom: 10px;" id="centerDiv">
<table id="dataGrid">
<thead>
<tr>
<th data-options="field:'OperatorId',align:'left'">用户账号</th>
<th data-options="field:'OperatorName',align:'left'">名称</th>
<th data-options="field:'OperatorGroupName',align:'left'">所属用户组</th>
<th data-options="field:'Sex',align:'center'">性别</th>
<th data-options="field:'IsOnStaff',align:'center',formatter:statusformater">状态</th>
<th data-options="field:'AliasName',align:'center',formatter:operateFormater">操作</th>
</tr>
</thead>
<tbody> </tbody>
</table>
<br />
</div> </div> <!--属性组工具栏-->
<div id="operator_tb" style="height: auto">
<a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="openAddWindow();">添加用户</a>
</div> <!--用户信息编辑窗体-->
<div id="operatorEditWin" title="修改用户信息" style="width: 450px; height: 500px; padding: 20px; text-align: center;">
<form id="operatorEditForm" method="POST" action="@Url.Action("UpdateOperator", "OperatorManage")">
<table style="margin: auto;">
<tr>
<td style="text-align: right;"><span>用户账号:</span></td>
<td>
<input class="easyui-validatebox" data-options="required:true" id="e_operatorId" name="operatorId" />
</td>
</tr>
<tr style="height: 40px;">
<td style="text-align: right;"><span>名称:</span></td>
<td>
<input class="easyui-validatebox" id="e_operatorName" name="operatorName" data-options="required:true" />
</td>
</tr>
<tr style="height: 30px;">
<td style="text-align: right;"><span>用户组:</span></td>
<td>
<select class="easyui-combobox" name="groupId" id="e_groupId" style="width: 150px;"
data-options="editable:false,required:true,multiple:true">
@Html.Raw(ViewBag.GroupList)
</select>
</td>
</tr> <tr style="height: 40px;">
<td style="text-align: right;"><span>性别:</span></td>
<td>
<select class="easyui-combobox" name="sex" id="e_sex" style="width: 150px;"
data-options="editable:false,required:true">
<option value="0">男</option>
<option value="1">女</option>
</select>
</td>
</tr>
<tr style="height: 40px;">
<td style="text-align: right;"><span>状态:</span></td>
<td>
<select class="easyui-combobox" name="state" id="e_state" style="width: 150px;"
data-options="editable:false,required:true">
<option value="0">禁用</option>
<option value="1">启用</option>
</select>
</td>
</tr>
<tr style="height: 50px;">
<td colspan="2" style="text-align: right;">
<input type="hidden" id="oldId" name="oldId" />
<input type="submit" value="提交" id="btn_editsubmit" style="margin-left: 10px; margin-right: 10px;" />
<input type="button" value="取消" id="btn_editCancel" onclick="javascript: return $('#operatorEditWin').window('close');"
style="margin-left: 10px; margin-right: 10px;" />
</td>
</tr>
</table>
</form>
</div> <!--用户添加窗体-->
<div id="operatorAddWin" title="添加用户" style="width: 450px; height: 500px; padding: 20px; text-align: center;">
<form id="operatorAddForm" method="POST" action="@Url.Action("AddOperator", "OperatorManage")">
<table style="margin: auto;">
<tr>
<td style="text-align: right;"><span>用户账号:</span></td>
<td>
<input class="easyui-validatebox" data-options="required:true" id="a_operatorId" name="operatorId" />
</td>
</tr>
<tr style="height: 30px;">
<td style="text-align: right;"><span>名称:</span></td>
<td>
<input class="easyui-validatebox" id="a_operatorName" name="operatorName" data-options="required:true" />
</td>
</tr>
<tr style="height: 30px;">
<td style="text-align: right;"><span>密码:</span></td>
<td>
<input type="password" id="a_password" name="password" data-options="required:true" />
</td>
</tr>
<tr style="height: 30px;">
<td style="text-align: right;"><span>确认密码:</span></td>
<td>
<input type="password" id="a_passwordconfirm" name="passwordconfirm" data-options="required:true" />
</td>
</tr>
<tr style="height: 30px;">
<td style="text-align: right;"><span>用户组:</span></td>
<td>
<select class="easyui-combobox" name="groupId" id="a_groupId" style="width: 150px;"
data-options="editable:false,required:true,multiple:true">
@Html.Raw(ViewBag.GroupList)
</select>
</td>
</tr> <tr style="height: 30px;">
<td style="text-align: right;"><span>性别:</span></td>
<td>
<select class="easyui-combobox" name="sex" id="a_sex" style="width: 150px;"
data-options="editable:false,required:true">
<option value="0">男</option>
<option value="1">女</option>
</select>
</td>
</tr>
<tr style="height: 30px;">
<td style="text-align: right;"><span>状态:</span></td>
<td>
<select class="easyui-combobox" name="state" id="a_state" style="width: 150px;"
data-options="editable:false,required:true">
<option value="0">禁用</option>
<option value="1">启用</option>
</select>
</td>
</tr>
<tr style="height: 50px;">
<td colspan="2" style="text-align: right;">
<input type="submit" value="提交" id="btn_addsubmit" style="margin-left: 10px; margin-right: 10px;" />
<input type="button" value="取消" id="btn_addCancel" onclick="javascript: return $('#operatorAddWin').window('close');"
style="margin-left: 10px; margin-right: 10px;" />
</td>
</tr>
</table>
</form>
</div> @section scripts
{
<script type="text/javascript" src="/Areas/SystemManage/SystemJS/operatorManage.js"></script>
}
OperatorMange.cshtml
1.4JS文件
用户模块相关的JS文件路径为Areas/SystemManage/SystemJS,JS文件名称为operatorManage.js。JS的完整代码如下:
//状态显示格式化
function statusformater(value, row, index) {
if (row.IsOnStaff == "0") {
return "禁用";
} else {
return "启用";
}
}; //属性组操作显示格式化
function operateFormater(value, row, index) {
var operationStr = "<a href='#' onclick=\"openEditWindow('" + row.OperatorId + "','"
+ row.OperatorName + "','" + row.OperatorGroupId + "'," + row.SplitOwnerId + ","
+ row.SplitRoadId + ",'" + row.Sex + "'," + row.IsOnStaff + ");\" style='margin-right:10px;'>编辑</a>";
operationStr += "<a href='#' onclick=\"deleteOperator('" + row.OperatorId + "');\">删除</a>";
return operationStr;
}; //开启编辑窗体
function openEditWindow(operatorId, operatorName, groupId, splitownerId,
splitroadId, sex, isOnStaff) {
$("#e_operatorId").val(operatorId);
$("#e_operatorName").val(operatorName);
$("#e_groupId").combobox('setValues', groupId);
if (sex == "男") {
$("#e_sex").combobox("select", 0);
} else {
$("#e_sex").combobox("select", 1);
}
$("#e_state").combobox("setValue", isOnStaff);
$("#oldId").val(operatorId);
$('#operatorEditWin').window('open');
}; //点击添加按钮时,打开添加用户窗体”
function openAddWindow() {
$("#a_operatorId").val('');
$("#a_operatorName").val("");
$("#a_password").val("");
$("#a_passwordconfirm").val("");
$("#a_sex").combobox("select", 0);
$("#a_state").combobox("select", 0);
$('#operatorAddWin').window('open');
}; //删除用户
function deleteOperator(operatorId) {
startDatagridLoading("dataGrid", "btn_submit");
$.ajax({
url: '/SystemManage/OperatorManage/OperatorManage/DeleteOperator',
type: 'POST',
dataType: 'text',
data: { operatorId: operatorId },
success: function (data) {
if (data.indexOf("/Login/Login") >= 0) {
window.parent.location.href = '/Login/Login';
}
var groupId = $("#groupId").combobox('getValue');
operatorId = $("#operatorId").val();
var operatorName = $("#operatorName").val();
var url = "/SystemManage/OperatorManage/OperatorManage/OperatorManage?groupId=" + groupId
+ "&operatorId=" + operatorId + "&operatorName=" + operatorName;
alert(data);
reloadDatagrid(url, "dataGrid", "btn_submit", "无用户数据返回!", "查询用户数据出错!");
},
error: function (data) {
commErrorHandle(data, true, 'dataGrid', 'btn_submit', "操作出错!");
}
});
}; $(function () {
//设置DataGrid基本属性
var centerHeight = $("#centerDiv").height();
$("#dataGrid").datagrid({
height: centerHeight - 15,
rownumbers: false,
singleSelect: true,
autoRowHeight: false,
fitColumns: true,
pagination: true,
pageSize: 20,
url: '/SystemManage/OperatorManage/OperatorManage/OperatorManage?groupId=-1&operatorId=&operatorName=',
loadMsg: 'Loading... ...',
toolbar: '#operator_tb',
remoteSort: false,
onLoadSuccess: function (data) {
//设置查询按钮可用
$("#btn_submit").attr("disabled", false);
if (data.total <= 0)
alert("未找到匹配的用户信息!");
$(".datagrid-wrap.panel-body").css("width", '100%');
$(".datagrid-wrap.panel-body .datagrid-view").css("width", '100%');
},
onLoadError: function (data) {
//判断是否是首次加载,不是首次加载再判断错误原因
var isFirstLoad = $("#firstLoadFlag").val();
if (isFirstLoad == "false") {
//设置查询按钮可用
$("#btn_submit").attr("disabled", false);
if (data.responseText.indexOf("/Login/Login") >= 0) {
window.parent.location.href = '/Login/Login';
} else {
$("#btn_submit").attr("disabled", false);
//隐藏加载状态
$('#dataGrid').datagrid('loaded');
alert("对不起,查询失败!");
}
}
}
}); $('#operatorEditWin').window({
modal: true,
collapsible: false,
minimizable: false,
maximizable: false,
draggable: true,
resizable: false,
closable: false,
closed: true
}); $('#operatorAddWin').window({
modal: true,
collapsible: false,
minimizable: false,
maximizable: false,
draggable: true,
resizable: false,
closable: false,
closed: true
}); //用户信息查询
$("#searchForm").submit(function (event) {
//中断当前的提交事件
event.preventDefault();
//将首次加载标志设置为false
$("#firstLoadFlag").val("false");
//清空数据
$("#dataGrid").datagrid('loadData', { total: 1, rows: [] });
var groupId = $("#groupId").combobox('getValue');
var operatorId = $("#operatorId").val();
var operatorName = $("#operatorName").val();
$("#btn_submit").attr("disabled", true);
$("#dataGrid").datagrid('load', {
groupId: groupId,
operatorId: operatorId,
operatorName: operatorName
}); }); //修改用户信息
$("#operatorEditForm").submit(function (event) {
//中断当前的提交事件
event.preventDefault();
//提交的URL,默认为属性组修改或添加路径
var url = "/SystemManage/OperatorManage/OperatorManage/UpdateOperator";
//账号
var operatorId = $("#e_operatorId").val();
if (operatorId == "") {
alert("账号不能为空!");
return false;
}
//名称
var operatorName = $("#e_operatorName").val();
if (operatorName == "") {
alert("名称不能为空!");
return false;
} $('#operatorEditWin').window('close'); $("#dataGrid").datagrid("loading");
$("#btn_submit").attr("disabled", true); var formData = SerializeFormWithArray("operatorEditForm");
url = url + "?" + formData; $.ajax({
url: url,
type: 'POST',
dataType: 'text',
success: function (data) {
if (data.indexOf("/Login/Login") >= 0) {
window.parent.location.href = '/Login/Login';
}
groupId = $("#groupId").combobox('getValue');
operatorId = $("#operatorId").val();
operatorName = $("#operatorName").val();
url = "/SystemManage/OperatorManage/OperatorManage/OperatorManage?groupId=" + groupId
+ "&operatorId=" + operatorId + "&operatorName=" + operatorName; alert(data); reloadDatagrid(url, "dataGrid", "btn_submit", "无用户数据返回!", "查询用户数据出错!");
},
error: function (data) {
commErrorHandle(data, true, 'dataGrid', 'btn_submit', "操作出错!");
}
});
}); //添加用户信息
$("#operatorAddForm").submit(function (event) {
//中断当前的提交事件
event.preventDefault();
//提交的URL,默认为属性组修改或添加路径
var url = "/SystemManage/OperatorManage/OperatorManage/AddOperator";
//账号
var operatorId = $("#a_operatorId").val();
if (operatorId == "") {
alert("账号不能为空!");
return false;
}
//名称
var operatorName = $("#a_operatorName").val();
if (operatorName == "") {
alert("名称不能为空!");
return false;
}
//密码
var password = $("#a_password").val();
var passwordConfirm = $("#a_passwordconfirm").val();
if (password == "" || passwordConfirm == "") {
alert("密码不能为空!");
return false;
}
if (password != passwordConfirm) {
alert("两次输入密码不一致!");
return false;
} $('#operatorAddWin').window('close');
startDatagridLoading('dataGrid', 'btn_submit'); var groupId;
//表单序列化
var formData = SerializeFormWithArray("operatorAddForm");
//完整路径
url = url + "?" + formData; $.ajax({
url: url,
type: 'POST',
dataType: 'text',
success: function (data) {
if (data.indexOf("/Login/Login") >= 0) {
window.parent.location.href = '/Login/Login';
} groupId = $("#groupId").combobox('getValue');
operatorId = $("#operatorId").val();
operatorName = $("#operatorName").val();
url = "/SystemManage/OperatorManage/OperatorManage/OperatorManage?groupId=" + groupId
+ "&operatorId=" + operatorId + "&operatorName=" + operatorName; alert(data); reloadDatagrid(url, "dataGrid", "btn_submit", "无用户数据返回!", "查询用户数据出错!");
},
error: function (data) {
commErrorHandle(data, true, 'dataGrid', 'btn_submit', "操作出错!");
}
});
}); });
operatorManage.js
1.5控制器
用户模块的控制器包含在用户域中,文件路径为Areas/SystemManage/OperatorManage/Controllers,控制器名称为OperatorManageController.cs。控制器的完整代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Session;
using OdbcDbAccess;
using System.Data;
using Models;
using Controllers;
using System.Data.SqlClient;
using Newtonsoft.Json;
using LogInfo; namespace CodeForMvcTest.Areas.OperatorManage.Controllers
{
public class OperatorManageController : BaseController
{
/// <summary>
/// ****************************
/// 功能:用户信息类
/// 作者:王令
/// 时间:2015-7-15
/// 邮箱:1129137758@qq.com
/// **************************** public ActionResult OperatorManage()
{
IList<AccountInfo> operatorList = GetOperatorByGroup(-, null, null);
IList<OperatorGroup> groupList = GetOperatorGroup();
//获取分组
ViewBag.OperatorList = operatorList;
ViewBag.GroupListWithAll = DataTransfor.ListToComboboxHtml(groupList, "GroupId", "GroupName", true);
ViewBag.GroupList = DataTransfor.ListToComboboxHtml(groupList, "GroupId", "GroupName", false);
return View();
} /// <summary>
/// 返回用户列表数据
/// </summary>
/// <param name="groupId">用户组ID</param>
/// <param name="operatorId">账号</param>
/// <param name="operatorName">名称</param>
/// <returns></returns>
[HttpPost]
public ActionResult OperatorManage(int groupId, string operatorId, string operatorName)
{
IList<AccountInfo> dataList = GetOperatorByGroup(groupId, operatorId, operatorName);
return Json(dataList);
} /// <summary>
/// 添加用户
/// </summary>
/// <param name="groupId">用户组ID</param>
/// <param name="operatorId">操作员账号</param>
/// <param name="operatorName">操作员名字</param>
/// <param name="sex">性别</param>
/// <param name="state">是否启用</param>
/// <param name="password">密码</param>
/// <returns></returns>
[HttpPost]
public ActionResult AddOperator(string groupId,
string operatorId, string operatorName, int sex, int state, string password)
{
try
{
string sql = "select count(*) from operatorinfo where accountid='" + operatorId + "'";
int count = SqlHelper.ExecuteScalar<int>(SqlSeverConnectionName , sql);
if (count >= )
{
Log.SaveOperatorLog(sql, , "由于账号已经存在,未能成功添加用户");
return Content("该账号已经存在!");
} sql = "insert into operatorinfo (accountid,accountname,sex,isonstaff,groupid,"
+ "netid,opcardid,opcardno,opgroupno,passwords) values('{0}','{1}',{2},{3},'{4}',5000,0,0,0,'{5}')"; sql = string.Format(sql, operatorId, operatorName, sex, state, groupId, password); int updateCount = SqlHelper.ExecuteNonQuery(SqlSeverConnectionName , sql);
if (updateCount < )
{
Log.SaveOperatorLog(sql, , "添加用户" + operatorId);
return Content("未能成功添加用户!");
}
Log.SaveOperatorLog(sql, , "添加用户" + operatorId);
return Content("操作成功!");
}
catch (Exception ex)
{
Log.SaveErrorLog(ex.ToString(), "添加用户出错");
return Content("添加用户出错!");
}
} /// <summary>
/// 修改用户信息
/// </summary>
/// <param name="groupId">用户组ID</param>
/// <param name="oldId">原用户ID</param>
/// <param name="operatorName">操作员名字</param>
/// <param name="sex">性别</param>
/// <param name="state">是否启用</param>
/// <returns></returns>
[HttpPost]
public ActionResult UpdateOperator(string groupId,
string operatorId, string oldId, string operatorName, int sex, int state)
{
string sql = "update operatorinfo set accountid='{0}',accountname='{1}',groupid='{2}',"
+ "isonstaff={3},sex={4} where accountid='{5}'"; try
{
sql = string.Format(sql, operatorId, operatorName, groupId,state, sex, oldId);
int updateCount = SqlHelper.ExecuteNonQuery(SqlSeverConnectionName , sql);
Log.SaveOperatorLog(sql, , "修改用户信息");
return Content("操作成功!");
}
catch (Exception ex)
{
Log.SaveErrorLog(ex.ToString(), "修改用户信息出错");
return Content("修改用户信息出错!");
}
} /// <summary>
/// 删除用户信息
/// </summary>
/// <param name="operatorId">操作员账号</param>
/// <returns></returns>
[HttpPost]
public ActionResult DeleteOperator(string operatorId)
{
string sql = "delete from operatorinfo where accountid='" + operatorId + "'";
try
{
int updateCount = SqlHelper.ExecuteNonQuery(SqlSeverConnectionName , sql);
Log.SaveOperatorLog(sql, , "成功删除用户信息");
return Content("操作成功!");
}
catch (Exception ex)
{
Log.SaveErrorLog(ex.ToString(), "删除用户信息出错");
return Content("删除用户信息出错!");
}
} /// <summary>
/// 根据用户组获取用户组下的用户列表
/// </summary>
/// <param name="groupId">用户组ID,-1=全部</param>
/// <param name="operatorId">账号</param>
/// <param name="operatorName">名称</param>
/// <returns></returns>
private IList<AccountInfo> GetOperatorByGroup(int groupId, string operatorId, string operatorName)
{
IList<AccountInfo> dataList = new List<AccountInfo>();
string sql = "select o.* from operatorinfo o where 1=1";
if (groupId != -)
{
sql += " and o.groupid='" + groupId + "' ";
}
if (!string.IsNullOrEmpty(operatorId))
{
sql += " and o.accountid='" + operatorId + "'";
}
if (!string.IsNullOrEmpty(operatorName))
{
sql += " and o.accountname='" + operatorName + "'";
}
sql += " order by o.accountid";
try
{
DataSet dataSet = SqlHelper.ExecuteQuery(SqlSeverConnectionName , sql);
if (dataSet != null && dataSet.Tables.Count > )
{
DataTable table = dataSet.Tables[];
foreach (DataRow dr in table.Rows)
{
var item = new AccountInfo(); #region 封装用户信息 item.OperatorId = Convert.ToString(dr["accountid"]);
item.OperatorName = DBNull.Value.Equals(dr["accountname"]) ? "" : Convert.ToString(dr["accountname"]); item.AliasName = DBNull.Value.Equals(dr["aliasname"]) ? "" : Convert.ToString(dr["aliasname"]);
item.Sex = DBNull.Value.Equals(dr["sex"]) ? "" : (Convert.ToInt32(dr["sex"]) == ? "男" : "女");
item.OperatorGroupId = DBNull.Value.Equals(dr["groupid"]) ? "" : Convert.ToString(dr["groupid"]);
item.IsOnStaff = DBNull.Value.Equals(dr["isonstaff"]) ? : Convert.ToInt32(dr["isonstaff"]);
item.OperatorGroupName = ""; #endregion #region 获取用户组名 sql = "select groupname from operatorgroup where groupid in (" + item.OperatorGroupId + ")";
DataSet groupDs = SqlHelper.ExecuteQuery(SqlSeverConnectionName, sql);
if (groupDs != null && groupDs.Tables.Count > )
{
DataTable groupTb = groupDs.Tables[];
foreach (DataRow groupRow in groupTb.Rows)
{
string groupName = DBNull.Value.Equals(groupRow[]) ? "" : Convert.ToString(groupRow[]);
if (!string.IsNullOrEmpty(groupName))
{
item.OperatorGroupName += groupName + ",";
}
}
if (!string.IsNullOrEmpty(item.OperatorGroupName))
{
item.OperatorGroupName = item.OperatorGroupName.Substring(,
item.OperatorGroupName.Length - );
}
} #endregion dataList.Add(item);
}
}
}
catch (Exception ex)
{
Log.SaveErrorLog(ex.ToString(), "获取用户信息出错");
}
return dataList;
} /// <summary>
/// 获取用户组
/// </summary>
/// <returns></returns>
public IList<OperatorGroup> GetOperatorGroup()
{
IList<OperatorGroup> groupList = new List<OperatorGroup>();
string sql = "select * from operatorgroup order by groupid";
try
{
DataSet dataSet = SqlHelper.ExecuteQuery(SqlSeverConnectionName , sql);
int[] columnIndexArray = { , , , , };
string[] propertyArray = { "GroupId", "GroupName", "OrderNum", "State", "ParentId" };
groupList = DataTransfor.DataSetTransfor<OperatorGroup>(dataSet, columnIndexArray, propertyArray);
}
catch (Exception ex)
{
Log.SaveErrorLog(ex.ToString(), "获取用户组出错!");
}
return groupList;
} } }
OperatorManage.cs
1.6界面运行截图
用户管理主界面如下图所示:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABEYAAAIhCAIAAADM+yiaAAAgAElEQVR4nOzdf5Ab933f/8236R/ppOkP08JM/uhMO52Jy5hcm2jmO+PEUeKaRtNOaodxfB2y+yUHrlL3OyORdnKRKH1FyaKO1pLSyr/kUhZNU7GVqrZkgpYg145i02USWRZ1FHWri5YyLeooRcufAO9w1JEnar9/fLAffPYn9nDAAQs8H8PB4PYWOHDx2cXn9Xl/dqF5AAAAAJBbWr9fAAAAAAB0LhBp5ufnT506NT09PbWCpqenT5061Wg0kl5iX15Vr43m/zqLtlsGAAAAULUizdmzZ19++eVz587Nz88vrKBGo3Hu3LmXX37Zdd3o6+vXq+q10fxfZ5G+ZQAAAICQZqSZm5t7+eWX+9iBvnz58ssvvzw7O6u+uL6/ql4bzf91FrFbBgAAAIhqRppXX3313Llzb/XVuXPnXn31VfXFvfrqq+fPn78y1M6fPx/9X/f9vRgE0fYAAAAARDUjzfT0dKPR6G8Xdm5ubnp6Wn1x09PTly9f7nfo6K35+fno/7rv78UgiLYHAAAAIKoZaaampi4PgKmpKfXFTU1N9TtxrITo/7rf78OgCG0ZAAAAIGrQI83VEUCkSUKkAQAAQFutSDM/AIg0HpFGQaQBAABAW0uNNC9sHbthX+UF8cOxysNjY1uf+OnPxY9PPGiNjd2Q8m/iwae6HWlmPnfT1uS/uPWp52dC8WHb2A2fvOn+megTPf/9T47d8LmHvi+XfP3u28bGbnsx8GPzae++e2f0z339ux0GsOj/uu3bkLqpbz0WXv3nEzfeIt+mzL+aV95l9Tl/PnHjVtkGxI/yr+/cuSf6LqQ/fwoiDQAAANrKGmn27bw1Pa5s3flw8BHt+8ptu7AZI42MKGoIeeqh++MijYhA0eVqYhH5pLpN+VFEnaceul88v39n5nM3bd129zdFHFrhSCPz4cmfPnVLa+P/fOLGuyKRZv5Y5eHyjdbJuOX+8wSSydjYDf76L2wNvtHlG28pR1aTr+FY5WHREp540NpXeaGzZiARaQAAANBWK9I0luDkxI13Tcb9YvLgw0mZZ9/BY22fN9q5X2zjtIg0pxcXFxcXvz5x29jYbeIxT+27f2xs61OTp/37yZWcydNfn7htbGzro0889smxG77+hO0/5LZ9ypPIhVOtO6c/d9PWbRPfPD35ffnADkT/12031HcfvG/iwWrzzXi2esvOh6NvTcp7Ub7xvpONRqPR2Ldzz2SjMXnw4a07Hwi+p8duufG+k43Gvp23bt358OTBh8VDvvvgfWNjt042jm0NvqHyNcT90a3fffZk2/9RlvYAAAAARC0h0mSJK5MHH97a6l63fPfB+3oXadLjSijeqOTy05Pf/+K+74tQtG3ivm1jN9x00/ZtE99cXLS3JUaayMSzSKT508/+xc6dO8X9nTt3/uln/6KLkSZl4pmMNDL2BDXjyuTBh/cdPNZonLx/5wMnwzG1tU56dU68rWqkEQ3Af8dPTtx4SzTSfHrHN+68805x/8477/z0jm9kaQ8AAABAVCvSzLXz/HcenthbjS7/7t779n1nUq6z9a6Ho+ur66ToZZUmLdKklnFuGBu74XP7vh+JNO2rNCLG7Ny5U97pYqTJUqVJjzT+ZEJRRTkZmXjWjDQJT9KQuUWZlLj1wQcfyFKlETHmzjvvlHeINAAAAOjM0iJN4lB93yLN4tcnbutSpIlZYXFxcXHR3jZ2w+f2fV+JPVsnJnZmnHgmwkxKnomNNG03lLo9f/aT6i3+Np+b+9nEjZ99vt37Vb7xvp/56//kJz8LPXBubm5ubvKW1jqTW1PfdPU1yAbgv8KfTdx4y3d/8rO5CBFmRJ7J2B4AAACAqB5WadTlHUeat9t4/Z7UiWffO/b622+//b19n2+7jv3kN5PW+fqTL4k/9r19nx8bu81OeEK5mmrnzp1/etdf/Oldf7Fz586k/0NnkSZl4tnz/jqx75cSV342ceNNfj75q5RIo9xv2nfXrbGRRn2F6e84kQYAAABd0Yo0s+0c/c6BpG70Q9+ZlOtsvevA7Ozs7OwrEzfeJJcf2nufvJ+is0jzyZs+f/rtt99++21RpbFb8aMZV9TlKnUd+8lvyvtJZKRR//q2iW8mrS/yTHPiWXKqif6v226oh+7aLrfnK888eUtzm4vN/tmj2bb50e8cGBu76dAzr8j3K1TJeaW5YnyVRnls6zUcista0Zdxxx13bNvx53fccYe8k6U9AAAAAFFLizQTe5+MLo/tOh/ae9/Wuw48dNf2sbEbYh+VpQubIdK8tG3sBhkqEiJNm+AhpFRp5GOXWqVRY4xINV2KNK3cMpsYaQLrtHu2myb2/s/g+pO3KJFGud/y0F2fVSNNORhy0gOVGmNEqoldjUgDAACAtlqR5lI7Rx9PrtI8/rxc7cQzT5bHbth61wG5RAQbdZ0k0c79tVQvPfnI2NgN93ztB+LHAxO3jY3d9lLr/tbvHXtDrHPgyekMT7X1e8feCC5+456btm6beET88L2vfX5s7LYnn3zcXy3w244tNdIc/c4BpYQSH2mUclmah+7a7ueQVzqNNM3yTijAZKzLpSPSAAAAoK2lRZq79z4ZXV7Ze5+IKyK6lG+870TMo0/cfeNNbVPNUiPNsWNH7rlpu8whItI8+eQjfnXlEZFDPnnT519vlyte8h8VV6V5xH/ypNNXbhgbuyHLX8kYadK30kN3bQ9lyFvuOnCiWSdpbv+H7vps5Zm49yH4xok3VD42ehWBE5cuXbr0fNLEs9CfaPc8S0akAQAAQFtLiDQrYKmRZjgsNdKMDiINAAAA2mpFmvoAINIMznsxCIg0AAAAaGvQI807I4BIk4RIAwAAgLZakaY2AIg0HpFGQaQBAABAW0Sa/ov+r/v9PgwKIg0AAADaakWaiwMg2rnvxzZZaUSaJCPSAAAAALAcRJr+i/6v+/0+DIoRaQAAAABYDm1qgJ05c6bf22clnDlzpt9bGgAAAMgrrd/9eQAAAADoHJEGAAAAQI4RaQAAAADkGJEGAAAAQI4RaQAAAADkGJEGAAAAQI4RaQAAAADkGJEGAAAAQI4RaQAAAADkGJEGAAAAQI5pUwAAAACQW1RpAAAAAOQVkQYAAABAjhFpAAAAAOQYkQYAAABAjhFpAAAAAOQYkQYAAABAjhFpAAAAAOQYkQYAAABAjhFpAAAAAOQYkQYAgD770pe+dPPNN2/rt5tvvvlLX/pSvzcGACwZkQYAgH4yd+/+whe+4Lru2/3muu4XvvAFc/fufm8SAFiaHEea+fn5U6dOTU9PT2HgTU9Pnzp1qtFo9LvV9AdtdTDltFnSnAbTcprT+Pj42bNnr169OttvV69ePXv27Pj4eNfbLQD01FROI8358+cdx5mdnX3nnXf6/VpG10Jmly9frtfrr7zyytmzZ/v9qlcabXVgXbt2bXZ21nGcHDVLmtPAWk5z2rZt29tvv93XLNPy9ttvb9u2rRebCAB6J5eRZn5+3nGca9eu9fuFjLrskUZ46623XnnlldwNii8HbXXwXbt2zXGcXDRLmtPg66w5bdu2bXFx8dJgWFxcJNIAyJ1cRppTp07Nzc31+1VgyZFmYWHh0qVLp06d6vcLXzm01VyYm5vLRbOkOeVCB81JRJr6YCDSAMijXEaa6elpJl0Mgg4izeXLl6enp/v9wlcObTUXrl27lotmSXPKhQ6aE5EGAJYpLdJUzbKWqOiEV3fLul613bhnSvlVhy+6W0+F5egg0iwsLCz17etKO3TtaiH4KMsoWhXHf0jBv+8U4/9QobMGTFvNi07fKaeY2jb8hhdqch2iOeXFUt8pEWlqS/Dc+7T3PZfwO+eZb/27sQn548TY+yYeeW5i7H3vUxamINIAyKM2kaZsVsV9166WDMv/jVvWS9FPZqdiFfRy9LPdqVj+87hlvRDoJ8atn+VFp/zWMopxPV3Pa3YvWv0Py2h1X+X/FNmtWKRZfjtUHth8lN+/dIqapnQ0nVJMm+w8k9MHzYuO3qn4ACyaqx/Fm8ci164WEo5LPX6R6IMOIs3Vq1cvJPvpN+9OHtlp2nTHo2Lll//m0Q994m752Efv2HT3N38q7rz7vZteTvkzFy5cuHDh6tWrRBoAubPcSONUrKTDq+xWWobheJ5TsYrGeLAPGtt9zPSiU15zQS8fiXRqoyP9Bb087g+aVs3yMkdPR9PgRJq27VA8sGqWrcoRJdJUiuFeJlWaEdVZ8TB03HDtqh448sgmGh7N0ToaRqE55UVnkeZ8Vs9+6L3vfbemf+ITn3g29Itv7FTbmP6JnefPn3/0jk07v/Fs7BPFItIAyKPlTjxTKjAhzbjiVCyr4nieO26Mu+Fh9e5GGresF4p+f9epWKFajWWU/F6pU1TmgUR6IchKDSoTExMTExPRABNd3ouJZ23bYUKkianxUKUZTUt6p8TQiRs4qoTKg9EMEzocdTIJjeaUF72LNM9+Y6em6c+ef1Zv3mrRuPJ3f/3ohz6xU/746B2bNt3x6M5P6KIhvvu9m/6OSANg6HShSpPelfQnd4lB7kwTzyyjWGz9rfgXHf5jFSt2xLQQGAoVL7vVPRW9CrVTgiWJRpdQeold2KMqzZIijRmJSelNLkkHbRWDaRnn0mhWxUloCY5fBnRMfzZa2awmDaPQnIZGZ5HmXKrpI//z3Zqmf2LnuXPnzp37ia7pPzl37ty5czs/oWv+fbnm735i57lz0xt//d3yELdxx/9Mf36JSAMgj9pEGhkSljPxzPNcu5kZMlVplvq5bhnFojEendcheqqmWS7opVLMb4tGc+pRh91ZxBZkZICJzTOdRZrlt8OEKs0RpUHGTA2KtpnQuDp90KHR8TsVOwNN8Jtla9aims+jaE5Do4NIc/ny5ZPJbvuD9676N7/92/9mVcrh6b1/cJtY+dn//bXf9u+fPHny6Qdv+6Obvyaf57YHn075QydPnrx8+TKRBkDuLHfiWfIntIwrrZ5isAfp9eJcmtSXFGYp59JweYAOJE0zU3XlXJrlt0M/0oxXbVudeBY9jSq54NMJ+qB50cE7pV5fRCWvhjJuGCW95HhOSS8fqVhFw6qa5bK5X7nCXs9fJPqis0jzShvPfPw9H/xBzPIffPA9H39GXe+ph0T0ee/HbhU/fvBjt77yyiu3fuy9Ykk6Ig2APEqLNOps76TR8bYn1jsVSxmkXIkrniX0bkOnfReqtqv8BzsMVyMuGldCqSZ2haV+2HelHcqnUq5aIa94ptZeEms19EGH25LeKRFmdF2PHmpkJPbTi2iizWbmH53aXPq5Ky8SfdRZpDnRxt9+/D3xVZpV7/n43544ceLEiR98ZbvWDDPblQf+4IPv+eAH37Pq4+MPtfsTJ06cOEGkAZBHKZEmMEksoSsZfxXdhGcrKB/wQncmnnmp8478Pkeg5yrOn5F9Za4Q0JnYxLKQfKmAjiJN19qheKw8h1u++0kXH1clnczNTKGh0cE7FTt6IiONZRhO6/y9QqggHNvqaE5Do2eR5oM/iFn+gw/6kaa5XvWhDyqR5m+rD63StO1f+YH/JO95qPq3J5IRaQDkUWKkCX3ixnYlnYqV5SwUyygqlwfoSaRRJVdpYiKNYRjLGYMfcUmhJd2SPuy71w5bl4UQJR3LKI6bZsEfO09NNYlj6vRBh0ZnkSZ1GMWLhm3OpRkRHUSa+fn5l9v4mz98z7tim9y73vOHf6Ou9+SDv/XRW5SH/PoDD9zy680l//vXtV//36l/Zn5+nkgDIHcSI01oWFp0JeVXsEcvYJpEfoQHv75dmQG29PJIDyaeoRMrEGm61Q4j77Vb1gspbS9U9+v47Br6oHnR9SqN53mxV7BYzjGH5pQXnUWa6S458t29v/Wfbn7qyzdrmnbzl58Syzb82rs2/MneI9/d+2u/tuFI6sOJNADyKO1cmoEV+rRImXWm9EfTJp6hMysQafJupP6zuZaLdyoXLxJeR5Gm0WjYyf7s91enf8xpmrb69//Mtp8U6/3BZ74SeY4f/8GvvSvhVwGNRoNIAyB3chlppqen33nnnX6/CnQSaS5fvjw9Pd3vF75yaKu5cO3atVw0S5pTLnTQnNpGmpVEpAGQR7mMNKdOnWo0Gv1+Fegk0ly6dOnUqVP9fuErh7aaC41GIxfNkuaUCx00JxFpXhwMRBoAeZTLSNNoNBzHYbSy7zqINK+88spI9cloq4PvnXfecRwnF82S5jT4OmtO27Ztm5ubOz4Y5ubmiDQAcieXkcbzvLNnzzqOMzc3x6d7H2VPMpcvX7506dIrr7xy5syZfr/qlUZbHVjXrl2bm5tzHCdHzZLmNLCW05zGx8dnZmbOnz9/rN/Onz8/MzMzPj7ei00EAL2T10jj+cX96enpKQy86enpUZ4zQ1sdTDltljSnwbSc5rR79+7777//9ddfn+u3119//f7779+9e3fX2y0A9NRUfiMNAADD4Z577hkfH9/Wb+Pj4/fcc0+/NwYALBmRBgAAAECOEWkAAAAA5BiRBgAAAECOEWkAAAAA5BiRBgAAAECOEWkAAAAA5BiRBgAAAECOEWkAAAAA5BiRBgAAAECOTU1NaVMAAAAAkFtaDQAAAAByi0gDAAAAIMeINAAAAAByjEgDAAAAIMeINAAAAAByjCueAQAAAMgxIg0AAACAHNOuAgAAAEA+EWkAAAAA5BiRBgAAAECOEWkAAAAA5BiRBgAAAECOEWkAAAAA5FimSPP1Hz2sj//bj+36w4/e/fGP3vXxP7jrPxdvvP7uR+69cuXKCrxEAAAAAEjSPtK8fu719/3Zuuk3HE/x9xfPfOAzpWenn1uZVwkAAAAAsdpHmhdfffE/3fMxz/Nu+9Gtpb/4yH/49u/98Q/++Kp35dMP3fnY4e+szKsEAAAAgFhpkebUmVM/OPaDB7/34L/77Pqr167+9oHf1m7XtLu1f/Xgv6q9feFTX7r5zq/e+Zc//dH0z53QA48f3PvhD5ePX7169erx8oejxK+uXr362u2bbzx+Nc0TD9we8wTh55Feu33z5ieOvrbEjQAAAAAgrxIjzZ//9Z+vuW3tJ778n//w3o9/7jHT8975D3/xH/7BxD/4pT2/pB/Qa4sXD3z/f234/zb+57s/VfxvH5n4xhdDD3/t6BMblMhx/ODe8q17I38kU6S5/YEn5HPe2HqS+MceP7h3w+bbyTQAAADAiEiMNOt2rJt+Y9rzvKveoud5F9+6uP7P1//ixC/+0p5f0r+un7h4wvPeuea943neG+fP/N+f+r30P7P31vLeg9EAEoolgZKOWD9LpDl+cG9SHYd4AwAAAAy3xEjzkd0lz/Pu+MEdv/XF3/qdh37ng1/74K9av/pP9vyTf3b/P/vVB371Q//rQ/+x8h9/t/K7n35mm+d5xt2fVh+799ayyCF7b42bd/bhDU8cfS00o6x8696rV4/f6CeQJx64XUaathPPjh/cK2NPUOsJAQAAAAylxEjz73f/e8/zPnrgo9qNmnaL9gs7fuGX7/nld933rnff/+5VX1z1y1/45V9+4Jf/ry//X7/z3euvedc23XVj6OEy1cj7cXPPjpc/XD7eKr/ER5osVRoiDQAAADCaEiNNafe/9zzvYw9/TNuq/cKtv/CLd/ziP77nH7/rvnetun/Vu7/47l/50q/8yld+5Re//Iu/+93fuea9vTESaXzHyx/+sMwbTzxwe3AmWKZII2esMfEMAAAAQEibSDP+xLh+z9p1X1r3vq+8r3Bv4Z/u+af//P5//qtf/tXf+OZvfOBbH3jfo+/7rz/+pOd5xsSnQw/fe2vZfOCBDR/eIK4/JpPJa0ef2OCfJyMzTHqkaTvxTK3kBFGlAQAAAIZc8uUBbn//q+dPveO9M7c4O3d19vSl0x/68w/9w4l/+I/2/KO1X1/74rkX596enfcab3tX643Z3/x/fz/46NbFlEXeeOKB280HHti8+XZTuU6ArLqkRJq9cev7f+LG48GVAQAAAIyaxEjzwNMPrNvxb//r/v++Ze8NX6x+2fM89SLO9cXa//rxE5t33/jHX7z5t7Z99LaHPhd8tAwnzallTzxw+96DP7x98+ZvHPyGvLizPN/GPxkmGmkCl0RLiDTtrwQNAAAAYFilfdXmiTdOPP7M4/d9574P3bn+6rWrv/Pw9doOTZvQ/vVX//XFxQv/7Uvjt3z5loM//u4LJ6ZCD5TZQ04JExFFVmxuf+AJ9YtrZKQJXcQ59CUzsZEm4RtvAAAAAIyEtEjTXOPU1Ed3/4HneZ/5/qd/c/9vfvAbv/VfnvgvC95bf7Lvru/8uBL7EPXkFv/c/eZJNb7mzLTgb8NVmtC32YhII87Gkaf+7731xuAzAwAAABgh7SPNa2dee/+frTt1bsbzvEVv8W3vbc/z6o3Z3/mz3/+bqWdW5lUCAAAAQKz2kebq1atffOrL//aWD/yXL3xy0/3/deN9N/w/1n//wJ+W/uxrdywsLKzASwQAAACAJJkiDQAAAAAMJiINAAAAgBwj0gAAAADIMSINAAAAgBwj0gAAAADIMSINAAAAgBybmprSTgIAAABAPk1NTWme53medw3oh6NHj/b7JSBnaDNAjrDDZsFWSsf2QVtEGgAAAAA51oo0bwP9cPTo0X6/BOQMbQbIEXbYLNhK6dg+aItIAwAAACDHiDToM4ZesFS0GSBH2GGzYCulY/ugrVakWQQAAACAvCHSoM+OHj3a75eAnKHNADnCDpsFWykd2wdttSJN6AtrDu3aoiVa91L4+21Ob1m79tALp8NLXzhUCD5qz6Z1ex5/yX9Iwb//0rr4P1SIPidGxkvrUhuA37pC7Qqj6/QLhwrBNiOOY6Jt7NmUcJhRDjUp6xTWbom0xZfWxRwM2/4KQFaHdm3ZsuuQsuD0lrUfUfeslx7fk9Q/Of3CoY9s2rNyr7WfXvqIcoDas+kj6R+dI7NZekQ2wtNb1haSPybkanwcrJC0SCOPI8EdIHxAEV56fE/0I195YPNRftfzpXV+P0M8+iMx3YX4mIQhc/To0bjF8SlXtEk/bzePEadfOFTgeDFKIm1GtpZ1LwV+1NTOUHLubR1q1HVeenyP8vDYY9TVQ7u2rIvrHBzatSVpvCZ2fWCIJRzkM1G6IqJfGBNplP000NPIV999OVspLtL8KGlM8KXH9+TxKLS87dNdaqRRu6mBd0E2v5xu8DxaVqSJjI6Eo6p44KFdW/Y8/iPlQPN4JLBSpUGLOrIunX7h0Nr48Y/wMEmoI4sREMob8UNiGas0bSNNSgXb/9w6/Seb/uR08yi6K/ZDDkAW8uPA7xcObaTpjD+aHFulac50CM6XicEnZnbqxtzz+I9SqjT+p0lMFyXaw0FXtCLNlaD0iWf2lStXrlyxH9uzZdehKzHs9Wu3nL5y5fSxQ+tFpHnsh1vWrrevXNmzad2ex+yk9YNOb1m79tCxyGIMl6NHj6o/Htq15bq1W05fubJn03r57tuP7bmu1UJOb1l7XWyDFBLaGIZHqM1cuWKvCzQGe12wSQihhnFo15ZoO0mJPbIFxj7win+4u3LlyqFdnzl07PSVK/amTXtCBze5DjA6IjtsVns2rd+0af2WXV/9zKZN68OHfU3Trjt07LT9WHjimexp5Gt363Qrnd6y9ro9jz2mHmfUT88Ie522btOmTbn7jOy4FfXAadGhTWWv0647dOy036XJ8hAsV1qkkXEleFxovTFLjTS7IjFpXX4ON1hx9jpN2/OYvWfTurh2Irut9q5dh674Lfb0sUNrY+IxhpuMDeLoZEfnel3xezmxgzWygamxJ3h8ayWTdpFGRu5m+4x9MQDaOS26DVt2HRIzPOVCdfezH9uzZddX/YWn1cHTfEWajtmP7Vm3adP6tVs+EzciEzzgNPvZVxLGfZDN6S1r12/atH7TpvViI4smqm7wQ7u2aNp1h4790N/ORJqVkBZp5Md2SqSJGcwUgydpVZofKm9tdMQ9ZpekHQyxlKGX5pSDuO6j3/auk2NRagjHcItWaSKRphkngiOXzUgjWpS8Yz+2R4k0gdpgUqRJPFT5z3P6mBwjpUqDUdfZ+LoYn/pq+MAe2zUML8xjpFleFUI9zoi6TWwJet1jj+1RR1tyNMIyOFUa2TMRHyKnjx36zK5D/gdKqzj/mUCtLNDXvY6B195Y1sSz5E5kqErzmUPHjqljJ9FhzuSCD0ZR0vwfv5Gc/symTevXrrev2OvXbvnhY3vWbdpzaNeWLbu+Gnsox7BLmnhmRydjtK3SJB315IdQ0sxGpf8kX891h479kEgDdMzvZoSrnf7OHh0Vve7QsdN5jDTLcHrL2uuUXnI4q4QGB9VBHDE4mKNg03dqVVB+moSqNKePHfrqY/aecKShStNzrUizELR747rd354S92cmK+s37vZ/M7N57Xrxi8rEZrlOit0b1123dvNM4Gmn1mnrlEfObE6o1WR5fuTa0aNH1R93b1ynadratWs3T1RCa059e7dYWJnYvHniq347bLalysTmzROVhYWpddp1lcmZlXr56INQm1lYmFrfPMLMbF67/oeTlbXNH+Vy8au1asOIO3wF1pHtLfgnFnZvXJ/ewCoTm7XW8W0qPPGsdSwFRkJkh10C/8AutXogCtmjaO7CoqcR7LoMuk630szmtdft/va35QFKbLHkw1T4SJgXy2lF3RZuhMEPi6bgWxDbbtFlSZEmsPUTIk2md0g8durbu0WqkUlJLkmhxiqMlMjH2MKCctTYvXHjVLP5iaP5lPqQLE0Lw2Tq27vVnKA0HjXSTK1fu3lyspI0z1UMtSjrJ0WawDrpr2udpqldjYXwsRRAG1kijXIEaP42j5GmM3IsTxxnZiYr12nrphYWZlojO63V/D5V4HOTQZalE80sPFwl64QiyUQijfrhs46ubS/ER5pQpzA20oS6EQla4wFiTHT3xnWfmZi4zh9WT2Y1SWwAACAASURBVO16Mtw+EmKHXioTm2MPFcpnW/iDLTYFYShFK3vK2IdaAZ4KjVyqhzJxRJLHJXFfPabFRppszUx8eomXMUWkwYjraZVmZrJyXaurEJgAkq/dbXlVCHGcCfSaZBcrOqYsiB/zMgg4sFWa3RvXbdy4cf3GjWuDm5EqzcprRZq3FLs3vn/3t16UP772/MH1G3e/9vxBkTGvW7v5tbfe2r1x/cHnX3srVeh53nrrtc1rrxMPj/Xit3YH+68H058fw+rgxObou//it3YrC1/bvHb9i/7y5kB7oLFhRLz26Y2floeUgxOblWbw4vrm0abZWsShLHScEUe1g88/v3ntWvWYJtqbXPn9G3errS6FPO7F/SH5VADaE58Fuze+P2GQa+L92nUHn3/toD8KJj4j5Poj04t48f3N41ige3VwYrPa4zoYHit8Px+ZSyWO6tet3fxXSsdDfFjITrI4/gc7yZk+O7BM8ZEGWDFHjx7t90tAztBmgBxhh82CrZSO7YO2WpHmMgAAAADkDZEGfXb06NF+vwTkDG0GyBF22CzYSunYPmiLSAMAAAAgx1qRZh7oh6NHj/b7JSBnaDNAjrDDZsFWSsf2QVtEGgAAAAA51oo0JwEAAAAgb1qRBlhJR48e7fdLQD7QVIBBxh6aju2Tgo2DJOLLVU+fPv3mm29euHChpqjX6+JWunTp0uzsLJEGAAAAwAAh0iAfGJtBRjQVYJCxh6Zj+6Rg4yAJVRoAAAAA+UakQT4wNoOMaCrAIGMPTcf2ScHGQRKqNAAAAADyjUiDfGBsBhnRVIBBxh6aju2Tgo2DJClVmrm5ufn5+bm5OSINBplb1vWq7cb+rmqWi4YVXLmgaYWk9TGUnIql+cpm1fO8qlkWd6Jkm3EqVrDxBJ4nKrQygJXk2tWCVnT6/TIGR/IGcYrJx7GkA+MosIyaVVlQfyybjdA6TmVWLKyadU27qP5TH5tEPsqqzJf1mqZdLOh113/mojHreQvFyBNWzXrRmO3S/3LIxUaa2dnZ+fn5NWvWqKmmfaQRH/lWxWm3UO5RaudSdDe14MqxC8W+OtL73giKHZtx7aqul5MCim3bVbNc0Muu51lG0W9vblkv0AEdYqGm4lQscawQd8TRIyGKOMXWQUm934ZrV0u0KCCbXgy0RwawcmwZ2yctrvjbxykqUccySvIoJw+Vg6xnVZqFkl53Pc8yaqGsomkXZaKwjHrVXvQ8r2rW1cBTNesZI41VWbCMmlWZL+t1x1so6XXbbuh6/Ugr0tQc5Q+5dkPX6+PBuIVYsVUakWf+xb/4F7/xG7+xadMmmWrSI41b1gsFvVTSC6FAErtQ9jA0f9eyjKLY31y7WvB7EkkLNa1oGMXB3/fQM2kHbnH0lg2uapY1TRs3TaUjW6xUrBEfkRodwUizv6wXCn4MtoyiOlZiBY8qwUJNSpMrHiHSAP2UVq4fJU4pYYxPOZrlO9L0SNW8JCKEFQkPon7iVGaVkFMzjA6rNNkiTTNfuXajoNWq9qKMOkgXijQiz/zLf/kvf+/3fm/79u333nvvrl27RKrJMvHMLQfSS8zCYDFU/iowIOp3LGIXerE/YujFjc2kj6M7xUjNEKMgWqWR4aNkGCXDkktCAaYQ6Q1kPM5QpQGy69ZAe/pc0Og+nhfLqdJkizQ53ly9qdIsGH6cMJKrNHLWWccyRhrTrJfNhms3CkpSUuIN4kWrNPPz83/0R3908803f+1rX/vOd77zve9970c/+tFTTz01Pz/fnUgTmqEuegyh6UOighy7MPTA5W4A5JnalhKGl5qpxjLkMbw5oD7Kw1GjRrzX6mCkKNxpyqwzp2IlnGTVqiqr82AlcWQj0gB9FDk7LrFnP+yGf+JZL/gVmFrVXoxWaXyLZb1+xG7oet1VznhRSzfpeSN6+o34V9BroUhjGDWr0ihqF3W9FkxW9SKpJlVslSaqa1Wa2GQSGh8V68QuDD1wuf975EdkbCYclVPag3/UdopEmhEQO4wn2oATnHDon+lXUct9kXKNbGluWS85gecsEmmAper2QHugj+7FXdsjX3pRpUlaJ3eRpkfn0siTYSyjFgoS4iR+224UlPRimpfUU/aTg1DMX8k+8Uxw7UaJywNk0PXvpaFKgxWTqXoujtdUaUaZX6UpioahNIbYiRYpk/KJNMDAiZRoRve8GtFrsoNXQIkc6/I98awXXD+uFPR6Sa8Zhggegcjh+muK+8FTa7p+Lo1nGfXo6TrqhQoQqw+RRhkBbf4qdLVBmXOiC72EHzH00sdmkieeFR2qNCMm9opncjBSvSRAtBnI7lHcJVCZeAZ0QXcH2m3blgMW3lD0DTrePmLIOPZwJI91ocFiqjRBzVNZolUaeanl5VRpxGpLuuKZR5Umsz5UadQf1XgjD0NqTyJ2oRf8FUZYazROXp9XPVjLIztVmlGWPdJEugKhWRzhKk3yAwGsNHGOXPQiH6NDjMikR5rQQS93kaZnmqfHFPT6fjOmSrPfrMvzXjqt0iyWdXm6TqOk111lglnoe2kK/hWlrcqCiDR8O00W3Yo04fFLf+p5dKGnfC+EmlJiv6wmZmG7eSMYTqGxGfW63l5wCKrgtzS5UK3SOMH1MXziqjSmOGoUDSv5ACKbR+DAlWVSPpEGyK7rA+3+pc+KTquDkeOvVO50+zTH+Ny0iWfhcefcRZpeVGmcyqzWrI3UymajGhdpohPP5GXQMl4eQD7WMmqGIb7WJjbSiIs1LxT9mCSrNPJ1IlbXqzTASlCqMbFfxtq8uLMcj7eMkmmOiwG8I/51P7m+82gQwyKBKaxxVRo1xgQ6Q+pHfojadRj8rgAwZORFnOPGHVz1G6hGgRxYSanSRL+cOnS66Wh/LDYDhvq9meKbN2V5xPUniYVObsky8cypzFqV+bJe07Sartf2V+YKwQsPiJAT/P6ZZtFmmRePHh1EGuRDj2fQYnjQVIBBxh6aju2TohcbJ/bayh38G4S/MspElea555577LHHHgz66le/Km6lb33rW5OTk0QaAAAAAANkYWHhsccee/311y/7xBfRXLhw4dy5C2fPnjtz5uzf//2bp0699sILLz7++ONEGvQHA1fIiKYCDDL20HRsnxRsHCQRVZr/8T/+hwwzs7Nz9UuXarX66dNvnDo1c/Lnp06cOHn8RfvIXz8zNfXSA195gEgDAAAAYICISCMqM3Nzc/X6pYsXa+fPXzh58pTj/Gz675ypqemfPHv0xz/+mxdeeJFIg75hbAYZ0VSAQcYemo7tk4KNgySySjM/P99oNC5dmhV55syZc86Jn7300svHj9vPP3/8mWeeO3z4r48dO06kAQAAADBYlhVpRFzmltsVuO37C+A2L7e0Fm65HeRbYRBeyWDe9v0FDPIt24fblLZBlQb5IFot0BZNBRhk7KHp2D4p2DhIQqQBAAAAkG9EGuQDYzPIiKYCDDL20HRsnxRsHCShSgMAAAAg34g0yAfGZpARTQUYZOyh6dg+Kdg4SEKVBgAAAEC+EWmQD4zNICOaCjDI2EPTsX1SsHGQhCoN8qpqlouGpSxwy3pB0wpV21XXKZvV5q/tasH/beSxGGZOxdJ8oj2oDSNEtg2nYoUaifo8UbQooI9cu1rQik6/X8bgSN4gTjH5OJZ0YBwFllGzKgvqj2WzEVrHqcyKhVWzrmkX1X/qY5PIR1mV+bJe07SLBb3u+s9cNGY9b6EYecKqWS8as136Xw65bkYa8ZFvVVo7kWtXC/6uoiyXe5TaARVd0tCasQubTzvK+94ICo3N2LZdNcsFvex6nmUU/bbklvWC0rl0y7petV3LiD2GB/IPhkaoqTgVSxwrxB31oBSJIk6x1SrU+224drVEpAGy6cVA+zANVC1j+6TFFX/7OEUl6lhGSR7l5KFykPWsSrNQ0uuu51lGLZRVNO2iTBSWUa/ai57nVc26GniqZj1jpLEqC5ZRsyrzZb3ueAslvW7bDV2vH2lFmpqj/CHXbuh6fTwYtxCri1Uat6wXCnqppBfU6FLSy2JfUcbI3bJekD0Mzd+1LKMo9jd1ND1poaYVDaM4+Pseeq1qljVNGzdNpZNarFQsOdrk2lXdb4RL6qRiaAQjzf6yXij4TcIyiupYiRU8qgQLNSl9heIRIg3QT83Rq36/jL5rdbrCv2gdzfIdaXqkal4SEcKKhAdRP3Eqs0rIqRlGh1WabJGmma9cu1HQalV7UUYdpOvuxDO3HIg0oV/pVdsNFkPl+oG+pt+xiF3oxf6IoRccm3GKwcJdW1WzrCZhmZYxfKJVGhk+SoZRMiy5JBRgCpHeQMbjDFUaILtuDbSnzwWN7uN5sZwqTbZIk+PN1ZsqzYLhxwkjuUojZ511LGOkMc162Wy4dqOgJCUl3iBe18+lSYk0zYGB0Ax10WMIDqU3K8ixC0MPXN5/H7nWTDXKpLLmYHlwflGhah8pNo/UrUO5VXFcmzG9kSDagzoYKYp7ykwM0TeKreC1qsrqPFhNaUgekQboq8jZcYk9+2E3/BPPesGvwNSq9mK0SuNbLOv1I3ZD1+uucsaLWrpJzxvR02/Ev4JeC0Uaw6hZlUZRu6jrtWCyqhdJNalWKNLIBBKbTELjo2Kd2IXRJ8SISBqb8Y/ITjEYaYK/bVZpHP+Iv6QKD/IltqmIluAokxK91ul/FbUgHCnXyMOaW9ZLTuA5i0QaYKm6PdAe6KN7cdf2yJdeVGmS1sldpOnRuTTyZBjLqIWChDiJ37YbBSW9mOYl9ZT95CAU81eyTzwTXLtR4vIAGaxQlUad5EOVBt0ijsVJVRplHdsfaHeKWsE0x8tmlYlno8Ov0hRFmAldKyJyGEmZlE+kAQZOpEQzuufViF6THbwCSuRYl++JZ73g+nGloNdLes0wRPAIRA7/tPDm/eCpNV0/l8azjHr0dB31QgWI1fNIE+o7BkdAm+uHrjYoc050oZfwI4ZeZGymOTK3xCpNayAqdGo4hkbsFc9kS1Df9+iopOwexV0ClYlnQBd0d6Ddtm05YOENRd+g4+0jhoxjD0fyWBcaLKZKE9Q8lSVapZGXWl5OlUastqQrnnlUaTLrdZVGnYYes44ab+RhSO1JxC70gr/CaJJH7exVGn9NLno2WrJHmkhXIDSLI1ylSX4ggJUmzpGLXuRjdIgRmfRIEzro5S7S9Ezz9JiCXt9vxlRp9pt1ed5Lp1WaxbIuT9dplPS6q0wwC30vTcG/orRVWRCRhm+nyaKbF3EODV5GrkbS7Eoq3wuhppTYL6uJWdhu3giGU9KXjahVGif4Kz7hRlNcUzHFUaNoWMkHENmEAkezLBMUiTRAdl0faPc7G0Wn1cHI8dBVp9tHva5s0qSy8FSa3EWaXlRpnMqs1qyN1MpmoxoXaaITz+Rl0DJeHkA+1jJqhiG+1iY20oiLNS8U/ZgkqzTydSJW16s0wAqRY+2WUTLNcRFdjvgpWlwZXAyxy8tbRTHxbASIYZHAFNa4Ko0aYwKdIfUjP0TtOgx+VwAYMnLYNG7cwVW/gWoUyIGVlCpNaNaZFzkldbQ/E5sBQ/3eTPHNm7I84vqTxEInt2SZeOZUZq3KfFmvaVpN12v7K3OF4IUHRMgJfv9Ms2izzItHjw4iDfKhxzNoMTxoKsAgYw9Nx/ZJ0YuNE3tt5Q7+DcJfGWVUaQAAAADkG5EG+cDAFTKiqQCDjD00HdsnBRsHSajSAAAAAMg3Ig3ygbEZZERTAQYZe2g6tk8KNg6SUKUBAAAAkG/LijQiLnPL7Qrc9v0FcJuXW1oLt9wO8q0wCK9kMG/7/gIG+Zbtw21K2+g80swAK+jo0aP9fgnIB5oKMMjYQ9OxfVKwcZCESAMAAAAg34g0yAfGZpARTQUYZOyh6dg+Kdg4SEKVBgAAAEC+EWmQD4zNICOaCjDI2EPTsX1SsHGQhCoNAAAAgHwj0iAfGJtBRjQVYJCxh6Zj+6Rg4yAJVRoMrcmnD6zS1hzOtvKODWvGth/o7QtCX+3YcP2BpydnZibHVq/SFKtWj002Vzm8pk2DCT9WtWbDjvDaTx9Y3XpyAN03+fSBxH1SW3Xg6dHd/5I/AQ+vSdxi2ih/Du7YcGHHvjfVH8e2nw2tc3jfObHwwPbzmnZR/ac+Nol81I59Z8ZWX9S0i6tWn5/0n3nNhnMzM2+uiTzhge3n12w416X/5ZDrZqQ5vG+Hpmk79rV2IvVwoyyXe1R0fzu8RukcHNg+pvYZDsc87Ugfs0bKUsdmiDQjK7ap+JFmZmZmZvLpA9c3DzKHr/dTx4HtYzv2HY5+3iuZZ3Js9Wr5JP76oScM/VHaFRDWxYH24MCBOioR2FvzZRnbJy2u+D2rwNiNemA8vG/H4B+velalefP61ecnZ2Z2bLgQyiqadlEmih0bLhx4+o2ZmZkD28+rgefA9vMZI82OfW/u2HBhx74zY6svHJ558/rV559++uzq1ecfb0WaC4eVPzT59NnVq89/Khi3EKuLVZrJsdWrVq2+/vrVq9ToIrsLk08fWNWMH5Njq68Xa+zYsCY0tLljw5rVq1erkSZ27DN7VxUji3YCYccG9VN+zeGZmR0b1ojDlJptNrQONa2P/OBnfKZIE/xzjIACPUSVJqjV6Qr/Yt+O4Yg0PXJg+3kRIXZEwoOonxzed04NORsiyaerkaaZryafPrtKu3jg6Tdk1EG67k48mxwLRJrQr8JDJof37VBGQJu7nBpjYiON7I5gpPS0SoNhkl6lEZUT2RMSB5MdGzYcbrUZ+ZEfmoqWaeKZ2kVQjXJ3AVBRpUm3nCpNtkiTaPCPUb2p0ry5wY8T0awiqzRy1lnHMkaa7dvPj20/K/KMTEpKvEG8rp9LkxJpYuapB2dlNFcIRZrIcMvhNdqa7f7yaODB6JDNIzg1SO10yo7pqnv33bvKP2SLGZLBbmizKYrmJwfaCc9DIylpzMzMRKbCHl6jaTv2HZaxx28nGas0RBpghVClCRr+iWe9ICswB55+I1ql8b0xtvrC40+fXb36/KRyxov6Lz1vRE+/Ef9Wrb4QijQbNlzYse/sGu3i6tUXgsnq/BpSTaoVijRqepHHIHXnCfUpQw8/vG+H6G2Ix/oPbPY8urEdMOhCYzOTTx/4VLMZtFqdOpXxwPYxtYcqYo9oP+pglXygbH4yyRzYPraK07tzKNhUQp/xrXAb/JhvTYiNntE31mppch0mngEd6lmVJvAbqjRZ1sldpOnRuTTyZJgdGy6EgoQ4if/pp8+uUpZsD56ynxyEYv5K9olnwuTTZ6/n8gAZrFCVJnrOjCC7jOoMtNhII585NJsoYWWMiFZvdWz7AVGNUU8BX6VUafzlahMNZKFoombq2jCRn9Zq/JD3ZQ5ZtXrs6acPrG6dFhiaytJ24lliRyoX3QUgv9jFRMB7OqFypY4FM+yimvTjyqrVF65fLYokb+7YcF6NHP5p4c37oVNrun0uzcyODWlT4JCk55EmKc/MzMzIvmZ0XDMyOi6fOVAzJdKMjtDYzI4Na+RF8PxAQqTBzExcQe/6DTv82Yar7t13bzTSqEQbEO/+hrjJsXK1uCpNoJIDIKp7A+1powz57aB3vH3ECTOxhzV1TGc1VZpEzVNZolUaeanl5VRpdjTD0hKueDZDlSazXldpJsdWrwrtIerOFjuxR+lTTn5qw6f8ZrRD7b9GJw5hxLSaljIXcXJs9ao1gfk/RBo0P6fVT/S4iWfNQs2aDZ+SZZbQASrUUYiNNElXcwbQY+HzdXPRQe8uMUs2PdKENkvuIk3PNE+PWbX6/L3NWkqgSnPv9vPyvJdOqzRvjK2+4J+uc/b61ecnlQlmoe+lWeVfUXrHvjdFpOHbabLo5kWc1dGRHfsOy5OwZelFdhRkdyLaX4z0KaNrtv7WCO9+Iyc0NiNb16rVY59qDaW3Suqf2r6dKs1oiivopR8uDq/xf+s3AHGQWbNhwxp54Ap9yUxspOF6jEBbXR9oP7B9LHoxAHUPzZdOt09z1mvSJRPkwJ+6WXIXaXpRpTm875zm10bGtp89EBdpohPP5GXQMl4eQD52x4YLGzaIr7WJjTTiYs1vrvFjkqzSyNeJWF2v0gDAQGmeCxv83t4ANZmsXj32ePArg0X/YMe+faExYNFhkk8rpj5mODcXQLc0x7CCXx61So52jdTOmF4rFnElejUFEWm4yOfMzIwMGOr3Zopv3pTlkUl/kljo5JYsE88O7zu3Y9+ZsdUXNe3i6tUX7t13blXwwgMi5AS/f6ZZtFnmxaNHB5EG+dDjGbQYHjQVYJCxh6Zj+6ToxcaJvbZyB/8G4a+MMqo0AAAAAPKNSIN8YOAKGdFUgEHGHpqO7ZOCjYMkVGkAAAAA5BuRBvnA2AwyoqkAg4w9NB3bJwUbB0mo0gAAAADIt2VFGhGXueV2BW77/gK4zcstrYVbbgf5VhiEVzKYt31/AYN8y/bhNqVtdB5pgJV09OjRfr8E5ANNBRhk7KHp2D4p2DhIQqQBAAAAkG9EGuQDYzPIiKYCDDL20HRsnxRsHCShSgMAAAAg34g0yAfGZpARTQUYZOyh6dg+Kdg4SEKVBgAAAEC+EWmQD4zNICOaCjDI2EPTsX1SsHGQhCoNhoNb1ktOwu8so2hVHHm/bFbV31bNctGwgk9V0LRC1XbVZ9Bamr+KPBADyqlY8s0T737VLIeagSTfVqdihd5f9XmiaAxAH7l2taAVkz4FRlDyBnGKycexpAPjKLCMmlVZUH8sm43QOk5lViysmnVNu6j+Ux+bRD7KqsyX9ZqmXSzoddd/5qIx63kLxcgTVs160Zjt0v9yyKmRptGYbzTm5+bmLl2affPNM6+//vczM6+/+urM1NR0pkgjPvJl99Fr7lRNynK5R6kdR9GVDK0Zu7D5tKO8742g1LGZlEjjlPRSSS9occpm1bbtqlku6GW3GV1Em3TLekF2Ui2jVLVd9dbznKJW0PWC2iwxIEJNxalY4lgh7qgHpUgUcYqtg5J6vw3XrpaINEA2vRhoH6YxpmVsn7S44m8fp6hEHf8TzfOUQ+Ug61mVZqGk113Ps4xaKKto2kWZKCyjXrUXPc+rmnU18FTNesZIY1UWLKNmVebLet3xFkp63bYbul4/0oo0NUf5Q67d0PX6eDBuIVaoSnP58lu/+YEPfLJcvuXmm8W/L3z+85WDB1955edtI41b1gsFvVQKdPKcoh9FXLtaUDqLsoeh+buWZRTF/qasmbhQ04pGZLgdIyXjkHnKeLyqapY1TRs3TaWzW6xULBF7/CZXMoySyDziaRkXzIVgpNlf1gsiwXrBCp4XKeIFCzUpfYXiESIN0E9uWdczDkAMNafkH9zCv2gdzfIdaXqkal4SEcKKhAdRP3Eqs0rIqRlGh1WabJGmma9cu1HQalV7UUYdpAtFmj++4YaHDxw45Purv/qrn/70p1kijeCWw5EmPOQZ7AXK9QMDon7HInahF/sjhl7S0LvneaEqjRwyl0k4NDCvxJ5W6k7h12eKZbNqGaX9lf26Xt5vlq2K41SsQsJHCPol2lTkm14yjJJhySWhABN9KzMeZ6jSANl1a6A9fWAruo/nxXKqNNkiTY43V2+qNAuGHyeM5CqNnHXWsYyRxjTrZbPh2o2CkpSUeIN4oSrNcieeRSKN50/paU3jCc1QFz0G167qyn4oKsixC0MP7NaGQO5kiDQxZ8XEPpNINcoJM81Bd/kngufSaMrkNF1UbJh+NsjE+6gORoqinKZU85yKldBUWlVldR6sJKvQRBqgXyLV+MSe/bAb/olnveBXYGpVezFapfEtlvX6Ebuh63VXOeNFLd2k543o6TfiX0GvhSKNYdSsSqOoXdT1WjBZ1YukmlTdmngmhCON0glo7kKxySQ0PirWiV0YemA3tgDyYelVGscwLHG8Tq7StCgnyYQjTXAFDLrYYTzx9jn+ZEKx0D/9r6IWhCPlGnlYC5+yJeetEWmA7Lo90B7oo3tx1/bIl15UaZLWyV2k6dG5NPJkGMuohYKEOInfthsFJb2Y5iX1lP3kIBTzV7JPPBNcu1Hi8gAZRM+l6dXEMzkFiCoNuiLjuTRZcoicV5atSlPYX9kfDEicTjPQ/CpNUWudGdUSOYykTMon0gADJ1KiGd3zakSvyY4bwlOOdfmeeNYLrh9XCnq9pNcMQwSPQORw/TXF/eCpNV0/l8azjHr0dB31QgWI1cOJZ6HBzriCTHP90GnWMudEF3oJP2LodXAujReovSTFnuYIX2dVmrwPBw6l2KYi3z71kgDRUUnZPYq79gMTz4Au6O5Au23bcsDCG4q+QcfbR3wexR6O5LEuNFhMlSaoeSpLtEojL7W8nCqNWG1JVzzzqNJk1sUrngmBSKNepkw5D7u1jhpv5GFI7UnELvSCvwJSLuIsg0qoHC+jiDz6J1dpwh1ZpeGFJzxgAGWPNJGuQKjZJDYzIg3Qd+IcuVG+Xou8FGdKpEkZqstFpOmZ5ukxBb2+34yp0uw36/K8l06rNItlXZ6u0yjpdVeZYBb6XpqCf0Vpq7IgIg3fTpNFKNLc9dnPVg4e/KHvmWeeOX78eNaLOEcHL+VpuGpHUDmxQe0Oxn5ZTczCdvNGMJw6+16atlUaZXZZq0ojnkr+qmqWx01z3KxahlGpWOoXd3JhgAEUV6Uxi/6bnnwAkW994GiWpQpHpAGy6/pAuz8Puei0OhhZv1RqAHW6fZoz7mLPHfWPdeETnnMXaXpRpXEqs1qzNlIrm41qXKSJTjyTl0HLeHkA+VjLqBmG+Fqb2EgjLta8UPRjkqzSyNeJWF2/4hnQF51XaWQssYySaY6LQb4j/ok6/hXGm3UbcXEzeaL54B/94afZwBTWuCqNGmMCnaGU07HUrgONAVhh8ozKuHEHV/0GqlGgfntBUpUmNOvMi5xKOtqDdM2AoX5vpvjmTVkecf1JYqGTW7JMPHMqs1Zlr2qrsgAAIABJREFUvqzXNK2m67X9lblC8MIDIuQEv3+mWbRZ5sWjR4caaS5dmr14sXb+/IUzZ845J3720ksvHz9uP//88WeeeY5Igz7r8QxaDA+aCjDI2EPTsX1S9GLjxF5buYN/g/BXRlmoSkOkAQAAAJAzRBrkAwNXyIimAgwy9tB0bJ8UbBwkoUoDAAAAIN+INMgHxmaQEU0FGGTsoenYPinYOEhClQYAAABAvi0r0oi4zC23K3Db9xfAbV5uaS3ccjvIt8IgvJLBvO37CxjkW7YPtyltgyoN8kG0WqAtmgowyNhD07F9UrBxkIRIAwAAACDfiDTIB8ZmkBFNBRhk7KHp2D4p2DhIQpUGAAAAQL4RaZAPjM0gI5oKMMjYQ9OxfVKwcZCEKg0AAACAfCPSIB8Ym0FGNBVgkLGHpmP7pGDjIAlVGuSdW9b1qu1mWdUyShnXxDBxKpbmK5tVz/OqZlnciaqa5aJhiUeJO7HPExVaGcBKcu1qQSs6/X4ZgyN5gzjF5ONY0oFxFFhGzaosqD+WzUZoHacyKxZWzbqmXVT/qY9NIh9lVebLek3TLhb0uus/c9GY9byFYuQJq2a9aMx26X855LoWaVy7WvD3CqvipCxU9qiC0sV0y3ohsmbswubTjvK+N4Jix2Zcu6rr5YSYknbgjjYqDI1QU3EqljhWiDvqQSkSRZxi66Ck3m/DtaslIg2QTS8G2uVgxBBYxvZJ+9Tzt49TVKKOOtInD5WDrGdVmoWSXnc9zzJqoayiaRdlorCMetVe9DyvatbVwFM16xkjjVVZsIyaVZkv63XHWyjpddtu6Hr9SCvS1BzlD7l2Q9fr48G4hVhdrNI4Jb9n6drVQrMrELvQLesF2cPQ/F3LMopif1PWTFyoaUXDKA7+voeeaRtXYkanqNKMpmCk2V/WCwX/uGQZRTXWWsGjSrBQk9LkikeINEA/LaFcP9Rana7wL1pHs3xHmh6pmpdEhLAi4UHUT5zKrBJyaobRYZUmW6Rp5ivXbhS0WtVelFEH6Xox8Sz24NJcGCyGumW9YFWc0ICo37GIXejF/oihFzc202YcnZlCoylapZFveskwSoYll4QCTCHSG8h4nKFKA2TXrYH29CN8dB/Pi+VUabJFmhxvrt5UaRYMP04YyVUaOeusYxkjjWnWy2bDtRsFJSkp8QbxenQuTWAMILQwNENd9BhC04dEBTl2YeiBy/nPI+/UthQ7vCRXUAaiWtGaPuiIEG1DHYysmuVQrHUqlhYfj1tVZXUerCSKPDQnoI8iZ8cl9uyH3fBPPOsFvwJTq9qL0SqNb7Gs14/YDV2vu8oZL2rpJj1vRE+/Ef8Kei0UaQyjZlUaRe2irteCyapeJNWk6n6kiQ0bcmFsMgmNj4p1Yhem/xUMscjYjCzxeV67SCMP4nKiEX3QIRY7jCc+ucWwrmwq4kerUlHLfZFyjWxpblkvOYHnpDkBS9btgfbwKGr02h750osqTdI6uYs0PTqXRp4MYxm1UJAQJ/HbdqOgpBfTvKSesp8chGL+SvaJZ4JrN0pcHiCD7ldp5NkvSQup0qBL2lfPRWOTQ/LqcBUnP4wOv0pTFA1D3EmeaJEyKZ9IAwycSIlmdM+rEb0mO3gFlMixLt8Tz3rB9eNKQa+X9JphiOARiBz+aeHN+8FTa7p+Lo1nGfXo6TrqhQoQq5uRpm2e8cIjoM3hz9DVBmXOiS70En7E0Esfm2lXpfG84HAUfdAhFnvFM/nuq5cEiDYb2T2KuwQqE8+ALujuQLtt23LAwhuKvkHH20d85MUejuSxLjRYTJUmqHkqS7RKIy+1vJwqjVhtSVc886jSZNbFKo0647z9QtEPUOONPAypPYnYhV7wVxhhrdE4eX1e9WDtVKyiYcSOSI2bJn3QEZE90kS6AqFZHOEqTfIDAaw0UZCPXuRjdIgRmfRIEzro5S7S9Ezz9JiCXt9vxlRp9pt1ed5Lp1WaxbIuT9dplPS6q0wwC30vTcG/orRVWRCRhm+nyaI7kSZy4ZGCnLYeWugFvqxGTSmxX1YTs7DdvBEMp9DYjHpdby84BFXwx86p0oymuCqNKY4aRcNKPoDIGfmBakyWSfk0JyC7rg+0+52NotPqYGT9UqkB1On2Ua8rmzSpLHAOqpfDSNOLKo1TmdWatZFa2WxU4yJNdOKZvAxaxssDyMdaRs0wxNfaxEYacbHmhaIfk2SVRr5OxOrRFc+A3lKqMbFfxtq8uHNspJE92sE/dqMbxLBIYAprXJVGjTGBzlDK1xmpXQeaE7DC5LBp3LiDq34D1SiQAyspVZrol1OHPhZH++unmwFD/d5M8c2bsjzi+pPEQie3ZJl45lRmrcp8Wa9pWk3Xa/src4XghQdEyAl+/0yzaLPMi0ePDiIN8qHHM2gxPGgqwCBjD03H9knRi40Te23lDv4Nwl8ZZVRpAAAAAOQbkQb5wMAVMqKpAIOMPTQd2ycFGwdJqNIAAAAAyDciDfKBsRlkRFMBBhl7aDq2Two2DpJQpQEAAACQb8uKNCIuc8vtCtz2/QVwm5dbWgu33A7yrTAIr2Qwb/v+Agb5lu3DbUrboEqDfBCtFmiLpgIMMvbQdGyfFGwcJCHSAAAAAMg3Ig3ygbEZZERTAQYZe2g6tk8KNg6SUKUBAAAAkG9EGuQDYzPIiKYCDDL20HRsnxRsHCShSgMAAAAg34g0yAfGZpARTQUYZOyh6dg+Kdg4SEKVBnlVNctFw1IWuGW9oGmFqu0mPMIt64XgQzASnIql+cpm1fO8qlkWd6Jku3IqVqi1qM8TRdMC+si1qwWt6PT7ZQyO5A3iFJOPY0kHxlFgGTWrsqD+WDYboXWcyqxYWDXrmnZR/ac+Nol8lFWZL+s1TbtY0Ouu/8xFY9bzFoqRJ6ya9aIx26X/5ZDrWqRx7WrB3yusSnM/sozWvlPQy35nU+5RagdUdEkDD09Y2Pxbo7zvjaDQ2Ixt21WzLBqVZRT9tpSUW9yyXiibVcso0myGXqipOBVLvOnijnqkikQRp9g6KKn323DtaolIA2TTi4H2yCBXji1j+6TFFX/7OEUl6lhGSR7l5KFykPWsSrNQ0uuu51lGLZRVNO2iTBSWUa/ai57nVc26GniqZj1jpLEqC5ZRsyrzZb3ueAslvW7bDV2vH2lFmpqj/CHXbuh6fTwYtxCri1Uap+QnFteuFvyuQFwPstm59Jqjns1dyzKKYn8LPTx2oaYVDfqm8LyqWdY0bdw0lU5qsVKx1NGmYACmVjNygpFmf1kvyOEVyyiqYyWh41WwUJPSVygeIdIA/eSWdT3jAMRQa/XEwr9oHc3yHWl6pGpeEhHCioQHUT9xKrNKyKkZRodVmmyRppmvXLtR0GpVe1FGHaTrxcSz1sElGmmCxVC3rBesihMaEPUfFbvQi/0RQy84NuMUg4W7JKJOGFxTlP6YojC0olUaGT5KhlEyLLkkFGAKkd5AxuMMVRogu24NtKfPBY3u43mxnCpNtkiT483VmyrNguHHCSO5SiNnnXUsY6QxzXrZbLh2o6AkJSXeIF6PzqVpjQEoE8+aS0Iz1EWPwbWrurIfigpy7MLQA7uxEZBTzVSjtjExWO4PNYkDd0HXC5HjdnNhllCEvBPtQR2MFMU9TZl15lSshBOxWlVldR6sJJoQkQboo8jZcYk9+2E3/BPPesGvwNSq9mK0SuNbLOv1I3ZD1+uucsaLWrpJzxvR02/Ev4JeC0Uaw6hZlUZRu6jrtWCyqhdJNam6H2liw4Y87SE2mYTGR8U6sQvT/wqGWNLYjH9EdorhSIMRFdtURDtxgpMSxY9WpaIWhCPlGllMdst6yQk8Z5FIAyxVtwfaA310L+7aHvnSiypN0jq5izQ9OpdGngxjGbVQkBAn8dt2o6CkF9O8pJ6ynxyEYv5K9olngms3SlweIIPuV2nk2S8RzVlkVGnQLeJYnFyl8bzkmQm5/sDDkvhVmqIIM+o1S+ImWqRMyifSAAMnUqIZ3fNqRK/JDl4BJXKsy/fEs15w/bhS0OslvWYYIngEIod/rnjzfvDUmq6fS+NZRj16uo56oQLE6makSc4znhpplBHQ5vBn6GqDMudEF3oJP2LoRcZmmiNz6VWa2GEnOqDDLfaKZ3IwUr0kQLR5yO5R3CVQmXgGdEF3B9pt25YDFt5Q9A063j5iyDj2cCSPdaHBYqo0Qc1TWaJVGnmp5eVUacRqS7rimUeVJrMuVmnUGeeSY/j7lZx4psziCEzwkIchtScRu9AL/gqjSR6121ZpiDQjLnukiTSM0CyOcJUm+YEAVpo4Ry56kY/RIUZk0iNN6KCXu0jTM83TYwp6fb8ZU6XZb9bleS+dVmkWy7o8XadR0uuuMsEs9L00Bf+K0lZlQUQavp0mi+5Emsj0nubEdLlcPcoo3wuhppTYL6uJWdhu3giGU9KXjahVGif4K4+JZyMprqmYRf99Tz6AyCYUqMZkaSpEGiC7rg+0+8f5otPqYGT9UqkB1On2ac64c9MmnrXGlIXcRZpeVGmcyqzWrI3UymajGhdpohPP5GXQMl4eQD7WMmqGIb7WJjbSiIs1LxT9mCSrNPJ1IlaPrngG9Jwca7eMkmmOi9h8xA8wKTOLPDqgo0UMiwSmsMY1DzXGBDpD6kd+iNp1GPyuADBk5IhV0tcrj1TFRn6upVRpQrPOvMgpqaN9FdBmwFC/N1N886Ysj7j+JLHQyS1ZJp45lVmrMl/Wa5pW0/Xa/spcIXjhARFygt8/0yzaLPPi0aODSIN86PEMWgwPmgowyNhD07F9UvRi48ReW7mDf4PwV0YZVRoAAAAA+UakQT4wcIWMaCrAIGMPTcf2ScHGQRKqNAAAAADyjUiDfGBsBhnRVIBBxh6aju2Tgo2DJFRpAAAAAOTbsiKNiMvccrsCt31/Adzm5ZbWwi23g3wrDMIrGczbvr+AQb5l+3Cb0jao0iAfRKsF2qKpAIOMPTQd2ycFGwdJiDQAAAAA8o1Ig3xgbAYZ0VSAQcYemo7tk4KNgyRqlWZubq5ev3T+/IWzZ8+57pm/+7sTU1PTx469+Nxzk3/zt8/+8Ef/h0gDAAAAYOCISNNoNESeOXPm7JtvnnnjjTenpl46duz4c0cnn3nmp//nyN/+1Q9/TKRBPzE2g4xoKsAgYw9Nx/ZJwcZBElGlefTRR19//fVLly5dvFg7f/78uXPnz549d/Lkz0+c+Jlz4pWXX3amp1+27elnn33ukUceIdIAAAAAGCALCwvPPPPMo48++sBXHkj/98gjj/zlX/4lkQb9wdgMMqKpAIOMPTQd2ycFGwdJRJXm9OnTb7755oULF2qKer0ubqVLly7Nzs4SaTCgLKNoVRzLKBYNSyypmmV53/M8z3PLekHTClXb7csrRF84FUvzlc2q53lVsyzuRMk241SsYOMJPE9UaGUAK8m1qwWt6PT7ZQyO5A3iFJOPY0kHxlFgGTWrsqD+WDYboXWcyqxYWDXrmnZR/ac+Nol8lFWZL+s1TbtY0Ouu/8xFY9bzFoqRJ6ya9aIx26X/5ZDrYqSR+4m6F8mFaj8ydqHobmqaplmV1hO4drUw2rsZhLZjM1WzLFqOvGPbdtUsF/Sy63mWUfTbm1vWC3RAh1ioqTgVSxxAxB1xSEmIIk6xdVBS77fh2tUSLQrIphcD7ZEBrBxbxvZJiyv+9nGKSifNMkryKCcPlYOsZ1WahZJedz3PMmqhrKJpF2WisIx61V70PK9q1tXAUzXrGSONVVmwjJpVmS/rdcdbKOl1227oev1IK9LUHOUPuXZD1+vjwbiFWF2s0rhlvSR2EmWY3C3rBdmZ8KNO7MLWo1y7WvB7EpZR1LSiYRQHfzfDimtl4FgyGFfNsqZp46aprF2sVKwRH5EaHcFIs7+sF0TK9fzKnlzTCh5qgoWalL5C8QiRBugnt6zrlN89zyn5B7fwL1pHs3xHmh6pmpdEhLAi4UHUT5zKrBJyaobRYZUmW6Rp5ivXbhS0WtVelFEH6bo/8cypWKLHEKx7umW9YFWc2IWhAdFQx8Ii0iBmbKaVogVZnPE5xWDFDyMiWqWR4aNkGCXDkktCAaYQ6Q1kPPhQpQGy69ZAe/pc0Og+nhfLqdJkizQ53ly9qdIsGH6cMJKrNHLWWccyRhrTrJfNhms3CkpSUuIN4vXkXBrZCQhNRhfLYxe6dlVX9sNQBZlIgzjhSKMOxqvHbnGCTWhAfZSHo0aNeK/VwUhRuNOUWWdOxUo4yapVVY4tDIrMTKQB+ihydlxiz37YDf/Es17wKzC1qr0YrdL4Fst6/Yjd0PW6q5zxopZu0vNG9PQb8a+g10KRxjBqVqVR1C7qei2YrOpFUk2qrkUaOUNd7hKxySR2YWh8lEiDqLgqTat/KVpR2azGzkDwj9pOkUgzAmKH8UQbcIITDsWPVqWiVokj5RpZTA6naDlvjUgDZNftgfZAH92Lu7ZHvvSiSpO0Tu4iTY/OpZEnw1hGLRQkxEn8tt0oKOnFNC+pp+wnB6GYv5J94png2o0SlwfIoCdVGnlCNlUa9FLrY0wM0YluZaTxlKq2S5VmlPlVmqIIM0pjiJ1okTIpn0gDDJxIiWZ0z6sRXSk7eAWUyLEu3xPPesH140pBr5f0mmGI4BGIHK6/prgfPLWm6+fSeJZRj56uo16oALF6cRHn5okxwcHO5khn7MLQ1QY5lwZRobEZNQb7H2niSB264F7RoUozYmKveCYHI9VLAkSbgewexV0ClYlnQBd0d6Ddtm05YOENRYeh4+0jhoxjD0fyWBcaQaZKE9Q8lSVapZGXWl5OlUastqQrnnlUaTLrWpVG3YVklUaZsKHO5Yhd2DoMRXsSQ3CEQtep5T6/k9q6HoC8XK9ollRpRln2SBPpCoRmcYSrNMkPBLDSxDly0Yt8jA51wkLoV6Fr2cvluYs0PdM8Paag1/ebMVWa/WZdnvfSaZVmsazL03UaJb3uKhPMQt9LU/CvKG1VFkSk4dtpsuhalUaecasOkytfAdFmYeyX1bSbIoIREhqbkV+s6Tckp6hpJcMQeVhc/UweoNUqjWhyo33sHnJxVRqz2VAMK/moIptHoBqTZVI+kQbIrusD7f6lz4pOq4OR469U7nT7NGfcuWkTz1pjykLuIk0vqjROZVZr1kZqZbNRjYs00Yln8jJoGS8PIB9rGTXDEF9rExtpxMWaF4p+TJJVGvk6Easn59IAvRcaPm/VZ9TPMzkebxkl0xwXA3hH/Ot+cn3n0RCejphQpVFjTKAzpH7kh6hdh8HvCgBDRl7EOW7cwVW/gWoUyIGVlCpNaNaZFznddLQ/FpsBQ/3eTPHNm7I84vqTxEInt2SZeOZUZq3KfFmvaVpN12v7K3OF4IUHRMgJfv9Ms2izzItHjw4iDfKhxzNoMTxoKsAgYw9Nx/ZJ0YuNE3tt5Q7+DcJfGWVUaQAAAADkG5EG+cDAFTKiqQCDjD00HdsnBRsHSajSAAAAAMg3Ig3ygbEZZERTAQYZe2g6tk8KNg6SUKUBAAAAkG/LijQiLnPL7Qrc9v0FcJuXW1oLt9wO8q0wCK9kMG/7/gIG+Zbtw21K26BKg3wQrRZoi6YCDDL20HRsnxRsHCQh0gAAAADINyIN8oGxGWREUwEGGXtoOrZPCjYOklClAQAAAJBvRBrkA2MzyIimAgwy9tB0bJ8UbBwkoUoDAAAAIN+INMgHxmaQEU0FGGTsoenYPinYOEhClQbDwS3rJSfhd5ZRtCqOvF82q+pvq2a5oJfd4PpFwwqtE1zilvWCphWqtvo4DCinYmk+8e5XzXKoGUjyvXYqVqgZqM8TFVoZwEpy7WpBKyZ9Coyg5A3iFJOPY0kHxlFgGTWrsqD+WDYboXWcyqxYWDXrmnZR/ac+Nol8lFWZL+s1TbtY0Ouu/8xFY9bzFoqRJ6ya9aIx26X/5ZDrYqSR+0lgLxL9ANmnDK6pdgpFN1ELrhy7UOyrI73vjaDUsZmUSOOU9FLJb0Wxh2+nYhX0sm1X41YqOp5n27ZMPpZR9NutW9YLdGQHUKipOBVLvtFls+oG3+jgO+gUWwcl9X4brl0t0RKAbHox0B4ZeMqxZWyftLjibx+nqHTSLKMkj3LyUDnIelalWSjpddfzLKMWyiqadlEmCsuoV+1Fz/OqZl0NPFWznjHSWJUFy6hZlfmyXne8hZJet+2GrtePtCJNzVH+kGs3dL0+HoxbiNXFKk2rT6kMcrtlvVDQSyW9EEopsoch8498lGtXC35PImmhphWNyHA7RkrGIfOU8fgQ167qwXJN6NBfNcuapo2bptIhLlYq1oiPbA2+YKTZX9YLsi6nVvC8SBEvWKhJ6SsUjxBpgH5yy7pO2dzznFL4U8z/Retolu9I0yNV85KIEFYkPIj6iVOZVUJOzTA6rNJkizTNfOXajYJWq9qLMuogXfcnnokxb2WncstKpAkWQ+WvAgOifscidqEX+yOGXtLQu+d5oSqNHDKXSdiNq8AUDUssF40zOdI4xXCZEQMt2lTkm14yjJJhySWhAFOI9AYyHmeo0gDZdWugPX1gK7qP58VyqjTZIk2ON1dvqjQLhh8njOQqjZx11rGMkcY062Wz4dqNgpKUlHiDeD05lybSCQhEmtAMdbFyqDcpKsixC5P/CkZLhkiT8YyXZtkwtUrTTDWWIT8LmgPzozyslRfiPVIHI0XBTa3mORUroam0qsrqPFhJ5mEiDdAvkWp8Ys9+2A3/xLNe8Cswtaq9GK3S+BbLev2I3dD1uquc8aKWbtLzRvT0G/GvoNdCkcYwalalUdQu6notmKzqRVJNqq5FGjkQHtklApEmNpmExkfFOrELQw/syiZALiy9SuMYhiWO10lVGvUJY9cJnRjmH/2dIpFmgMUO44n3zglOFPTP9KuoBeHkOnP4lC05b41IA2TX7YH2QB/di7u2R770okqTtE7uIk2PzqWRJ8NYRi0UJMRJ/LbdKCjpxTQvqafsJwehmL+SfeKZ4NqNEpcHyKAnVZrIJaSo0qD7Mp5Lox6vU55KtLdIr7T1SSmehypNHvlVmqIIM8qbmDQEkzQpn0gDDJxIiWZ0z6sRvaaES93IY12+J571guvHlYJeL+k1wxDBIxA5XH9NcT94ak3Xz6XxLKMePV1HvVABYvXiIs6hKwWFI40SeJq/Cl1tUOac6EIv4UcMvQ7OpfECdZWU2FO0Kk7qwF4z21ClyYXYpiLDrXpJgOjbJ7tHcZdAZeIZ0AXdHWi3bVsOWHhD0TfoePskD8+1jnWhwWKqNEHNU1miVRp5qeXlVGnEaku64plHlSazrlVp1F0ovUqj/qjGG3kYUnsSsQu94K+AlIs4yxASKsdHL/8SuvhV4Nn95k2VJo+yR5pIVyDUbBKbGZEG6Dtxjlz0Ih+jQ4zIpEea0EEvd5GmZ5qnxxT0+n4zpkqz36zL8146rdIslnV5uk6jpNddZYJZ6HtpCv4Vpa3Kgog0fDtNFl2r0sgzbrXgBc1iRzQL4TW9hC+riVnYbt4IhlNn30vTtkrjZ5vwbGyVPNCrVRon+CsMjrgqjVn03/TkA4h8WwMHriyT8ok0QHZdH2j35yEXnVYHI8dfhdzp9mnOuEs4L1Qc60JDzPmLNL2o0jiVWa1ZG6mVzUY1LtJEJ57Jy6BlvDyAfKxl1AxDfK1NbKQRF2teKPoxSVZp5OtErJ6cSwOsuI6rNM3je9Usp1ymWY7rW0bJNMfFQOAR/2Qeru882ESaDUxhjavSqDEm0BlKOR1L7ToMflcAGDLyjMq4cQdX/QaqUaB+e0FSlSZ6Yc/QaaKj/XHWDBjq92aKb96U5RHXnyQWOrkly8Qzp/L/t3c/P5IzeZ3H/V/4LxiJUwdqz2G1zCJAO09KLOyCloGVWhaNZwUcWIEYetCMdldoR2rJasbH54JUCCR+jPQ8jFuDuT6HPvIAPdNutH5WiMNzsXjYsrs6ayafrpW8h7Ajw46wy1XlzLLT75daqWp3ZpbbFXbFJ77hyIsovgxE4TiFEMVZ/NZtLzwgQ07782fqos0dF49eDyINluHAM2hxOmgqwJxxhg7j+Aw4xMGxrq18iz9z+C5rRpUGAAAAwLIRabAMDFxhJJoKMGecocM4PgM4OOhDlQYAAADAshFpsAyMzWAkmgowZ5yhwzg+Azg46EOVBgAAAMCy3SnSyLjMI49HeLz3HeBxKY+0Fh55nPOjNIc9mefjve/AnB85PjwOtA2qNFgG2WqBa9FUgDnjDB3G8RnAwUEfIg0AAACAZSPSYBkYm8FINBVgzjhDh3F8BnBw0IcqDQAAAIBlI9JgGRibwUg0FWDOOEOHcXwGcHDQhyoNAAAAgGUj0mAZGJvBSDQVYM44Q4dxfAZwcNCHKg2WKgmDKM70LZHvBWHS/4o8EJvM2Br5njPETdJ88p3HMWVxpH6csoUkYdDXVJIw8PxIvkp+YX0fU+fJAI4pTxPX8cwr/Gr1H5Bs4Hfe4O/QExf5RRTv9L8G4bbznCy+kBuTsHScc/2P/to+6lVRfBmIwnHOXVHmzTt7/kVV7TzjDZOw9PyLif6XJ27CSKPOk/1ZlKeJ25wqWgdUPVPvL+aBcI1nWjfWb7vmc2+FjLGZzHPcJM17MokZReyRpv2G/EY8BZ2mksWRvFbIL/SLkhFF6kZlfH2NPE02RBpgnEMMtKvBiBNwh+MzFFea49P6TRf5G3WVU5fKOTtYlWa3EWVeVZFfdLKK45yrRBH5ZZJeVVWVhKUeeJKwHBlpongX+UUUXwaizKrdRpRpuhWifLGPNEWmfaM83QpRPmnHLVhNWKXZ9xcj31NnzkYE8lzJ08St+wd5IFzVw1D5R71Ke2bvRsfx/GuG5HH6VD+yXbHJAyG0pjI0sK4HmIGReyxaO9KcBcJ1m+tS5Hv6WEmn0Ncu1Az0FbwXRBrgPu0v++u273R1/2F/NVt2pDmQJHww3+HjAAAgAElEQVQjI0RkhAdZP8niCy3kFL5/yyrNuEhT56s83bpOkaRXKupg2PQTz7I4ci0nVX3FaRdD80C4UZx1BkSbjoV1Y2X9K05ee2ymO4Le9E0HfrENV2l6fxNgccwqjQofG9/f+JHa0gkw5oVr5HWGKg0w3lQD7cNzQc1zfCnuUqUZF2kWfLgOU6XZ+U2c8PurNGrW2a2NjDRhWAbhNk+3rpaUtHgDu4PcS9PTCagHBjoz1OWT8zQR2nkoK8jWjdd9F6xH5jnuWXzmjr00D0Wa0bPXsDxy6FEfjEzCoC6vNJeULI56ftz7qrI+D1aRRR4iDXCPjBr7aoeoTn/i2SE0FZgiSa/MKk3jKhDli3QrRJlrd7zopZvhvGHefiP/uKLoRBrfL6J46znnQhTtZFV6pJpBk0UaNUPdekqoBGJNJp3xUfkc60bzDbEStxqbsfRBzbgiO7idxQaq9rUeC2JtKvKnKYd11aVD/jWKY73oZ5RrVDG5m4rVvDUiDTDe1APt3dsgzbU9luUQVZq+5ywu0hzoXhp1M0zkF50gIW/iT9Otq6WXMHyj37LfH4Qs32X8xDMpT7cblgcY4SBVmiQMOvM3tLtrqNJgMs0tNJZxKVvbsFdpZIPs3FMhEWlOQ1Ol8WTD6FTkbNW8sXMXiTTAvTNKNOu9r0b2mtL2CijGtW7ZE88OIW/iiivKjSh8XwaPVuRobguvv27fWjP5vTRV5Jfm7Tr6QgWwOsQizt17YPQo0h4BrYc/O6sNqpxjbqx6/oqTZ4zNqP5ld4iu50Z/a6Spx6uINKfEuuKZ+mnqP2tzVFI1HtsSqEw8AyYw7UB7mqZqwKI6ib7BrY+PHKGzXo7Uta4zWEyVpq2+lcWs0qillu9SpZFPu9GKZxVVmtEmq9Lop5BWpdGnoe+f28ziaMUbdRnSexLWjVX7n7BO2nW5L9IMjUXp/dGKSHPSxkcaoyvQmcXRezsWkQa4d3IKsW11orWQv/uGI03nore4SHMw9e0xrijPQkuV5iws1X0vt63SXAVC3a6z3Ygy1yaYdT6Xxm1WlI7inYw0fDrNGJNVadQdt2ptXGM1krp0o30uhN4TtX5YjWXjdfNGcJo6YzNaKeZOE88klgc4JbYqTSh/wHKSYU9TUdm4VY0ZMymfSAOMN/lAe9PZ8LJ9B2PBV+/bHh99XVmLIEz0MWVpcZHmEFWaLL5w6tpIEYTbxBZpzIlnahm0kcsDqNdGfuH78mNtrJFGLta885qYpKo0aj9hdZB7aYDD02dL32XiWY0qzemSibc1hdVWpdFjTGd98N5moHcd5t8VAE6MGja1jTvk+idQrYEaWBmo0nRmnVXN9U0N9Ji/B9ekDhj652bKT95U5ZG8mSTWubllzMSzLL6I4stAFI5TCFGcxW/d9sIDMuS0P3+mLtrccfHo9SDSYBkOPIMWp4OmAswZZ+gwjs+AQxwc69rKt/gzh++yZlRpAAAAACwbkQbLwMAVRqKpAHPGGTqM4zOAg4M+VGkAAAAALBuRBsvA2AxGoqkAc8YZOozjM4CDgz5UaQAAAAAs250ijYzLPPJ4hMd73wEel/JIa+GRxzk/SnPYk3k+3vsOzPmR48PjQNugSoNlkK0WuBZNBZgzztBhHJ8BHBz0IdIAAAAAWDYiDZaBsRmMRFMB5owzdBjHZwAHB32o0gAAAABYNiINloGxGYxEUwHmjDN0GMdnAAcHfajSAAAAAFg2Ig2WgbEZjERTAeaMM3QYx2cABwd9qNLgRET+JknzzsYkDKI4az/NC8LkiPuF+5fFkdOQP/0kDPqaQRIGnh/JV8kvrO9j6jwZwDHlaeI6Xnb9E9ei/4BkXv91bM2/HyO/iOKd/tcg3Haek8UXcmMSlo5zrv/RX9tHvSqKLwNROM65K8q8eWfPv6iqnWe8YRKWnn8x0f/yxE0YadR5sj+L8jRxm1NF61yqZ7paNzQPhGs807qxfts1n3sr1B6bGbooaw0m8xw3SfPItz7dNVMQTkBnGC+LI3mtkF/oFyUjitQNxvj6GnmabIg0wDiHGGhXgxEn4A7HZ+g3Y3N8Mk/rpOmjgepSOWcHq9LsNqLMqyryi05WcZxzlSgiv0zSq6qqkrDUA08SliMjTRTvIr+I4stAlFm124gyTbdClC/2kabItG+Up1shyiftuAWrCas0eSA28iSJfE87c+ookqeJW/cP8kC4qoeh8o96lfbM3o2O4/kMt0NjrdJUWl+zXbHJAyHIMyvRjjRngXBdEciffeR7+lhJp4jXLtQM9BW8F0Qa4D5xSZeyTXNx6/7D/mq27EhzIEn4RkaIyAgPsn6SxRdayCl8/5ZVmnGRps5Xebp1nSJJr1TUwbDpJ55lcdT0GCxDnu1iaB4IVx9Nl1ubjoV1Y2X9K06eOfQ+UKLx/MgcZW/6r/zyO3EDTWXj+xs/Uls6AcY1egMjrzNUaYDxphpoH/4tYJ7jS3GXKs24SLPgw3WYKs3Ob+KE31+lUbPObm1kpAnDMgi3ebp1taSkxRvYHeReGr0TkISBK4K8ygPhWmeoyyfnaSK081BWkK0brd8FK6QakjbIVGcVrX+ZeY57Fp+5i7184+7k0KM+GJmEgRZ96+f0TETcV5X1ebCKqkITaYD7Ytwd19uzP3WnP/HsEJoKTJGkV2aVpnEViPJFuhWizLU7XvTSzXDeMG+/kX9cUXQije8XUbz1nHMhinayKj1SzaDJIo2aod4+JVQnoD6FrMmkMz4qn2Pd2HnhZIcBs2cOvXcu0GoSEf3LlbMO48nf3HJYV1065F+jONYLeka5RhWT99Nrm/ekyQE3NvVAe6uPXtnW9liWQ1Rp+p6zuEhzoHtp1M0wkV90goS8iT9Nt66WXsLwjX7Lfn8QsnyX8RPPpDzdblgeYISDVGmaykylz/xRN8NQpcEkZENSw+36UJR+Y0NzC41l7Ir2sxJNlcaTP/TOWhFGMxiYl0ikAWbHKNGsd2qx7DWl7RVQjGvdsieeHULexBVXlBtR+L4MHq3IkTfPlF+3b62Z/F6aKvJL83YdfaECWB1iEec6yXQGO20FmXr4s7PaoMo55saq5684ef1VmqpqDzVp/UvVB+0O4w0s44uls654plqIviSAOSqpGoZtCVQmngETmHagPU1TNWBRnUTf4NbHR/5atF6O1LWuM1hMlaatvpXFrNKopZbvUqWRT7vRimcVVZrRJqvS5O1xcRla9GXKtNXP1CyO1gQPdRnSexLWjVX7n7BOWRx5vn1t5idhuGkWyhP7giGRZqXGRxqjK9CZxdGt0vS/EMCxyaK9ucjHesjfa8ORpnPRW1ykOZj69hhXlGehpUpzFpbqvpfbVmmuAqFu19luRJlrE8w6n0vjNitKR/FORho+nWaMyao02hSgfd9RnxekThXtcyH0Xqb1w2osG6+bN4LTdIsqjZZbmHi2IrYqTSgbgOdH/RcQlXtb1Zgxk/KJNMB4kw+0N0ufedm+g7Hgjx277fHZL5DTP/FsP6YsLS7SHKJKk8UXTl0bKYJwm9gijTnxTC2DNnJ5APXayC98X36sjTXSyMWad14Tk1SVRu0nrA5yLw1wBNZIo3qrzbVbaEVCqjTrJNNsawqrrUqjx5jO2t/2jzyq2h8lTHMCjkwt4mwbd8j1T6BaAzWwMlCl6cw6q4xfnXraWZ86YOifmyk/eVOVR/Jmkljn5pYxE8+y+CKKLwNROE4hRHEWv3XbCw/IkNP+/Jm6aHPHxaPXg0iDZTjwDFqcDpoKMGecocM4PgMOcXCsayvf4s8cvsuaUaUBAAAAsGxEGiwDA1cYiaYCzBln6DCOzwAODvpQpQEAAACwbEQaLANjMxiJpgLMGWfoMI7PAA4O+lClAQAAALBsd4o0Mi7zyOMRHu99B3hcyiOthUce5/wozWFP5vl47zsw50eOD48DbYMqDZZBtlrgWjQVYM44Q4dxfAZwcNCHSAMAAABg2Yg0WAbGZjASTQWYM87QYRyfARwc9KFKAwAAAGDZiDRYBsZmMBJNBZgzztBhHJ8BHBz0oUoDAAAAYNmINFgGxmYwEk0FmDPO0GEcnwEcHPShSoOlSsLA8yNtQx4I13HcJM3150Rxpr8q8r0gTI61j5iFLI6chvzpJ2HQ1wxUu8riqN3AWu9j6jwZwDHlaeI6Xnb9E9ei/4BkXv91bM2/HyO/iOKd/tcg3Haek8UXcmMSlo5zrv/RX9tHvSqKLwNROM65K8q8eWfPv6iqnWe8YRKWnn8x0f/yxE0cafI0cVtnhTp59L6mdaPskjqO4+jdUOMNsVKdsZk0TZMwcEWQV1Xke01bygPhap3LzHPcJM0j33oNb+UfnIxOU8niSF5A5BfyktITReoGY3x9jTxNNkQaYJxDDLQbg1wLdofjMxRXmuOTeVrUifyNusqpS+WcHaxKs9uIMq+qyC86WcVxzlWiiPwySa+qqkrCUg88SViOjDRRvIv8IoovA1Fm1W4jyjTdClG+2EeaItO+UZ5uhSiftOMWrCav0uSBEEK4zVmRB83XWRw59Vlk3VhFvifPtzxN3KYnEfme43g+I+vokYSB4zhPwlDrpHpxHKnRJtXXbFds8kAI8sxKtCPNWSBcmYSrqop8Tx9A6RTx2oWagb6C94JIA9wnLulStmkubt1/2F/Nlh1pDiQJ38gIERnhQdZPsvhCCzmF79+ySjMu0tT5Kk+3rlMk6ZWKOhg2ZaSR0zlUt6Bd98wD4UZxZt3YGRDtdCyYLISqOzaTee1qnk13lL3pv/LL78SZVRoVPja+v/EjtaUTYFyjNzDy4kOVBhhvqoH24bmg5jm+FHep0oyLNAs+XIep0uz8Jk74/VUaNevs1kZGmjAsg3Cbp1tXS0pavIHdlFWaPE1EMwtIjYnqhWC53bpRvVbqVJCJNLCpU402qaweLNeGmjLPcc/iM3exl2/cnWwP+mCkLO452qyzLI56JiLuq8r65FhF5moiDXCPjLvjenv2p+70J54dQlOBKZL0yqzSNK4CUb5It0KUuXbHi166Gc4b5u038o8rik6k8f0iireecy5E0U5WpUeqGTRVpFH1ln0CsSYT68bO+CiRBqa+sZnmipx5lkiDNbI2FdlOMm1SYtWM8kZxrBf0jHKNurjlgdhkrff0iDTATU090N7qo1e2tT2W5RBVmr7nLC7SHOheGnUzTOQXnSAhb+JP062rpZcwfKPfst8fhCzfZfzEMylPtxuWBxhhsiqNHkKo0uA45LV4sEqjbqGxjF3RqFaiqdJ48ofeWSvCaAYD8xKJNMDsGCWa9U4tll2ptL0CinGtW/bEs0PIm7jiinIjCt+XwaMVOfLmmfLr9q01k99LU0V+ad6uoy9UAKtJIo1lPobnR+3Bznqk07qxs9og99LAZIzN1CNzg1Ua1QftDuMNLOOLpbOueKYGI/UlAcxRSdUwbEugMvEMmMC0A+1pmqoBi+okOgy3Pj5yyNh6OVLXus4IMlWatvpWFrNKo5ZavkuVRj7tRiueVVRpRjvI59JoF5T9bDQtyVg3Vj2LCnTeEKipq/ZAlUa7dhNp1mt8pDG6Ap1ZHN0qTf8LARybvEfOXORjPeTvteFI07noLS7SHEx9e4wryrPQUqU5C0t138ttqzRXgVC362w3osy1CWadz6VxmxWlo3gnIw2fTjPGQSNNpX0ExL5Dad1o/bCa66aIYEX6PmxEr9Jk7X/ScgsTz1bE1lRCr6ke919VVBNqVWPGTMon0gDjTT7Q3ix95mX7DsaCP3bstsennnGXD008248pS4uLNIeo0mTxhVPXRoog3Ca2SGNOPFPLoI1cHkC9NvIL35cfa2ONNHKx5p3XxCRVpVH7CauDVGmAI1Bj7ZG/CcMncnDuRbOmp7FYM1Wa1ZJptjWv1Val0WNMZ+3vTV/fSO860JyAI1OLONvGHXL9E6jWQA2sDFRpOrPOKuOW1Os+GuG01QFD/9xM+cmbqjySN5PEOje3jJl4lsUXUXwZiMJxCiGKs/it2154QIac9ufP1EWbOy4evR5EGizDgWfQ4nTQVIA54wwdxvEZcIiDY11b+RZ/5vBd1owqDQAAAIBlI9JgGRi4wkg0FWDOOEOHcXwGcHDQhyoNAAAAgGUj0mAZGJvBSDQVYM44Q4dxfAZwcNCHKg0AAACAZbtTpJFxmUcej/B47zvA41IeaS088jjnR2kOezLPx3vfgTk/cnx4HGgbVGmwDLLVAteiqQBzxhk6jOMzgIODPkQaAAAAAMtGpMEyMDaDkWgqwJxxhg7j+Azg4KAPVRoAAAAAy0akwTIwNoORaCrAnHGGDuP4DODgoA9VGgAAAADLRqTBMjA2g5FoKsCccYYO4/gM4OCgD1UaLFUSBp4faRvyQLiO4yZpbjw3D8Qma/4S+Rvbc3CysjhyGkGYVFWVhIH8wqTaVRZH7QbWeh9T58kAjilPE9fxsuufuBb9ByTz+q9jfRfGNYj8Iop3+l+DcNt5ThZfyI1JWDrOuf5Hf20f9aoovgxE4Tjnrijz5p09/6Kqdp7xhklYev7FRP/LEzdxpMnTxNXOCvlXKYrVyaXOKL0DKruknWdaN3a/C9agMzaTpmkSBq4I8qqKfK9pS3kg3KZzuW88Paz5B4vXaSpZHMlrhfxCvygZUSTz9q1C//oaeZpsiDTAOIcYaDcGuRbsDsdnKK40xyfztKijj/GpS+WcHaxKs9uIMq+qyC86WcVxzlWiiPwySa+qqkrCUg88SViOjDRRvIv8IoovA1Fm1W4jyjTdClG+2EeaItO+UZ5uhSiftOMWrCav0uSBEEK4zVmRbUQgz5U8TVyt06l6GE5zakW+J8837Zm9Gx3H831v/uceDi0JA8dxnoSh1kn14jhqjzbJKk0eCDeKM6o0a9OONGeBcN3muhT5nj5WErWvKu1CzUBfwXtBpAHuUx4IwYVd73R1/2F/NVt2pDmQJHwjI0RkhAdZP8niCy3kFL5/yyrNuEhT56s83bpOkaRXKupg2JSRRk7niOxho77itIuhdS+zMyDavIN1Y2X9K05ee2wm89qFO6vIHxixchxmKZwos0qjfuQb39/4kdrSCTCu0RsYeZ2hSgOMN9VA+/BcUPMcX4q7VGnGRZoFH67DVGl2fhMn/P4qjZp1dmsjI00YlkG4zdOtqyUlLd7AbsoqTZ4mopkFZDsr6oGBzgx1+WT1WklWkK0bOy+c5jBgkepUo+WWerBcDTWp8Sft3gmVk1sjVThhsj3og5GyuOdos86yOOq/EUuVnS1TGWWuJtIA98i4O663Z3/qTn/i2SE0FZgiSa/MKk3jKhDli3QrRJlrd7zopZvhvGHefiP/uKLoRBrfL6J46znnQhTtZFV6pJpBU0UaVW+xhw210ZpMOuOj8jnWjeYbYiX6xmaaK3LmGZGmqip5iZcJ2a2v6fWWo+05jszaVGQ7ydqTEuVfozjWC8JGuUZd3FrrTFTavDUiDTDe1APt3fEpc22PZTlElabvOYuLNAe6l0bdDBP5RSdIyJv403TrauklDN/ot+z3ByHLdxk/8UzK0+2G5QFGmKxKo+cNM2yoW2IqqjSYjrwWD1Rp1M1aSRjIMXi1osDAmlc4MU2VxpNhpjMd0WgGA5PyiTTA7BgX8/XeVyN7TWl7BRTjWrfsiWeHkDdxxRXlRhS+L4NHK3I0t4XXX7dvrZn8Xpoq8kvzdh19oQJYTRJpLPMx9ISjR5H2CGg9/NlZbVDlHHNj1fNXnDxjbKYemRuu0mTdpQJYLu/0WVc8U4OR+pIA5qik6h7ZlkBl4hkwgWkH2tM0VQMW1Un0DW59fOSQsfVypK51ncFiqjRt9a0sZpVGLbV8lyqNfNqNVjyrqNKMdpDPpdEuKPo0dGU/RU2PN+pVek/CutH4LlgjddXuq9LI6OKKoYWcr11gACdgfKQxugKdWRzdKk3/CwEcm7xHzlzkYz3kiMxwpOlc9BYXaQ6mvj3GFeVZaKnSnIWluu/ltlWaq0Co23W2G1Hm2gSzzufSuM2K0lG8k5GGT6cZ44CRxliNpJ6trn0uhJ5SrB9WY9l43bwRnKa+DxvRqzRZ+5+qnr7mui/cp8/WVEKvqR73X0BUE2pVY8ZMyifSAONNPtDedDa8bN/BWPDHjt32+OjryloEYaKPKUuLizSHqNJk8YVT10aKINwmtkhjTjxTy6CNXB5AvTbyC9+XH2tjjTRysead18QkVaVR+wmrg1RpgCNQY+2RvwnDJ3Jw7kWTotUle/DijjWQwyKtKay2Ko0eY1qdoYEPMtJbFy0KODI1bGobd8j1T6BaAzWwMjCQ15l1Vhm3pK575kIdMPTPzZSfvKnKI3kzSaxzc8uYiWdZfBHFl4EoHKcQojiL37rthQdkyGl//kxdtLnj4tHrQaTBMhx4Bi1OB00FmDPO0GEcnwGHODjWtZVv8WcO32XNqNIAAAAAWDYiDZaBgSuMRFMB5owzdBjHZwAHB32o0gAAAABYNiINloGxGYxEUwHmjDN0GMdnAAcHfajSAAAAAFi2O0UaGZd55PEIj/e+Azwu5ZHWwiOPc36U5rAn83y89x2Y8yPHh8eBtkGVBssgWy1wLZoKMGecocM4PgM4OOhDpAEAAACwbEQaLANjMxiJpgLMGWfoMI7PAA4O+lClAQAAALBsRBosA2MzGImmAswZZ+gwjs8ADg76UKUBAAAAsGxEGiwDYzMYiaYCzBln6DCOzwAODvpQpcFy5YHYZPUXrtPlJmluPN/1/Og+dhX3KYsj1SyCMKmqKgkD+YUpCQPZSLI46rQW/X1MNC3gHuVp4jpedt+7MR/9ByTz+q9jfRfGNYj8Iop3+l+DcNt5ThZfyI1JWDrOuf5Hf20f9aoovgxE4Tjnrijz5p09/6Kqdp7xhklYev7FRP/LEzdxpMnTxDXOCmOjOqP0fue+YxrF2eBG+3fBaeuMzaj+pec/abKNkgdCtCNNHgg3CJPI92g2J89sKvKHLr+QV4+eKJJ5+4uS/vU18jTZEGmAcQ4x0K4GI07AHY7PUFxpjk/maVEn8jfqKqculXN2sCrNbiPKvKoiv+hkFcc5V4ki8sskvaqqKglLPfAkYTky0kTxLvKLKL4MRJlVu40o03QrRPliH2mKTPtGeboVonzSjluwmrxKkwdCCOG2z4rOxrpzWdW90vrUinxPnm95mrhNT6Jvo+N4Pn3TVcuf+E+azmYeiE0YBvsCjdhstEjTDsDUalanHWnOAuG6IpCNI/I9faykk3jbhZqBvoL3gkgD3CdzGGudsk1zcev+w/5qtuxIcyBJ+EZGiMgID7J+ksUXWsgpfP+WVZpxkabOV3m6dZ0iSa9U1MGwKSONnM7R6RZ0NraLoXkg3CjOOgOizZOtGyvrX3Hy9LEZfaA9CM8GqjSR73VKfE3pjykKJ6uvoOc4zsb3N36ktnQCjGv0BkZeZ6jSAONNNdA+PBfUPMeX4i5VmnGRZsGH6zBVmp3fxAm/v0qjZp3d2shIE4ZlEG7zdOtqSUmLN7CbskqTp4kQQd7uBJgbOzPU5Xb1NElWkK0bOy+c+oBgSZrhJXlTzf4yHcUvAiGS9IUnaza2O23kxnbUwWmSQ4/6YGTS1PTUJSWLI9v9V5VeVbbetSWbEJEGuEfG3XG9PftTd/oTzw6hqcAUSXplVmkaV4EoX6RbIcpcu+NFL90M5w3z9hv5xxVFJ9L4fhHFW885F6JoJ6vSI9UMmirSqHqLHjYsG63JpDM+Kp9j3dh54dRHA/Nljs10Is2mCc9NpFnlbzT0DOPJ1iKHddWlQ/41imO9IGyUa9R1LO/UA9W8NSINMN7UA+2tPnplW9tjWQ5Rpel7zuIizYHupVE3w0R+0QkS8ib+NN26WnoJwzf6Lfv9QcjyXcZPPJPydLtheYARJqvS6HnDml6o0mBC+sSzZnkAe6Tpm5mw6F94uJGmSuPJMCO/6J9oMTApn0gDzI5RolnvfTWy15S2V0AxrnXLnnh2CHkTV1xRbkTh+zJ4tCJH3jxTft2+tWbye2mqyC/N23X0hQpgNUmksczH8Pwnto2d2ks9/NlZbVDlHHNj1fNXnLxrqzTGxLM60pjthA7oabOueKYGI/UlAczmobpHtiVQmXgGTGDagfY0TdWARXUSfYNbHx85ZGy9HKlrXWewmCpNW30ri1mlUUst36VKI592oxXPKqo0ox3kc2msFxTrbDQ93ljXD+hZVKD3u2BVrBPPqqrSR+mINBgfaYyG0ZnF0a3S9L8QwLHJe+TMRT7WQ47IDEeazkVvcZHmYOrbY1xRnoWWKs1ZWKr7Xm5bpbkKhLpdZ7sRZa5NMOt8Lo3brCgdxTsZafh0mjGOH2n0WUN6SrF+WI1l43XzRnCarFUa398Mr3jGxLMVslVpQq/5ufdfQNSM/FY1ZkxTIdIA400+0N5c571s38EY+6FSM3Tb41P/4suHJp7tx5SlxUWaQ1RpsvjCqWsjRRBuE1ukMSeeqWXQRi4PoF4b+YXvy4+1sUYauVjzzmtikqrSqP2E1UGqNMBRZN7+Gl1HGhVg1EAdVZrVk8MirSmstiqNHmNanSH9V35HezHxuXcFgBOjfeCyeT3P9U+gWgP1e22gStOZdVY11zc10LPuVUDrgKF/bqb85E1VHsmbSWKdm1vGTDzL4osovgxE4TiFEMVZ/NZtLzwgQ07782fqos0dF49eDyINluHAM2hxOmgqwJxxhg7j+Aw4xMGxrq18iz9z+C5rRpUGAAAAwLIRabAMDFxhJJoKMGecocM4PgM4OOhDlQYAAADAshFpsAyMzWAkmgowZ5yhwzg+Azg46EOVBgAAAMCy3SnSyLjMI49HeLz3HeBxKY+0Fh55nPOjNIc9mefjve/AnB85PjwOtA2qNFgG2WqBa9FUgDnjDB3G8RnAwUEfIg0AAACAZSPSYBkYm8FINBVgzjhDh3F8BnBw0IcqDfjqjuoAABBiSURBVAAAAIBlI9JgGRibwUg0FWDOOEOHcXwGcHDQhyoNAAAAgGUj0mAZGJvBSDQVYM44Q4dxfAZwcNCHKg1OQOY5jiuC3PyHOArCRH7hWHjZ8XcWR6f/9GV7SMJAfmFKwsDzI/kq+YX1fSyNqf1kAMeUp4nLJV3Tf0Ayr/861ndhXIPIL6J4p/81CLed52TxhdyYhKXjnOt/9Nf2Ua+K4stAFI5z7ooyb97Z8y+qaucZb5iEpedfTPS/PHETR5o8TVztrIj8/bmjdTrVGeUmqeqI5oFw5dYozgY3dr8L1mB4bCYJg04jqaoqTV8EwtXbSZ4mG7qep67TVPRkG4SJvHr0RJHM21+U9K+vQbsCxjvEQLsajDgBdzg+Q3GlOT6Zp0WdyN+oq5y6VM7Zwao0u40o86qK/KKTVRznXCWKyC+T9KqqqiQs9cCThOXISBPFu8gvovgyEGVW7TaiTNOtEOWLfaQpMu0b5elWiPJJO27BavIqTR4IIbROZOR7xhmSq15mFkdqpDzyPXm+5WniNj2Jvo2O4/mWdwZMeSCEumTT9VyhdqQ5C4Srhlci39NjcOd61S7UDPQVvBe0K+A+ta7zK5ZtbBMWqtbVbNmR5kCS8I2MEJERHmT9JIsvtJBT+P4tqzTjIk2dr/J06zpFkl6pqINhU0YaOZ1D7xaYkaZdDM0D4UZx1hkQbV5l3Vj1vTNOmzk2IyszSqdE07lwS0SaNTCrNKqRbHx/40dqSyfAmNMXR15naFfAeFMNtA/PBTXP8aW4S5VmXKRZ8OE6TJVm5zdxwu+v0qhZZ7c2MtKEYRmE2zzdulpS0uIN7Kas0uRpIkSQtzsB2sSzunPZmaEun6xeK8kKsnVj54XTHg4sVxIGjuNlzUxFdTtEp5NK13OF5NCjPhipwrC6pGRx5NinmeXa3MX9PNhOkKZdAffIuDuut2d/6k5/4tkhNBWYIkmvzCpN4yoQ5Yt0K0SZa3e86KWb4bxh3n4j/7ii6EQa3y+ieOs550IU7WRVeqSaQVNFGlVvsYeNJAxk59KaTDpdT/kc68bOC6c6Cpi/ztiMVqJxkzRPwuBJGLpGrzQJg85dWHQ9T551GE/+5pbDuurSIf8axbFeEDaSsLq45YHYZK339Ig0wE1NPdDeLciba3ssyyGqNH3PWVykOdC9NOpmmMgvOkFC3sSfpltXSy9h+Ea/Zb8/CFm+y/iJZ1KebjcsDzDCZFUaPW/0hI16FhlVGkyqvjrL6HLtbzK6nivUVGk8GWb0NUtsEy0GJuUTaYDZMUo0672vRvaa0vYKKMa1btkTzw4hb+KKK8qNKHxfBo9W5MibZ8qv27fWTH4vTRX5pXm7jr5QAawmiTSW+RhGz3IfabQR0Hr4s7PaoMo55saq5684eebYjN5CVDVGX3OiMoad6HqugXXFMzUYqS8JYI5Kqu6RbQlUJp4BE5h2oD1NUzVgUZ1E3+DWx0cO6lkvR+pa1xkspkrTVt/KYlZp1FLLd6nSyKfdaMWziirNaGaV5uLi4tLm7du3Yz+XRrugZH5zXqmJZ/oUNT3eqFfpPQnrRuO7YIVyfd2qqjvBLPPqvmZ3WJ2u5wqNjzRG8+jM4ug2p/4XAjg2ORvZ+hllKyFHZIYjTeeit7hIczD17TGuKM9CS5XmLCzVfS+3rdJcBULdrrPdiDLXJph1PpfGbVaUjuKdjDR8Os0YnUhzeXn54z/+41/4whe+8IUv/NiP/diXvvSlX//1X//DP/zDy8vLW0Sa/YIk+lVG+1wIPaVYP6zGsvG6eSM4Tdd+Lo2x4pnlAk3Xcw1sVZrQa6rH/RcQNSO/VY0ZMymfdgWMN/lAe9PT8LJ9B2Psh0rN0G2PTz3jLh+aeLYfU5YWF2kOUaXJ4gunro0UQbhNbJHGnHimlkEbuTyAem3kF74vP9bGGmnkYs07r4lJqkqj9hNWfVWar3zlK7/6q7/6jW9848/+7M8++uijm1VpgGNqeqjmxyTXY+p913fy8DrIYZHWFFZblUaPMa3OkP4rv0NvWrQl4MjUmKlt3KFbyT95amBloErTmXVWNdc3NdBjjgyuSR0w9M/NlJ+8qcojeTNJrHNzy5iJZ1l8EcWXgSgcpxCiOIvfuu2FB2TIaX/+TF20uePi0eth3ksjU82TJ0++853vfPzxxzLPjPyoTeBQDjyDFqeDpgLMGWfoMI7PgEMcHOvayrf4M4fvsmaqSpPn+fn5uVoJ4O3bt5eXlx988IHKM0QaAAAAAHMkI81nn31WFMUbzXa7/eEPf7jdbtWWi4uLt2/fEmlwPxi4wkg0FWDOOEOHcXwGcHDQR1Vpzs/PZWgZ8PbtWyINAAAAgHmRkaYsSzPAqBijI9LgfjA2g5FoKsCccYYO4/gM4OCgj6rSmOllu93Kxw4iDQAAAIAZkZHGjC59WpFGxmUeeTzC473vAI9LeaS18MjjnB+lOezJPB/vfQfm/Mjx4XGgbchI8y+jvXr1yvknAAAAAFimV69eOe8AAAAAYJmINAAAAAAWjEgDAAAAYMGWF2nknUP3vRfXW8p+3pelHJ+l7CcAAMBq2SPNq3mw7vFSupiT7Od9HeQjWNXPEQAAAIfzqi/SVJP6nZsj0rw7wA+ig0hzraXsJwAAwGodL9L8v5sg0khEmnu3lP0EAABYraNGmotxiDQKkebeLWU/AQAAVotIcyhEmmEn+XP8wff//qA7AwAAANNRI82bcYg0CpHm3t1oP//z5qf/4BtPPv3nfz7oLgEAAEB31EhTjnP3SPP++++///775sbbHaMxb24a3s9PXz53nYevtQ2PHzx4/vLTztOOHGk+ffn8wYPHaieePXr47MPX74Z8+viB6wxxzf/UmOOjeJ7ned61TxvDfJ8xbz5yP3/w/b//n1/7nZ//yX/zi//+J3/xZ/7dX/7p2e13FAAAnK7XHz7r6zY9fvr83bt3w/0rV+uqjXln1Zcb0a8b1uqsvv7w2cNHz27zLi+fv1e/8PVDy/+v7h73H6WH1v/DUSNNMc4hIs3IHHKt9xvXPnN4P589av0Qv/b0qd5yVROZW6R5/vTxQHvqvPwux0fxGuPe9fq3Gt5iGrOf3/nzP/25n/6Jb/72f/v5n/nSf/zpn4ie/q9//exf7rq7AADgFL3+8FkTXUZtH34rPbSoje2w8fq9B48/1fp1n758rrqd2mtVwOgbj74m0ljfVtu4f9vnTx/3/E9fP+xJLNc+4UaRJvnqvtf9xW9/0mz+5NtfrDd+NenpOstI83/HmTzSjM8hY9727pHm9YfP3AeP/0j7cT579N4fffhHrvFDMn4QyVf1I39n6iB3IpY1EOtn2vOnj9UgQf9rhxrlTSPN3VON+T6TRJofvPz7//RT//bDv/zz3W73B1//3U/+8fXnn3/+2Wef/e5v/tcfvOTWGgAA0DKiSjPGp48fuO6D99574LYjzaePH7z3ul0MaUea+q/v6rwhk8anjx+48ru//vBZpws3sMNagLG+7euHTbyRvd9P2ztpHhuVWPSANKZ7eZNI88m3v9hklk++/cWma/3Jt7/YRJn+/raMNP86zrSR5kY55Nr3nCTSPHv0nsypzRevHz169s5W5dB/EE2gPEikkcZPPNOf2fO0vsZ6/fHReW3XPn/kW+lbhl917X5+/bd+83987bd3u927d+8+//zzH/3oR+/evfvRj37037/221//rd+8yw4DAIDTM2GVRkYRvRv2/Olj9dfm626Vpv3yB89fftq+IaL7np0nq73tn3hWP9OIMZabLNqOVKXRJF+tazJauNHTTYeMNJ81rJlL/euEkeamOWT4DaeKNO8GqyJ6az5alUYaH2n0dqw/TaW1A0Wau6Qa830miTS//HNf/uvvfmBu/+vvfvDLP/flW+8tAAA4SddVaa69Udlp5wTXNnlMr2kMRJo6IXTyybNHD23hanyk2b+tsasfyf+dfK3tUDx8ff3sIcsNRbeMNPsgo8cYPd60yUjzT5rOnun/tIZIo9PzdCegzzXSvH6oTYhceaT5L//hve/9lSXSfO+vPvjKzxJpAADAHe3ndBnsFRXVt3z58qOXLz/qizQqujx/+njCSKNeLieP6TfwqEloKtK0v5G9CDOmfnWrSPPJt7/oaJPN9pWZ3g63jDT/p03lmc72k5949q51n33X8SNN/2xF617tp0VK2hmix5j1TDz7jW998/fM7d/65u99/bd+49Z7CwAATpHKJyohmFvevWv14+sn2O6qb0UaW4/Ofd4TaZ49eqgyyWCV5kZVo9bbvtPqMO6Dx19rdqA/0uw9f/pYX/1MfYu+KHWLSJN8Vb+f4yZVmk8MjuOYG09+eYBOk9WrNB1HrtKM0M0z77oLaDw8XKS54a72vlVny/Crrt3Pf/j4b39p81N/8/y7+sa/ef7dX9r81D98/Ld32WEAAHB6mk55N9LoiaU9cWZfpTEqLddUafSXt6fVdINH/2S2G+i8bef//VCLKH2RpvMff+g8fPTo4aNHj+Tw+rNHD/vWsL5ppGnnmepm99L873FWsIizdR1uZV9xO3qk2ScWbbWKmrmlTZ4AHz6shwSuWcz5ZBZx3u12f/Enf/wrP/vlb33z97/34Qff+/CDb33z93/lZ7/8F3/yx3LNAAAAAN2zR+89f/lSjzQftYoPnTvp9YlnnX8aE2nUN5WRZr+4mWb/Pu14032HZifNN7G+beu16l9lpHn+9GtPn37NjDTNQm110enx0+evP3z2+OlTc1Rdd+NFnI0O9Q1WPPvHcdbwUZvS6w+fOY776NF72k+oVdw4ZqR59uihEUVkqbGOWJ1btfTmLufRGXenTbaI87VPG8N8n0kizbt37z7//PPv/93H3/rGk1/7yi/82ld+4VvfePL9v/v4888/v9PuAgCAU2ZOPKt1SjGdW52bv3bng3XWPdMmnrVufjbuyK+foE1a2y+j/ECb7uUYa0zr3b+et93vpP5a+eSHj56Zs8iaUlWrC9oUc+S61Xev0ugfS+M4zj7eqH+45nNp0nHuHmnmoH8/9z9d+VOUSVqfa6h+VLZFnFuHfqJIY5lOppjLk+v/+NBopvv/Z2se2vjjMy8j93O3232uoT4DAABMN1rLSz155OLOKsm0+/2q5zm8PnKXmhV23XSyoeJJ336q24RsS7TtQ506Ap37hcz9ue0izjckI80Pxjn1SHMDk/8gOm5+L81kVvVzBAAAWBZtGdsFOGqk+f44RBqFSHPvlrKfAAAAq3XUSPMP4xBpFCLNvVvKfgIAAKzWUSPNeEQaiUhz75aynwAAAKt1vEhzU0Sad0SaGVjKfgIAAKxWb6SZA+seL6WLOVWkuZeDfASr+jkCAADgcF5ZIw0AAAAALAKRBgAAAMCCEWkAAAAALNirV6+cI9ywAQAAAAAH4hx0TS0AAAAAOBwiDQAAAIAFI9IAAAAAWDAiDQAAAIAFI9IAAAAAWDAiDQAAAIAFI9IAAAAAWDAiDQAAAIAFI9IAAAAAWDAiDQAAAIAFI9IAAAAAWDAiDQAAAIAFI9IAAAAAWDAiDQAAAIAFI9IAAAAAWDAiDQAAAIAFe/XqlXMJAAAAAItFpAEAAACwYP8fDD1lGUVEsrEAAAAASUVORK5CYII=" alt="" width="846" height="421" />
添加用户界面如下图所示:
aaarticlea/png;base64,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" alt="" />
编辑用户界面如下图所示:
aaarticlea/png;base64,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" alt="" width="666" height="443" />
Web应用程序系统的多用户权限控制设计及实现-用户模块【7】的更多相关文章
- Web应用程序系统的多用户权限控制设计及实现-页面模块【9】
前五章均是从整体上讲述了Web应用程序的多用户权限控制实现流程,本章讲述Web权限管理系统的基本模块-页面模块.页面模块涉及到的数据表为页面表. 1.1页面域 为了更规范和方便后期系统的二次开发和维护 ...
- Web应用程序系统的多用户权限控制设计及实现-栏目模块【8】
前五章均是从整体上讲述了Web应用程序的多用户权限控制实现流程,本章讲述Web权限管理系统的基本模块-栏目模块.栏目模块涉及到的数据表为目录表. 1.1栏目域 为了更规范和方便后期系统的二次开发和维护 ...
- Web应用程序系统的多用户权限控制设计及实现-首页模块【5】
首页模块就是展示不同权限的最终结果了,在阅读这章之前若有些不明白,可看看后续的单独的权限模块,用户模块,目录模块后从整体上再看首页模块. 阅读该模块需要一定或者是比较熟练的js知识,EasyUI Ta ...
- Web应用程序系统的多用户权限控制设计及实现-登录模块【4】
通过前三个模块的介绍,把web权限系统开发所需要的基本类,Css文件,EasyUI框架等准备好后,就可以着手开始系统的编码了. 登陆模块是权限处理系统的关键,根据输入用户的的信息,可自动从数据库中加载 ...
- Web应用程序系统的多用户权限控制设计及实现-总结【11】
Web应用程序系统的多用户权限控制设计及实现通过10章内容讲述已经结尾了.写这些博客的目的很简单,方便自己以后参考,也留下自己编程岁月的一些痕迹.对于编程,对于工作,真是心甘情愿的就好. 由于这只是一 ...
- Web应用程序系统的多用户权限控制设计及实现-权限模块【10】
前五章均是从整体上讲述了Web应用程序的多用户权限控制实现流程,本章讲述Web权限管理系统的权限配置模块.页面模块涉及到的数据表为权限表.权限配置模块是按照用户组和页面,栏目结合组成的.通过配置一个用 ...
- Web应用程序系统的多用户权限控制设计及实现-总述【1】
中大型的Web系统开发均需要权限的配置,基于多角色,多用户的操作权限管理是一个系统开发的基础.搭建好一套权限,用户,角色,页面一体的开发架构,可以用于后期业务的开发,同时也可用于不同业务的系统开发. ...
- Web应用程序系统的多用户权限控制设计及实现-数据库设计【2】
搭建一个Web权限配置的系统,需要以下五张数据表:人员表,分组表,页面表,目录表,操作权限表.各张数据表中用到的id均为自增1的标识,每张数据表的定义如下: 1.1人员表(operatorinfo)
- Web应用程序系统的多用户权限控制设计及实现-项目架构【3】
本章主要讲述Web权限管理系统的项目架构,及开发中需要的基本类和相关的CSS,JS文件. 1.1系统结构 本系统搭建开发工具为Visual Studio 2012,采用ASP.NET MVC 4.0技 ...
随机推荐
- apache 500错误
一直以为开了error_log,没想没有加,于是折腾了好久. 开启error_log后,发现是xdebug的max_nesting_level值太小了. 还一个原因是.htaccess文件中的 < ...
- [linux]删除目录下的一类文件
find 目录 -name "*.类型" | xargs rm -f 通过find命令,查找指定目录下的某一类型的文件.并通过管道传递给xargs,执行后面的rm -f命令. 最终 ...
- mysql-5.6.14-winx64免安装配置
MySQL5.6.11安装步骤(Windows7 64位) 1. 下载MySQL Community Server 5.6.14 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录 ...
- IE11之F12 Developer Tools--DOM Explorer
使用DOM Explorer工具查看网页的DOM状态.检查HTML结构和CSS样式,并测试更改以解决显示问题.这可以在元素位置错误或行为异常时帮助你诊断问题,然后解决问题. DOM Explorer图 ...
- MarkDown学习记录
一.基本语法 1.标题 建议在#后面加一个空格 2.列表 注意:符号和文字之间加上一个字符的空格 3.引用 4.链接 5.图片 6.粗体与斜体 7.代码框 8.分隔符 二.参考文章 http://ww ...
- 运行QQ出现initialization failure 0x0000000c错误和浏览器上不了网
出现QQ出现initialization failure 0x0000000c错误和浏览器上不了网的问题,原因是关机的时候没有正常关闭导致的. 解决方法: 1.我们在开始菜单栏中的附件中找到“命令提示 ...
- ASP.NET AJAX Control Toolkit
https://ajaxcontroltoolkit.codeplex.com/ 警告 7 未能找到引用的组件“Antlr3.Runtime”. 警告 6 未能找到引用的组件“HtmlAgilityP ...
- 我见过的几门语言中的hello world
1.Java public class hello { public static void main(String[] args){ System.out.println("hello w ...
- linux压缩和解压命令总结
一.tar.gz tar -xzvf 二.tar.bz2 tar.bz2 解压命令 bzip2 -d gcc-4.1.0.tar.bz2---上面解压完之后执行下面的命令.执行成功后,会解压生成一个 ...
- ASP.NET WebAPI 09 Controller的激活
在Controller之前我们先回顾一下HttpMessageHandler通道. 在这个图中我留一个HttpContollerDispatcher没有说明.因为这个类也是继承自HttpMessage ...