This commit is contained in:
commit
0619d670fb
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,3 +0,0 @@
|
||||||
1.事故隐患界面增加无图片导出excel(支持一次性导出1000条)
|
|
||||||
2.增加应急预案
|
|
||||||
3.安全绩效下的个人安全绩效统计数字可点击链接查看
|
|
Binary file not shown.
Binary file not shown.
BIN
doc/惠东需求.xlsx
BIN
doc/惠东需求.xlsx
Binary file not shown.
132
doc/灰色预测模型.cs
132
doc/灰色预测模型.cs
|
@ -1,132 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace YOMIFrameWork.Common
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 灰色预测
|
|
||||||
/// </summary>
|
|
||||||
public class GrayModel
|
|
||||||
{
|
|
||||||
private static GrayModel _Instrance = null;
|
|
||||||
public static GrayModel Instrance
|
|
||||||
{
|
|
||||||
get { if (_Instrance == null) return new GrayModel(); else return _Instrance; }
|
|
||||||
}
|
|
||||||
public double GetNext(List<double> data)
|
|
||||||
{
|
|
||||||
//开始计算
|
|
||||||
//一次累加begin
|
|
||||||
int number = data.Count;
|
|
||||||
double[] aArray = new double[number];//原始数据
|
|
||||||
double[] bArray = new double[number];//一次累加的结果
|
|
||||||
for (int i = 0; i < number; i++)
|
|
||||||
{
|
|
||||||
aArray[i] = data[i];
|
|
||||||
}
|
|
||||||
bArray[0] = aArray[0];
|
|
||||||
for (int x = 1; x < number; x++)
|
|
||||||
{
|
|
||||||
bArray[x] = bArray[x - 1] + aArray[x];
|
|
||||||
}
|
|
||||||
//end
|
|
||||||
//计算均值系列begin
|
|
||||||
|
|
||||||
double[] cArray = new double[number]; //均值计算的结果
|
|
||||||
|
|
||||||
cArray[0] = 0.0;
|
|
||||||
|
|
||||||
for (int x = 1; x < number; x++)
|
|
||||||
{
|
|
||||||
|
|
||||||
cArray[x] = bArray[x - 1] / 2 + bArray[x] / 2;
|
|
||||||
}
|
|
||||||
//end
|
|
||||||
|
|
||||||
//计算C,D,E,F
|
|
||||||
//计算C
|
|
||||||
double[] dArray = new double[number];
|
|
||||||
dArray[1] = cArray[1];
|
|
||||||
for (int x = 1; x < number; x++)
|
|
||||||
{
|
|
||||||
|
|
||||||
dArray[x] = cArray[x] + dArray[x - 1];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
double C;
|
|
||||||
C = dArray[number - 1];
|
|
||||||
//end
|
|
||||||
|
|
||||||
//计算D
|
|
||||||
double[] fArray = new double[number];
|
|
||||||
fArray[1] = aArray[1];
|
|
||||||
|
|
||||||
for (int x = 1; x < number; x++)
|
|
||||||
{
|
|
||||||
|
|
||||||
fArray[x] = aArray[x] + fArray[x - 1];
|
|
||||||
|
|
||||||
}
|
|
||||||
double D;
|
|
||||||
D = fArray[number - 1];
|
|
||||||
//end
|
|
||||||
|
|
||||||
//计算E
|
|
||||||
double[] gArray = new double[number];
|
|
||||||
gArray[1] = aArray[1] * cArray[1];
|
|
||||||
for (int x = 1; x < number; x++)
|
|
||||||
{
|
|
||||||
|
|
||||||
gArray[x] = aArray[x] * cArray[x] + gArray[x - 1];
|
|
||||||
|
|
||||||
}
|
|
||||||
double E;
|
|
||||||
E = gArray[number - 1];
|
|
||||||
//end
|
|
||||||
|
|
||||||
//计算F
|
|
||||||
double[] hArray = new double[number];
|
|
||||||
hArray[1] = cArray[1] * cArray[1];
|
|
||||||
for (int x = 1; x < number; x++)
|
|
||||||
{
|
|
||||||
|
|
||||||
hArray[x] = cArray[x] * cArray[x] + hArray[x - 1];
|
|
||||||
|
|
||||||
}
|
|
||||||
double F;
|
|
||||||
F = hArray[number - 1];
|
|
||||||
//end
|
|
||||||
|
|
||||||
//计算a,b
|
|
||||||
//计算发展系数a begin
|
|
||||||
|
|
||||||
//textBox2.Text = "";
|
|
||||||
double a;
|
|
||||||
|
|
||||||
a = (C * D - (number - 1) * E) / ((number - 1) * F - C * C);
|
|
||||||
//textBox2.Text = a.ToString();
|
|
||||||
//end
|
|
||||||
|
|
||||||
//计算灰作用量b begin
|
|
||||||
//textBox3.Text = "";
|
|
||||||
double b;
|
|
||||||
b = (D * F - C * E) / ((number - 1) * F - C * C);
|
|
||||||
//textBox3.Text = b.ToString();
|
|
||||||
//end
|
|
||||||
|
|
||||||
//计算q
|
|
||||||
double q;
|
|
||||||
q = b / a;
|
|
||||||
//end
|
|
||||||
|
|
||||||
//istBox4.Items.Clear();
|
|
||||||
double ssn1 = (aArray[0] - q) * Math.Exp(-a * (number)) + q;
|
|
||||||
double ssn = (aArray[0] - q) * Math.Exp(-a * (number - 1)) + q;
|
|
||||||
|
|
||||||
return (ssn1 - ssn);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -65,6 +65,15 @@ def makeqr_safelist(data):
|
||||||
img.save(filepath)
|
img.save(filepath)
|
||||||
return filepath
|
return filepath
|
||||||
|
|
||||||
|
def makeqr_(data):
|
||||||
|
upload_folder = 'media/qr_other'
|
||||||
|
if not os.path.exists(upload_folder):
|
||||||
|
os.mkdir(upload_folder)
|
||||||
|
img = qrcode.make(data=data)
|
||||||
|
filepath = os.path.join(upload_folder, data.split('=')[1]+'.png').replace('\\','/')
|
||||||
|
img.save(filepath)
|
||||||
|
return filepath
|
||||||
|
|
||||||
def drquestions(companyid,path,userid):
|
def drquestions(companyid,path,userid):
|
||||||
wb = load_workbook(path)
|
wb = load_workbook(path)
|
||||||
sheet = wb.worksheets[0]
|
sheet = wb.worksheets[0]
|
||||||
|
|
|
@ -13,7 +13,7 @@ from django.db.models import F,Count,Sum
|
||||||
import requests
|
import requests
|
||||||
from ..tasks import send_wechatmsgs,send_wechatmsg,yjjs,gettime,yjjs_px,yjjs_yl,updateTzzs,updateAqzs
|
from ..tasks import send_wechatmsgs,send_wechatmsg,yjjs,gettime,yjjs_px,yjjs_yl,updateTzzs,updateAqzs
|
||||||
from ..export import exportdoc,exportxlsx,exportyjdoc,exportsimplexlsx,exportdoc2
|
from ..export import exportdoc,exportxlsx,exportyjdoc,exportsimplexlsx,exportdoc2
|
||||||
from ..daoru import drusers,drequipments,drrisks
|
from ..daoru import drusers,drequipments,drrisks, makeqr_
|
||||||
from django.forms.models import model_to_dict
|
from django.forms.models import model_to_dict
|
||||||
from ..safespider import getTzzs,getAqzs
|
from ..safespider import getTzzs,getAqzs
|
||||||
#from duibiao import calsim
|
#from duibiao import calsim
|
||||||
|
@ -71,7 +71,8 @@ def api(req):
|
||||||
obj.publisdate=data['publisdate']
|
obj.publisdate=data['publisdate']
|
||||||
obj.usecomp=Partment.objects.get(partid=companyid)
|
obj.usecomp=Partment.objects.get(partid=companyid)
|
||||||
obj.createuser=User.objects.get(userid=userid)
|
obj.createuser=User.objects.get(userid=userid)
|
||||||
|
obj.qrcode = makeqr_(
|
||||||
|
'https://safeyun.ctcshe.com/miniprogram/mgt?id='+str(obj.id))
|
||||||
obj.save()
|
obj.save()
|
||||||
return JsonResponse({"code":1})
|
return JsonResponse({"code":1})
|
||||||
|
|
||||||
|
|
|
@ -1306,6 +1306,7 @@ class Mgtsystem(models.Model):
|
||||||
publisdate = models.DateTimeField(default = timezone.now)
|
publisdate = models.DateTimeField(default = timezone.now)
|
||||||
createuser = models.ForeignKey(User,on_delete=models.CASCADE)
|
createuser = models.ForeignKey(User,on_delete=models.CASCADE)
|
||||||
deletemark = models.IntegerField(default=1)
|
deletemark = models.IntegerField(default=1)
|
||||||
|
qrcode = models.CharField(max_length=200, blank=True, null=True) # 管理制度二维码
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1322,7 +1323,8 @@ class Resbility(models.Model):
|
||||||
usecomp = models.ForeignKey(Partment,related_name='resbgs',on_delete=models.CASCADE,null=True,blank=True)#所属公司
|
usecomp = models.ForeignKey(Partment,related_name='resbgs',on_delete=models.CASCADE,null=True,blank=True)#所属公司
|
||||||
deletemark = models.IntegerField(default=1)#是否删除
|
deletemark = models.IntegerField(default=1)#是否删除
|
||||||
filepath=models.CharField(max_length=200,null=True,blank=True)
|
filepath=models.CharField(max_length=200,null=True,blank=True)
|
||||||
reads = models.IntegerField(default='0')
|
reads = models.IntegerField(default=0)
|
||||||
|
qrcode = models.CharField(max_length=200, blank=True, null=True) # 责任制度二维码
|
||||||
#操作规程
|
#操作规程
|
||||||
class Operproce(models.Model):
|
class Operproce(models.Model):
|
||||||
id = models.AutoField(primary_key=True)#主键
|
id = models.AutoField(primary_key=True)#主键
|
||||||
|
@ -1337,6 +1339,7 @@ class Operproce(models.Model):
|
||||||
deletemark = models.IntegerField(default=1)#是否删除
|
deletemark = models.IntegerField(default=1)#是否删除
|
||||||
filepath=models.CharField(max_length=200,null=True,blank=True)
|
filepath=models.CharField(max_length=200,null=True,blank=True)
|
||||||
reads = models.IntegerField(default='0')
|
reads = models.IntegerField(default='0')
|
||||||
|
qrcode = models.CharField(max_length=200, blank=True, null=True) # 操作规程二维码
|
||||||
#责任阅读表
|
#责任阅读表
|
||||||
class Readerblility(models.Model):
|
class Readerblility(models.Model):
|
||||||
readid = models.ForeignKey(Resbility, on_delete=models.CASCADE)#主键
|
readid = models.ForeignKey(Resbility, on_delete=models.CASCADE)#主键
|
||||||
|
|
|
@ -182,6 +182,7 @@ urlpatterns = [
|
||||||
path('gchandle',views.gchandle),
|
path('gchandle',views.gchandle),
|
||||||
path('menutree',views.menutree),
|
path('menutree',views.menutree),
|
||||||
path('setup',views.setup),
|
path('setup',views.setup),
|
||||||
|
path('api/login', views.apilogin),
|
||||||
path('api/company',views.apicompany),
|
path('api/company',views.apicompany),
|
||||||
path('drapi',views.drapi),
|
path('drapi',views.drapi),
|
||||||
path('api/miss',views.apimiss),
|
path('api/miss',views.apimiss),
|
||||||
|
|
|
@ -144,18 +144,22 @@ def check_session(req):
|
||||||
|
|
||||||
# 存储文件
|
# 存储文件
|
||||||
|
|
||||||
|
@apicheck_login
|
||||||
def upfile(req):
|
def upfile(req):
|
||||||
username = User.objects.get(userid=req.session['userid']).username
|
username = User.objects.get(userid=req.session['userid']).username
|
||||||
|
try:
|
||||||
|
upfile = req.FILES['upfile']
|
||||||
|
except KeyError:
|
||||||
|
return JsonResponse({"code": 0, "msg": "未获取到文件"})
|
||||||
file_name = (time.strftime('%Y%m%d%H%M%S') + '_' +
|
file_name = (time.strftime('%Y%m%d%H%M%S') + '_' +
|
||||||
req.FILES['upfile'].name).replace('#', '号')
|
upfile.name).replace('#', '号')
|
||||||
user_upload_folder = os.path.join('media', username)
|
user_upload_folder = os.path.join('media', username)
|
||||||
if not os.path.exists(user_upload_folder):
|
if not os.path.exists(user_upload_folder):
|
||||||
os.mkdir(user_upload_folder)
|
os.mkdir(user_upload_folder)
|
||||||
filepath = os.path.join(user_upload_folder, file_name)
|
filepath = os.path.join(user_upload_folder, file_name)
|
||||||
filepath = filepath.replace('\\', '/')
|
filepath = filepath.replace('\\', '/')
|
||||||
with open(filepath, 'wb') as f:
|
with open(filepath, 'wb') as f:
|
||||||
f.write(req.FILES['upfile'].read())
|
f.write(upfile.read())
|
||||||
return JsonResponse({"code": 1, "filename": file_name, "filepath": filepath})
|
return JsonResponse({"code": 1, "filename": file_name, "filepath": filepath})
|
||||||
|
|
||||||
# html页面
|
# html页面
|
||||||
|
@ -663,8 +667,27 @@ def init_permission(user,req):
|
||||||
})
|
})
|
||||||
req.session['permissions'] = permission_dict
|
req.session['permissions'] = permission_dict
|
||||||
|
|
||||||
|
def apilogin(req):
|
||||||
|
"""
|
||||||
|
json登录
|
||||||
|
"""
|
||||||
|
data = json.loads(req.body.decode('utf-8'))
|
||||||
|
username = data['username']
|
||||||
|
password = data['password']
|
||||||
|
user = User.objects.filter(username=username, deletemark=1, usecomp__enabled=True)
|
||||||
|
if user.exists():
|
||||||
|
if check_password(password, user[0].epassword):
|
||||||
|
req.session['userid'] = user[0].userid
|
||||||
|
req.session.set_expiry(60*40)
|
||||||
|
init_permission(user[0],req)
|
||||||
|
return JsonResponse({'code':1})
|
||||||
|
else:
|
||||||
|
msg = '密码错误'
|
||||||
|
return JsonResponse({'code':0, 'msg':msg})
|
||||||
|
else:
|
||||||
|
msg = '用户不存在或被禁用'
|
||||||
|
return JsonResponse({'code':0, 'msg':msg})
|
||||||
|
|
||||||
def login(req):
|
def login(req):
|
||||||
if req.session.get('userid', None):
|
if req.session.get('userid', None):
|
||||||
return redirect('index')
|
return redirect('index')
|
||||||
|
@ -1988,7 +2011,7 @@ def grouphandle(req):
|
||||||
else:
|
else:
|
||||||
return JsonResponse({"code": 0})
|
return JsonResponse({"code": 0})
|
||||||
|
|
||||||
|
@apicheck_login
|
||||||
def troublehandle(req):
|
def troublehandle(req):
|
||||||
a = req.GET.get('a')
|
a = req.GET.get('a')
|
||||||
if a == 'detail':
|
if a == 'detail':
|
||||||
|
@ -4448,9 +4471,9 @@ def apisafecert(req):
|
||||||
return HttpResponse(transjson(total, a), content_type="application/json")
|
return HttpResponse(transjson(total, a), content_type="application/json")
|
||||||
elif a == 'listself':
|
elif a == 'listself':
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
cardnum = Userprofile.objects.get(user__userid=userid).cardnum
|
# cardnum = Userprofile.objects.get(user__userid=userid).cardnum
|
||||||
a = Safecert.objects.filter(
|
a = Safecert.objects.filter(
|
||||||
cardnum=cardnum).order_by('id') # 无deletemark
|
user__userid=userid).order_by('id') # 无deletemark
|
||||||
total = a.count()
|
total = a.count()
|
||||||
if req.GET.get('sort'):
|
if req.GET.get('sort'):
|
||||||
a = a.order_by(req.GET.get('sort'))
|
a = a.order_by(req.GET.get('sort'))
|
||||||
|
@ -5488,6 +5511,7 @@ def apinotice(req):
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def apioperation(req):
|
def apioperation(req):
|
||||||
a = req.GET.get('a')
|
a = req.GET.get('a')
|
||||||
|
logger.info(req.get_full_path())
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
if a == 'add':
|
if a == 'add':
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
|
@ -7015,36 +7039,36 @@ def apiexamtestrate(req):
|
||||||
i['totaluser'] = usersattend.count()
|
i['totaluser'] = usersattend.count()
|
||||||
i['avgscore'] = round(i['avgscore'],1)
|
i['avgscore'] = round(i['avgscore'],1)
|
||||||
with open('ratedata.dat','wb') as f:
|
with open('ratedata.dat','wb') as f:
|
||||||
pickle.dump({'total':total,'rows':objslist,'rows2':orgsCallist,'updatetime':datetime.now().strftime('%Y-%m-%d %H:%M')},f)
|
pickle.dump({'total':total,'rows':objslist,'rows2':orgsCallist,'updatetime':'2020-03-01 10:00'},f)
|
||||||
from openpyxl import Workbook, load_workbook
|
# from openpyxl import Workbook, load_workbook
|
||||||
wb = load_workbook('e:/个人总排名.xlsx')
|
# wb = load_workbook('e:/个人总排名.xlsx')
|
||||||
sheet = wb.active
|
# sheet = wb.active
|
||||||
for i in objslist:
|
# for i in objslist:
|
||||||
num = str(objslist.index(i)+3)
|
# num = str(objslist.index(i)+3)
|
||||||
sheet['a'+num] = i['user__name']
|
# sheet['a'+num] = i['user__name']
|
||||||
sheet['b'+num] = i['user__ubelongpart__partname']
|
# sheet['b'+num] = i['user__ubelongpart__partname']
|
||||||
sheet['c'+num] = i['testnum']
|
# sheet['c'+num] = i['testnum']
|
||||||
sheet['d'+num] = i['totalscore']
|
# sheet['d'+num] = i['totalscore']
|
||||||
sheet['e'+num] = convertseconds(i['totaltook'])
|
# sheet['e'+num] = convertseconds(i['totaltook'])
|
||||||
nowtime = datetime.now().strftime('%Y%m%d')
|
# nowtime = datetime.now().strftime('%Y%m%d')
|
||||||
sheet['b1'] = nowtime
|
# sheet['b1'] = nowtime
|
||||||
filename = '个人总排名' + nowtime
|
# filename = '个人总排名' + nowtime
|
||||||
filepath = 'e:/' + filename +'.xlsx'
|
# filepath = 'e:/' + filename +'.xlsx'
|
||||||
wb.save(filepath)
|
# wb.save(filepath)
|
||||||
|
|
||||||
wb2 = load_workbook('e:/机构总排名.xlsx')
|
# wb2 = load_workbook('e:/机构总排名.xlsx')
|
||||||
sheet = wb2.active
|
# sheet = wb2.active
|
||||||
for i in orgsCallist:
|
# for i in orgsCallist:
|
||||||
num = str(orgsCallist.index(i)+3)
|
# num = str(orgsCallist.index(i)+3)
|
||||||
sheet['a'+num] = i['user__ubelongpart__partname']
|
# sheet['a'+num] = i['user__ubelongpart__partname']
|
||||||
sheet['b'+num] = i['totaluser']
|
# sheet['b'+num] = i['totaluser']
|
||||||
sheet['c'+num] = i['totaltest']
|
# sheet['c'+num] = i['totaltest']
|
||||||
sheet['d'+num] = i['avgscore']
|
# sheet['d'+num] = i['avgscore']
|
||||||
nowtime = datetime.now().strftime('%Y%m%d')
|
# nowtime = datetime.now().strftime('%Y%m%d')
|
||||||
sheet['b1'] = nowtime
|
# sheet['b1'] = nowtime
|
||||||
filename = '机构总排名' + nowtime
|
# filename = '机构总排名' + nowtime
|
||||||
filepath = 'e:/' + filename +'.xlsx'
|
# filepath = 'e:/' + filename +'.xlsx'
|
||||||
wb2.save(filepath)
|
# wb2.save(filepath)
|
||||||
|
|
||||||
return JsonResponse({"code": 1})
|
return JsonResponse({"code": 1})
|
||||||
|
|
||||||
|
@ -8599,6 +8623,7 @@ def equipmentfig(req):
|
||||||
|
|
||||||
|
|
||||||
#责任制
|
#责任制
|
||||||
|
@apicheck_login
|
||||||
def getresbilitydata(req):
|
def getresbilitydata(req):
|
||||||
a = req.GET.get('a')
|
a = req.GET.get('a')
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
|
@ -8695,6 +8720,7 @@ def getresbilitydata(req):
|
||||||
|
|
||||||
|
|
||||||
#操作规程
|
#操作规程
|
||||||
|
@apicheck_login
|
||||||
def getprodata(req):
|
def getprodata(req):
|
||||||
a = req.GET.get('a')
|
a = req.GET.get('a')
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
|
@ -8785,6 +8811,7 @@ def getprodata(req):
|
||||||
a = ReaderOperproce.objects.filter(readid=id).values('id','readeruser__name','readertime')
|
a = ReaderOperproce.objects.filter(readid=id).values('id','readeruser__name','readertime')
|
||||||
total = a.count()
|
total = a.count()
|
||||||
return HttpResponse(transjson(total,a),content_type="application/json")
|
return HttpResponse(transjson(total,a),content_type="application/json")
|
||||||
|
|
||||||
def checkprojects(req):
|
def checkprojects(req):
|
||||||
a = req.GET.get('a')
|
a = req.GET.get('a')
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIG+DCCBeCgAwIBAgIQORiViTRLGZHnMRemVq6ndTANBgkqhkiG9w0BAQsFADBE
|
||||||
|
MQswCQYDVQQGEwJDTjEaMBgGA1UECgwRV29TaWduIENBIExpbWl0ZWQxGTAXBgNV
|
||||||
|
BAMMEFdvU2lnbiBEViBTU0wgQ0EwHhcNMTgwNTA3MDQwMTEyWhcNMTkwNTA3MDQw
|
||||||
|
MTEyWjAiMQswCQYDVQQGEwJDTjETMBEGA1UEAwwKY3Rjc2hlLmNvbTCCASIwDQYJ
|
||||||
|
KoZIhvcNAQEBBQADggEPADCCAQoCggEBALYdcmn2kUtF9itKvgMiNYVHgXpjCZLG
|
||||||
|
/hpn+VB00wlvr9fpr2t9qKQ9gnHmjaDCheCT6w8D9uDRLn/LigkVUfVhLr9fy2E+
|
||||||
|
rPswcPfHizMIQI0BYs7OZCfrH5EGuejvc15CM48uLkH+qFheI9ZfCsKICBQ/BXxP
|
||||||
|
WLH9ZLTPcy7OVDokZsUWNzUAU331UcdgiFXo9G+gKUfIlqbsUJLBeypD0czcdsJO
|
||||||
|
bjXe3QeQmmnIUUVH9vvTuWf3HbJAbP4TAYyPMzSBuBt8aSVyzEfYeCfCxyZqRcyA
|
||||||
|
BwnCNRnjPA5xOMHZT0C4QjnhjFVj0H0t5L+Au3ds11KAiO+/BEdcHu8CAwEAAaOC
|
||||||
|
BAYwggQCMAwGA1UdEwEB/wQCMAAwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL3dv
|
||||||
|
c2lnbi5jcmwuY2VydHVtLnBsL3dvc2lnbi1kdmNhLmNybDB3BggrBgEFBQcBAQRr
|
||||||
|
MGkwLgYIKwYBBQUHMAGGImh0dHA6Ly93b3NpZ24tZHZjYS5vY3NwLWNlcnR1bS5j
|
||||||
|
b20wNwYIKwYBBQUHMAKGK2h0dHA6Ly9yZXBvc2l0b3J5LmNlcnR1bS5wbC93b3Np
|
||||||
|
Z24tZHZjYS5jZXIwHwYDVR0jBBgwFoAUypuNLkRQQorZAmUyGp6A84gEKrUwHQYD
|
||||||
|
VR0OBBYEFN7UfqVFqxsyV7XFrztS/ByLfYtQMA4GA1UdDwEB/wQEAwIFoDCCASAG
|
||||||
|
A1UdIASCARcwggETMAgGBmeBDAECATCCAQUGDCqEaAGG9ncCBQEPAzCB9DCB8QYI
|
||||||
|
KwYBBQUHAgIwgeQwHxYYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMAMCAQEagcBV
|
||||||
|
c2FnZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN0cmljdGx5IHN1YmplY3RlZCB0
|
||||||
|
byB0aGUgQ0VSVFVNIENlcnRpZmljYXRpb24gUHJhY3RpY2UgU3RhdGVtZW50IChD
|
||||||
|
UFMpIGluY29ycG9yYXRlZCBieSByZWZlcmVuY2UgaGVyZWluIGFuZCBpbiB0aGUg
|
||||||
|
cmVwb3NpdG9yeSBhdCBodHRwczovL3d3dy5jZXJ0dW0ucGwvcmVwb3NpdG9yeS4w
|
||||||
|
HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCUGA1UdEQQeMByCCmN0Y3No
|
||||||
|
ZS5jb22CDnd3dy5jdGNzaGUuY29tMIIBfwYKKwYBBAHWeQIEAgSCAW8EggFrAWkA
|
||||||
|
dgCkuQmQtBhYFIe7E6LMZ3AKPDWYBPkb37jjd80OyA3cEAAAAWM4vmW0AAAEAwBH
|
||||||
|
MEUCIGwokcf31c7dBmdrXqzfKYMhRh3YipleM4upC5qA5v+iAiEAtFFDw0rpRELA
|
||||||
|
DUld8W7tEiowQxBkdrgvAH8C+baQxIIAdgDuS723dc5guuFCaR+r4Z5mow9+X7By
|
||||||
|
2IMAxHuJeqj9ywAAAWM4vmNKAAAEAwBHMEUCIQCT4RodP2ykt9JWc1zaXb/0WVHV
|
||||||
|
Clsam2EGuJ5y1yPd/wIgB1m9csxrjQCNMtWgicuZDsiOgcdoF0n5bVEGNEkFsn8A
|
||||||
|
dwDd6x0reg1PpiCLga2BaHB+Lo6dAdVciI09EcTNtuy+zAAAAWM4vmSiAAAEAwBI
|
||||||
|
MEYCIQDLS+g4ybNBMhfgbQu3dhHbiNa9MvWGtsCjHV1wJtrpxgIhAJKn5HNLuahO
|
||||||
|
dkn44CP4t821ISPX/5ia5H+sCgkQJcasMA0GCSqGSIb3DQEBCwUAA4IBAQAszqhe
|
||||||
|
hbnFECcgGLUUOYmq7HBcH/c4DBrxDrcJ/E4xeV2Mg+T+Cq4Ada+yV7OxPE9mOZlQ
|
||||||
|
6oM77UeHTMUVe8NsoCdvYUki6WlRPg343VRwrB4r5KwAinA3aLRxOzBXEM7hCPdH
|
||||||
|
vhjb3ET536Ma3WupBiqvUGZwFD2YGht42WPukyf/+UXbpwFTvREaqTqEBDCDIxB5
|
||||||
|
CwyTQuE2UbTczOLHCUaA/5MvPHcxOd1DH8fqOMX1OZyS9W6TiZBGPNG8pSnOKFQV
|
||||||
|
sKSKl35c6jqV/ohZrWjxRzuxE1Rlcbl1EHX2tZhp2SX5c7CNIXtpug5uvqBnJMx4
|
||||||
|
ctTr8V70liDiSHjt
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,19 @@
|
||||||
|
-----BEGIN CERTIFICATE REQUEST-----
|
||||||
|
MIIC/zCCAecCAQAwgagxEzARBgNVBAMMCmN0Y3NoZS5jb20xOTA3BgNVBAoMMOS4
|
||||||
|
reWbveW7uuadkOajgOmqjOiupOivgembhuWbouiCoeS7veaciemZkOWFrOWPuDEn
|
||||||
|
MCUGA1UECwwe5a6J5YWo5LiO546v5L+d56eR5a2m56CU56m26ZmiMQswCQYDVQQG
|
||||||
|
EwJDTjEPMA0GA1UECAwG5YyX5LqsMQ8wDQYDVQQHDAbljJfkuqwwggEiMA0GCSqG
|
||||||
|
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2HXJp9pFLRfYrSr4DIjWFR4F6YwmSxv4a
|
||||||
|
Z/lQdNMJb6/X6a9rfaikPYJx5o2gwoXgk+sPA/bg0S5/y4oJFVH1YS6/X8thPqz7
|
||||||
|
MHD3x4szCECNAWLOzmQn6x+RBrno73NeQjOPLi5B/qhYXiPWXwrCiAgUPwV8T1ix
|
||||||
|
/WS0z3MuzlQ6JGbFFjc1AFN99VHHYIhV6PRvoClHyJam7FCSwXsqQ9HM3HbCTm41
|
||||||
|
3t0HkJppyFFFR/b707ln9x2yQGz+EwGMjzM0gbgbfGklcsxH2HgnwscmakXMgAcJ
|
||||||
|
wjUZ4zwOcTjB2U9AuEI54YxVY9B9LeS/gLt3bNdSgIjvvwRHXB7vAgMBAAGgETAP
|
||||||
|
BgkqhkiG9w0BCQ4xAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQCDUa2ZGCZDcE2oYsXp
|
||||||
|
pddM9R4fasFBesZRJdKyXe6oo6zM6vbUAzMNkTillTQaCMQmrv8Eu//8A5MjvdsZ
|
||||||
|
r4ldZrX7UAX/4LE7pDcK7iBDlMIB0FyiNxDDAgFJ9I+wReXM2fSmlYuuhgIFcNaI
|
||||||
|
G3WMjoF5KLvCQOFZavi+9P8q/weQM0lChSVvzPo5Zqh8wv66sWmRXKmnlN8PAkJV
|
||||||
|
L0oku0c5xyFli827rGqcBvt/aUebcRvdjxGr2tylRH8c7uY0nQ07mzbe8cmMbVEE
|
||||||
|
o6Rf5abr5SU55gZfACNJzJ3tGnrMESH3pSBLKDbmDHIA33c6exI9FOTIJB2lw33u
|
||||||
|
LqXH
|
||||||
|
-----END CERTIFICATE REQUEST-----
|
|
@ -0,0 +1,27 @@
|
||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIIEowIBAAKCAQEAth1yafaRS0X2K0q+AyI1hUeBemMJksb+Gmf5UHTTCW+v1+mv
|
||||||
|
a32opD2CceaNoMKF4JPrDwP24NEuf8uKCRVR9WEuv1/LYT6s+zBw98eLMwhAjQFi
|
||||||
|
zs5kJ+sfkQa56O9zXkIzjy4uQf6oWF4j1l8KwogIFD8FfE9Ysf1ktM9zLs5UOiRm
|
||||||
|
xRY3NQBTffVRx2CIVej0b6ApR8iWpuxQksF7KkPRzNx2wk5uNd7dB5CaachRRUf2
|
||||||
|
+9O5Z/cdskBs/hMBjI8zNIG4G3xpJXLMR9h4J8LHJmpFzIAHCcI1GeM8DnE4wdlP
|
||||||
|
QLhCOeGMVWPQfS3kv4C7d2zXUoCI778ER1we7wIDAQABAoIBACYonWSeiWsgSahg
|
||||||
|
jNfTPyuiA/tE7SiYEX4u8wpssBt2D35KNLttJPzk9oQvLtXUbIDV/Zaz2fLZYcjd
|
||||||
|
ORsWIIotxsHKrK6/lzc6uzDv2rbir8Pb2nxCurGyjnaw1ht8sMu7S1pg7shdN6Ds
|
||||||
|
eM3eND72idrUKa4WYhtJYOSR4yyXLD+Lpf+KVIgFR4Qz1b46SEb5GKd5YPVIywrm
|
||||||
|
Xq3Su3bvWLrhh+zjL4x01P/onoPgAZnS/m44bHkL/K5X1MiyY/42RpOp8u04MsWZ
|
||||||
|
Oc38yq3MaKj7cBTGKAvTjofNAoEnBfn/uH+KIMkkBFZWRv2slr9ps4i5OGGbL7AQ
|
||||||
|
9gepMGECgYEA6gWmiTF/71GWq025nliRsTrxZbXD0/teaCN1UPWBxMI3IHO8Ek5Z
|
||||||
|
ZaZKvOR5ws8LFUKaxkgOcIzLJyaPIGvcNx3DussbIYwOyKTJxgK0RovIl9wBii+C
|
||||||
|
hLjUIPRB1OeASkmDTTTTIuKhpjYfLRL3a0JkW89N0YB1233mIPCOA/sCgYEAxzfZ
|
||||||
|
aL1qNVnfChJXs/2vLPyqdW+gEoIluFNEHLFuXpsnBbhiohPaQSqab9bGCY6vtazV
|
||||||
|
wHODKkE//YMIad4RRN22k3HRP//liUcXjILpa4CNalMOtOXg29aRRO2P6RaB1oOQ
|
||||||
|
f8kuHugzC5ZO53+fUAcOvzXwno/6/l4S8HOtqp0CgYEAzPzSGY5wX/L5pWfZ1agD
|
||||||
|
Rlk5JjyHImInGdUlaBsE5pKwsw5tiSN0DyQQh1Eijs/JB4BmDpUDgPby5IJUELQq
|
||||||
|
G2VJE4/hXgtOz9X4oCeyPbEnrk2aU662BwfXWF5cY9+8clXeW3yQDRizO+JggJ0C
|
||||||
|
eMOZIQp/Qanikra/I89Sto0CgYAvY+O9/MEVK+nY1YAzevd+9iP+h61GedtLO9OK
|
||||||
|
F9Mvgi0IOVKNR7e1pNLUI/08LMszpoe6nj/nf1ofjlokBQWKoktaS8sBNHh/7X92
|
||||||
|
l3W7cvsw/c0Tz1NsOGCaSwDe69G7G9T18P+drpLmAL2IaF2XhfZGGijBL3L/q5VJ
|
||||||
|
ydrYKQKBgHdoVpHWdhKlZEyaHU3H6wdWiXpKjGSP985bUX2pNwtCtym/8vd1YAnA
|
||||||
|
/hKge5uJP+vUQN2/R9VfyvSzaVDG0077tZK6Skuae8w8IH9ZvkhG9EAIvafxSjQp
|
||||||
|
scD55oIv5oeojIiZRI0pru27uJJ1D1KTlpbt3eivLOU4h0Q8IptS
|
||||||
|
-----END RSA PRIVATE KEY-----
|
|
@ -0,0 +1,56 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIEtTCCA52gAwIBAgIRAOIaIRqokeLTVFn/020nxCYwDQYJKoZIhvcNAQELBQAw
|
||||||
|
fjELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu
|
||||||
|
QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEiMCAG
|
||||||
|
A1UEAxMZQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQTAeFw0xNzA1MTgwNzQ2MTRa
|
||||||
|
Fw0yNzA1MTgwNzQ2MTRaMEQxCzAJBgNVBAYTAkNOMRowGAYDVQQKDBFXb1NpZ24g
|
||||||
|
Q0EgTGltaXRlZDEZMBcGA1UEAwwQV29TaWduIERWIFNTTCBDQTCCASIwDQYJKoZI
|
||||||
|
hvcNAQEBBQADggEPADCCAQoCggEBAMhQeIUezKdIBlpnoWm0+HG5nu8859lksQEG
|
||||||
|
OIeNiayAqhlxG5b4+wVEJ8DmCP77qDOoKVjW5owTIvZHc4F2MEqTOt6/XL3+P6an
|
||||||
|
bKdPN5/nhKghN+45ywgFYn1AcI5kYdPFQmNfNYGC3jaHISHttC2xz8NQHyHRI3sy
|
||||||
|
g3hkPdyNeLC+4rTOLs5SYZT+vHr3biOipBO5n68A0Ho86RQ6d0RmBRArAJskD+U/
|
||||||
|
Qco3F2pl7T0CDOuCXZ/ld3Ga7Bvb1G/lAbM/cEr6endnaLaHmI+6gYWRZVqOELVi
|
||||||
|
T9dkYnpspHxtcgsVUl1lFf3GSfWAX/Jvnd3IstCa9E3dmAWm8IUCAwEAAaOCAWYw
|
||||||
|
ggFiMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFMqbjS5EUEKK2QJlMhqe
|
||||||
|
gPOIBCq1MB8GA1UdIwQYMBaAFAh2zcsH/yT2xc3tu5C84oQ3RnX3MA4GA1UdDwEB
|
||||||
|
/wQEAwIBBjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0fBC4w
|
||||||
|
LDAqoCigJoYkaHR0cDovL3N1YmNhLmNybC5jZXJ0dW0ucGwvY3RuY2EuY3JsMGsG
|
||||||
|
CCsGAQUFBwEBBF8wXTAoBggrBgEFBQcwAYYcaHR0cDovL3N1YmNhLm9jc3AtY2Vy
|
||||||
|
dHVtLmNvbTAxBggrBgEFBQcwAoYlaHR0cDovL3JlcG9zaXRvcnkuY2VydHVtLnBs
|
||||||
|
L2N0bmNhLmNlcjA5BgNVHSAEMjAwMC4GBFUdIAAwJjAkBggrBgEFBQcCARYYaHR0
|
||||||
|
cDovL3d3dy5jZXJ0dW0ucGwvQ1BTMA0GCSqGSIb3DQEBCwUAA4IBAQAAn17fM+SE
|
||||||
|
dRJdtuP6BtLY4kfJu/xPVpFlTpl1Wq2GlzSOBWEIvqsrvSz141D5mmPZ1hqMIdbn
|
||||||
|
4uq0sC48tAD3Mi18RLbfitm3o0tjYxsbI27tltVMbvyld/k3JOyj0wVljju9fDHc
|
||||||
|
yIK6akmE/C6UDLtqvRAx0m7xc5z+YIJRabXi33x4AmV7HTyVs6Lm6AGb+KqaJzDd
|
||||||
|
X9Qqj24EuP/noicvKYP9g9Uf6aGPB5TWliIoEpJWz6qD/PophMB4nuj3ccO0LMJ+
|
||||||
|
k5QFRWs2hZmev1M8hpqBoMwpoG/jy5AOwntqRqRsSkbR+6tZ3aCWKU1hNnkZcfHJ
|
||||||
|
11ozB0OSfC7K
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIEtDCCA5ygAwIBAgIRAJOShUABZXFflH8oj+/JmygwDQYJKoZIhvcNAQELBQAw
|
||||||
|
PjELMAkGA1UEBhMCUEwxGzAZBgNVBAoTElVuaXpldG8gU3AuIHogby5vLjESMBAG
|
||||||
|
A1UEAxMJQ2VydHVtIENBMB4XDTA4MTAyMjEyMDczN1oXDTI3MDYxMDEwNDYzOVow
|
||||||
|
fjELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu
|
||||||
|
QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEiMCAG
|
||||||
|
A1UEAxMZQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQTCCASIwDQYJKoZIhvcNAQEB
|
||||||
|
BQADggEPADCCAQoCggEBAOP7faNyusLwyRSH9WsBTuFuQAe6bSddf/dbLbNax1Ff
|
||||||
|
q6QypmGHtm4PhtIwApf412lXoRg5XWpkecYBWaw8MUo4fNIE0kso6CBfOweizE1z
|
||||||
|
2/OuT8dW1Vqnlon686to1COGWSfPCSe8rG5ygxwwct/gounS4XR1Gb0qnnsVVAQb
|
||||||
|
10M5rVUoxeIau/TA5K44STPMdoWfOUXSpJ7yEoxR+HzkLX/1rF/rFp+xLdG6zJFC
|
||||||
|
d0wlyZA4b9vwzPuOHpdZPtVgTuYFKO1JeRNLukjbL/ly0znK/h/YNHL1tEDPMQHD
|
||||||
|
7N4RLRddH7hQ0V4Zp2neBzMoylCV+adUy1SGUEWp+UkCAwEAAaOCAWswggFnMA8G
|
||||||
|
A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAh2zcsH/yT2xc3tu5C84oQ3RnX3MFIG
|
||||||
|
A1UdIwRLMEmhQqRAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNw
|
||||||
|
LiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQYIDAQAgMA4GA1UdDwEB/wQEAwIB
|
||||||
|
BjAsBgNVHR8EJTAjMCGgH6AdhhtodHRwOi8vY3JsLmNlcnR1bS5wbC9jYS5jcmww
|
||||||
|
aAYIKwYBBQUHAQEEXDBaMCgGCCsGAQUFBzABhhxodHRwOi8vc3ViY2Eub2NzcC1j
|
||||||
|
ZXJ0dW0uY29tMC4GCCsGAQUFBzAChiJodHRwOi8vcmVwb3NpdG9yeS5jZXJ0dW0u
|
||||||
|
cGwvY2EuY2VyMDkGA1UdIAQyMDAwLgYEVR0gADAmMCQGCCsGAQUFBwIBFhhodHRw
|
||||||
|
Oi8vd3d3LmNlcnR1bS5wbC9DUFMwDQYJKoZIhvcNAQELBQADggEBAI3m/UBmo0yc
|
||||||
|
p6uh2oTdHDAH5tvHLeyDoVbkHTwmoaUJK+h9Yr6ydZTdCPJ/KEHkgGcCToqPwzXQ
|
||||||
|
1aknKOrS9KsGhkOujOP5iH3g271CgYACEnWy6BdxqyGVMUZCDYgQOdNv7C9C6kBT
|
||||||
|
Yr/rynieq6LVLgXqM6vp1peUQl4E7Sztapx6lX0FKgV/CF1mrWHUdqx1lpdzY70a
|
||||||
|
QVkppV4ig8OLWfqaova9ML9yHRyZhpzyhTwd9yaWLy75ArG1qVDoOPqbCl60BMDO
|
||||||
|
TjksygtbYvBNWFA0meaaLNKQ1wmB1sCqXs7+0vehukvZ1oaOGR+mBkdCcuBWCgAc
|
||||||
|
eLmNzJkEN0k=
|
||||||
|
-----END CERTIFICATE-----
|
Loading…
Reference in New Issue