$include("PPPlayer.js");

function Main()
{
	this.OnIdle = function(){};
	this.PreTranslateMessage = function(msg){};
}

var 	m = new Main;
var SkinForm1, SkinForm2, ppframe, channel, webchannel, pop_web, pop_skin, MainForm,Proxy,pop_vip, channelFactory;
var cmdlineHandleCookie = 0;


function cmdlineHandler(aCmdLine)
{
	var url = aCmdLine.handleFlagWithParam("download");
	if (url.length > 0)
	{
		var cd = Components.GetObject("@pplive.com/chDownloadMgr;1");
		cd.AddHjPlayLinks(url);
	}
}

function VideoScan()
{
	this.aspectRatioWidth  = 0;
	this.aspectRatioHeight = 0;
	this.defaultSize = 5; // Half 0x0001 Normal 0x0002 Double 0x0003 Stretch 0x0004 Fit 0x0005
	this.beforeFullScreen = 5;
	this.zoomWidth = 1.0;
	this.zoomHeight = 1.0;
	this.positionX = 0.5;
	this.positionY = 0.5;
	this.preventUpdate = false;
}

VideoScan.prototype.update = function()
{
	if (this.preventUpdate)
	{
		return;
	}
	var MainFrame = Components.GetObject2("mframe");
	if(MainFrame)
	{
		MainFrame.UpdateDisplayRate();
	}
	var ppp = Components.GetObject2("PPP");
	if(ppp)
	{
		ppp.Oplayer.videoZoomPostion(this.aspectRatioWidth, this.aspectRatioHeight, this.defaultSize,
			this.zoomWidth, this.zoomHeight, this.positionX, this.positionY);
	}
}

VideoScan.prototype.SetAspectRatio = function(width, height)
{
	if(this.defaultSize==4)
	{
		this.defaultSize=5;
	}
	this.aspectRatioWidth  = width;
	this.aspectRatioHeight = height;
	this.update();
	var uiMainWindow = Components.GetObject2("@pplive.com/ui/mainwindow;1");
	if(uiMainWindow)uiMainWindow.ShowResizeTip(0.0);
}
VideoScan.prototype.zoom = function(size)
{
	if(this.defaultSize==4)
	{
		this.aspectRatioWidth=0;
		this.aspectRatioHeight=0;
	}
	this.defaultSize = size; // Half 0x0001 Normal 0x0002 Double 0x0003 Stretch 0x0004 Fit 0x0005 1.5倍 0x0007
	this.zoomWidth = 1.0;
	this.zoomHeight = 1.0;
	this.positionX = 0.5;
	this.positionY = 0.5;
	this.update();
	if(size==4)
	{
		var uiMainWindow = Components.GetObject2("@pplive.com/ui/mainwindow;1");
		if(uiMainWindow)uiMainWindow.ShowResizeTip(0.0);
	}
}
VideoScan.prototype.zoomPostion = function(x, y, dx, dy)
{
	if(x > 0 && this.zoomWidth  < 3.0)    this.zoomWidth *= 1.02;
	if(x < 0 && this.zoomWidth  > 0.2)    this.zoomWidth /= 1.02;
	if(y > 0 && this.zoomHeight < 3.0)    this.zoomHeight *= 1.02;
	if(y < 0 && this.zoomHeight > 0.2)    this.zoomHeight /= 1.02;

	if(dx < 0 && this.positionX > 0) this.positionX = Math.max(this.positionX - 0.005*this.zoomWidth, 0);
	if(dx > 0 && this.positionX < 1) this.positionX = Math.min(this.positionX + 0.005*this.zoomWidth, 1);
	if(dy < 0 && this.positionY > 0) this.positionY = Math.max(this.positionY - 0.005*this.zoomHeight, 0);
	if(dy > 0 && this.positionY < 1) this.positionY = Math.min(this.positionY + 0.005*this.zoomHeight, 1);
	this.update();
	var mframe = Components.GetObject2("mframe");
	if(mframe) mframe.TipControl.ShowTipText("按小键盘5还原图像",0xcccccc,3);
}
VideoScan.prototype.reset = function()
{
	this.defaultSize = 5;
	this.zoomWidth = 1.0;
	this.zoomHeight = 1.0;
	this.positionX = 0.5;
	this.positionY = 0.5;
	this.update();
}
VideoScan.prototype.reset2 = function()
{
	//this.defaultSize = 5;
	this.zoomWidth = 1.0;
	this.zoomHeight = 1.0;
	this.positionX = 0.5;
	this.positionY = 0.5;
	this.update();
}
VideoScan.prototype.resetOnFullScreen = function(fullScreen)
{
	var ds = this.defaultSize!=4 ? 5 : this.defaultSize; 
	if (!fullScreen)
	{
		ds = this.beforeFullScreen;
	}
	else
	{
		this.beforeFullScreen = this.defaultSize;
	}
	this.defaultSize = ds;
	this.zoomWidth = 1.0;
	this.zoomHeight = 1.0;
	this.positionX = 0.5;
	this.positionY = 0.5;
	this.update();
}

function MainShutdown()
{
	//删除托盘
	var TrayIcon = Components.GetObject2("SkinForm1");
	if (TrayIcon)
	{
		TrayIcon.DeleteIcon();
		Components.UnregisterObject("SkinForm1");
	}
	//关闭ppplayer
	var ppplayer = Components.GetObject2("PPPlayer");
	if(ppplayer)
	{
		Components.UnregisterObject("PPPlayer");
	}
	//关闭videoscan
	var videoscan = Components.GetObject2("VideoScan");
	if(videoscan)
	{
		Components.UnregisterObject("VideoScan");
	}
	//BalloonTip反注册
	var BalloonTip = Components.GetObject2("BalloonTip");
	if(BalloonTip)
	{
		Components.UnregisterObject("BalloonTip");
	}
	
	//关闭图文push气泡
	try
	{
		var pushpop = Components.GetObject2("@pplive.com/pushpop;1");
		if (pushpop)
		{
			pushpop.ShowPushPOP(0);
	    pushpop.close();
	    Components.UnregisterObject("@pplive.com/pushpop;1");
	   }
	}
	catch (e)
  {
  }
  
	try
	{
		//关闭视频push气泡
		var pushpop2 = Components.GetObject2("@pplive.com/pushpop2;1");
		if (pushpop2)
		{
		   pushpop2.ShowPushPOP(0);
		   pushpop2.close();
		   Components.UnregisterObject("@pplive.com/pushpop2;1");	
	   }
	}
	catch (e)
  {
  }


	try
	{
		//关闭vip气泡
		var pop_skin3 = Components.GetObject2("POP_VIP");
		if(pop_skin3)
		{
			pop_skin3.Show(0);
			Components.UnregisterObject("POP_VIP");
		}
  }
  catch (e)
  {
	}
	
	try
	{
		//反注册故障检测
		var Troubleshooter = Components.GetObject2("@pplive.com/Troubleshooter;1");
		if(Troubleshooter)	
		{
			Components.UnregisterObject("@pplive.com/Troubleshooter;1");
		}
  }
  catch (e)
  {
	}
	
	
	try
	{
		//关闭故障检测窗口
		var TroubleWindow = Components.GetObject2("@pplive.com/TroubleWindow;1");
		if(TroubleWindow)
		{
			TroubleWindow.close();
			Components.UnregisterObject("@pplive.com/TroubleWindow;1");
		}
  }
  catch (e)
  {
	}

		try
	{
		//关闭所有合集下载框
		var downloadMgr = Components.GetObject("@pplive.com/chDownloadMgr;1");
		if (downloadMgr)
		{
			downloadMgr.CloseAllCollectionWindow(true);
		}
  }
  catch (e)
  {
	}
	

	var watched = Components.GetObject2("@pplive.com/PPChLocalManager;1");
	if (watched)
	{
		watched.unload();
	}
	var passport = Components.GetObject2("@pplive.com/passport;1");
	if (passport)
	{
		passport.Logout();
	}
  Proxy.Stop();
  
  try
	{
		  if (channelFactory)
		{
			channelFactory.Exit();
		}
  }
  catch (e)
  {
	}

	
	var PPLState = Components.GetObject2("@pplive.com/PPLStat;1");
	if(PPLState)
	{
		PPLState.PPLPostAdcDataToServer();
	}

	if (cmdlineHandleCookie)
	{
		var cmdlinemgr = Components.GetObject("@pplive.com/command-line;1");
		cmdlinemgr.RemoveHandler(cmdlineHandleCookie);
		cmdlineHandleCookie = 0;

	}

	Components.UnRegisterObject("globalWindow");
}

function MainStartup()
{
//	msgManager.AddMsgFilter(m);
//	msgManager.AddIdleHandler(m);

	globalWindow = new Object;
	if (globalWindow)
	{
		globalWindow.strMessage = "";
		globalWindow.strAction = "";
		globalWindow.locationURL = "";
		globalWindow.taskbarTitle = "PPTV";
		globalWindow.windowTitle = "";
		globalWindow.AutologinFail = false; 
		globalWindow.TopMost = 0;		//0 不置顶，1 置顶，2 播放时置顶
		Components.RegisterObject("globalWindow", globalWindow);
	}

	PplStat=Components.GetObject("@pplive.com/PPLStat;1");
	PplStat.PPLiveStartUpTime();

	channelFactory=Components.GetObject("@pplive.com/ChannelManagerFactory;1");

	Proxy=Components.GetObject("@pplive.com/HttpProxy;1");
	Proxy.Start();

//-------build schedule & message popup window-----------------------------
/* z
	pop_skin3=Components.CreateObject("@pplive.com/PPIconTray;1");
	pop_skin3.CreatePopWindow(5);
	Components.RegisterObject("POP_VIP", pop_skin3);
	pop_skin3.ForceTop = true;
z */
//-------------------------------------------------------------------------
// 命令行处理
	var cmdlinemgr = Components.GetObject("@pplive.com/command-line;1");
	cmdlineHandleCookie = cmdlinemgr.AddHandlerEx("b-download", cmdlineHandler);

//-------------------------------------------------------------------------
//VideoScan
	var videoscan = new VideoScan;
	Components.RegisterObject("VideoScan", videoscan);

//-------------------------------------------------------------------------
//PPPlayer
	var ppplayer = new PPPlayer;
	Components.RegisterObject("PPPlayer", ppplayer);

}

// SIG // Begin signature block
// SIG // MIIVVgYJKoZIhvcNAQcCoIIVRzCCFUMCAQExCzAJBgUr
// SIG // DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
// SIG // gjcCAR4wJAIBAQQQEODJBs441BGiowAQS9NQkAIBAAIB
// SIG // AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFIRU2UckKC5d
// SIG // l3xvuZise3BfFeJcoIIRWzCCA3owggJioAMCAQICEDgl
// SIG // 1/r4Ya+e9JDnJrXWWtUwDQYJKoZIhvcNAQEFBQAwUzEL
// SIG // MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJ
// SIG // bmMuMSswKQYDVQQDEyJWZXJpU2lnbiBUaW1lIFN0YW1w
// SIG // aW5nIFNlcnZpY2VzIENBMB4XDTA3MDYxNTAwMDAwMFoX
// SIG // DTEyMDYxNDIzNTk1OVowXDELMAkGA1UEBhMCVVMxFzAV
// SIG // BgNVBAoTDlZlcmlTaWduLCBJbmMuMTQwMgYDVQQDEytW
// SIG // ZXJpU2lnbiBUaW1lIFN0YW1waW5nIFNlcnZpY2VzIFNp
// SIG // Z25lciAtIEcyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
// SIG // iQKBgQDEtfJSFbyIhmApFkpbL0uRa4eR8zVUWDXq0TZe
// SIG // Yk1SUTRxwntmHYnI3SrEagr2N9mYdJH2kq6wtXaW8alK
// SIG // Y0VHLmsLkk5LK4zuWEqL1AfkGiz4gqpY2c1C8y3Add6N
// SIG // q8eOHZpsTAiVHt7b72fhcsJJwp5gPOHivhajY3hpFHut
// SIG // LQIDAQABo4HEMIHBMDQGCCsGAQUFBwEBBCgwJjAkBggr
// SIG // BgEFBQcwAYYYaHR0cDovL29jc3AudmVyaXNpZ24uY29t
// SIG // MAwGA1UdEwEB/wQCMAAwMwYDVR0fBCwwKjAooCagJIYi
// SIG // aHR0cDovL2NybC52ZXJpc2lnbi5jb20vdHNzLWNhLmNy
// SIG // bDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8B
// SIG // Af8EBAMCBsAwHgYDVR0RBBcwFaQTMBExDzANBgNVBAMT
// SIG // BlRTQTEtMjANBgkqhkiG9w0BAQUFAAOCAQEAUMVLyCSA
// SIG // 3+QNJMLeGrGhAqGmgi0MgxWBNwqCDiywWhdhtdgF/ojb
// SIG // 8ZGRs1YaQKbrkr44ObB1NnQ6mE/kN7qZicqVQh2wuceg
// SIG // jVfg+tVkBEI1TgHRM6IXyE2qJ8fy4YZMAjhNg3jG/FPg
// SIG // 6+AGh92klp5eDJjipb6/goXDYOHfrSjYx6VLZNrHG1u9
// SIG // rDkI1TgioTOLL4qa67wHIT9EQQkHtWUcJLxI00SA66HP
// SIG // yQK0FM9UxxajgFz5eT5dcn2IF54sQ6LKU859PfYqOrhP
// SIG // lAClbQqDXfleU/QYs1cPcMP79a2VoA4X3sQWgGDJDytu
// SIG // hgTx6/R4J9EFxe40W165STLyMzCCA8QwggMtoAMCAQIC
// SIG // EEe/GZXfjVJGQ/fbbUgNMaQwDQYJKoZIhvcNAQEFBQAw
// SIG // gYsxCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJu
// SIG // IENhcGUxFDASBgNVBAcTC0R1cmJhbnZpbGxlMQ8wDQYD
// SIG // VQQKEwZUaGF3dGUxHTAbBgNVBAsTFFRoYXd0ZSBDZXJ0
// SIG // aWZpY2F0aW9uMR8wHQYDVQQDExZUaGF3dGUgVGltZXN0
// SIG // YW1waW5nIENBMB4XDTAzMTIwNDAwMDAwMFoXDTEzMTIw
// SIG // MzIzNTk1OVowUzELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
// SIG // DlZlcmlTaWduLCBJbmMuMSswKQYDVQQDEyJWZXJpU2ln
// SIG // biBUaW1lIFN0YW1waW5nIFNlcnZpY2VzIENBMIIBIjAN
// SIG // BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqcqypMzN
// SIG // IK8KfYmsh3XwtE7x38EPv2dhvaNkHNq7+cozq4QwiVh+
// SIG // jNtr3TaeD7/R7Hjyd6Z+bzy/k68Numj0bJTKvVItq0g9
// SIG // 9bbVXV8bAp/6L2sepPejmqYayALhf0xS4w5g7EAcfrkN
// SIG // 3j/HtN+HvV96ajEuA5mBE6hHIM4xcw1XLc14NDOVEpkS
// SIG // ud5oL6rm48KKjCrDiyGHZr2DWFdvdb88qiaHXcoQFTyf
// SIG // hOpUwQpuxP7FSt25BxGXInzbPifRHnjsnzHJ8eYiGdvE
// SIG // s0dDmhpfoB6Q5F717nzxfatiAY/1TQve0CJWqJXNroh2
// SIG // ru66DfPkTdmg+2igrhQ7s4fBuwIDAQABo4HbMIHYMDQG
// SIG // CCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0cDov
// SIG // L29jc3AudmVyaXNpZ24uY29tMBIGA1UdEwEB/wQIMAYB
// SIG // Af8CAQAwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2Ny
// SIG // bC52ZXJpc2lnbi5jb20vVGhhd3RlVGltZXN0YW1waW5n
// SIG // Q0EuY3JsMBMGA1UdJQQMMAoGCCsGAQUFBwMIMA4GA1Ud
// SIG // DwEB/wQEAwIBBjAkBgNVHREEHTAbpBkwFzEVMBMGA1UE
// SIG // AxMMVFNBMjA0OC0xLTUzMA0GCSqGSIb3DQEBBQUAA4GB
// SIG // AEpr+epYwkQcMYl5mSuWv4KsAdYcTM2wilhu3wgpo17I
// SIG // ypMT5wRSDe9HJy8AOLDkyZNOmtQiYhX3PzchT3AxgPGL
// SIG // OIez6OiXAP7PVZZOJNKpJ056rrdhQfMqzufJ2V7duyuF
// SIG // PrWdtdnhV/++tMV+9c8MnvCX/ivTO1IbGzgn9z9KMIIE
// SIG // /DCCBGWgAwIBAgIQZVIm4bIuGOFZDymFrCLnXDANBgkq
// SIG // hkiG9w0BAQUFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UE
// SIG // ChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNz
// SIG // IDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBB
// SIG // dXRob3JpdHkwHhcNMDkwNTIxMDAwMDAwWhcNMTkwNTIw
// SIG // MjM1OTU5WjCBtjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
// SIG // DlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
// SIG // biBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBv
// SIG // ZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29t
// SIG // L3JwYSAoYykwOTEwMC4GA1UEAxMnVmVyaVNpZ24gQ2xh
// SIG // c3MgMyBDb2RlIFNpZ25pbmcgMjAwOS0yIENBMIIBIjAN
// SIG // BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvmcdtGCq
// SIG // EElvVhd8Zslehg3V8ayncYOOi4n4iASJFQa6LYQhleTR
// SIG // nFBM+9IivdrysjU7Ho/DCfv8Ey5av4l8PTslHvbzWHuc
// SIG // 9AG1xgq4gM6+J3RhZydNauXsgWFYeaPgFxASFSew4U00
// SIG // fytHIES53mYkZorNT7ofxTjIVJDhcvYZZnVquUlozzh5
// SIG // DaowqNssYEie16oUAamD1ziRMDkTlgM6fEBUtq3gLxuD
// SIG // 3KgRUj4Cs9cr/SG2p1yjDwupphBQDjQuTafOyV4l1Iy8
// SIG // 8258KbwBXfwxh1rVjIVnWIgZoL818OoroyHnkPaD5ajt
// SIG // YHhee2CD/VcLXUENY1Rg1kMh7wIDAQABo4IB2zCCAdcw
// SIG // EgYDVR0TAQH/BAgwBgEB/wIBADBwBgNVHSAEaTBnMGUG
// SIG // C2CGSAGG+EUBBxcDMFYwKAYIKwYBBQUHAgEWHGh0dHBz
// SIG // Oi8vd3d3LnZlcmlzaWduLmNvbS9jcHMwKgYIKwYBBQUH
// SIG // AgIwHhocaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3Jw
// SIG // YTAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBf
// SIG // oV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMC
// SIG // GgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDov
// SIG // L2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYD
// SIG // VR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMDMDQGCCsG
// SIG // AQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29j
// SIG // c3AudmVyaXNpZ24uY29tMDEGA1UdHwQqMCgwJqAkoCKG
// SIG // IGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3Js
// SIG // MCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFDbGFzczND
// SIG // QTIwNDgtMS01NTAdBgNVHQ4EFgQUl9BrqCZwyKE/lB8I
// SIG // LcQ1m6ShHvIwDQYJKoZIhvcNAQEFBQADgYEAiwPA3ZTY
// SIG // QaJhabAVqHjHMMaQPH5C9yS25INzFwR/BBCcoeL6gS/r
// SIG // wMpE53LgULZVECCDbpaS5JpRarQ3MdylLeuMAMcdT+dN
// SIG // MrqF+E6++mdVZfBqvnrKZDgaEBB4RXYx84Z6Aw9gwrNd
// SIG // nfaLZnaCG1nhg+W9SaU4VuXeQXcOWA8wggURMIID+aAD
// SIG // AgECAhBtUn9NfWwaK6fvgdUMiddlMA0GCSqGSIb3DQEB
// SIG // BQUAMIG2MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy
// SIG // aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
// SIG // dXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVz
// SIG // ZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBh
// SIG // IChjKTA5MTAwLgYDVQQDEydWZXJpU2lnbiBDbGFzcyAz
// SIG // IENvZGUgU2lnbmluZyAyMDA5LTIgQ0EwHhcNMDkxMTE5
// SIG // MDAwMDAwWhcNMTIxMTE4MjM1OTU5WjCBzjELMAkGA1UE
// SIG // BhMCQ04xETAPBgNVBAgTCFNoYW5naGFpMREwDwYDVQQH
// SIG // EwhTaGFuZ2hhaTEbMBkGA1UEChQSUFBMaXZlIENvcnBv
// SIG // cmF0aW9uMT4wPAYDVQQLEzVEaWdpdGFsIElEIENsYXNz
// SIG // IDMgLSBNaWNyb3NvZnQgU29mdHdhcmUgVmFsaWRhdGlv
// SIG // biB2MjEfMB0GA1UECxQWUHJvZHVjdCBQbGFubmluZyBE
// SIG // ZXB0LjEbMBkGA1UEAxQSUFBMaXZlIENvcnBvcmF0aW9u
// SIG // MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY7Kff
// SIG // TNpvjGy6zGck0u1/S+B50zuxRF0HrIlPfcpSGmsQyfzm
// SIG // b2eigTz0KuN+palZSdpx0amg9gD+ANFSNo9uqfk1PLeP
// SIG // V7187RIh4taAGUnYROqkPr9kVAsU/SepgjYLVAU46+Bu
// SIG // FtDmCaenpb6rqE+0Y6AV50Rc3iBA0rHvawIDAQABo4IB
// SIG // gzCCAX8wCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4Aw
// SIG // RAYDVR0fBD0wOzA5oDegNYYzaHR0cDovL2NzYzMtMjAw
// SIG // OS0yLWNybC52ZXJpc2lnbi5jb20vQ1NDMy0yMDA5LTIu
// SIG // Y3JsMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHFwMwKjAo
// SIG // BggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24u
// SIG // Y29tL3JwYTATBgNVHSUEDDAKBggrBgEFBQcDAzB1Bggr
// SIG // BgEFBQcBAQRpMGcwJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
// SIG // Y3NwLnZlcmlzaWduLmNvbTA/BggrBgEFBQcwAoYzaHR0
// SIG // cDovL2NzYzMtMjAwOS0yLWFpYS52ZXJpc2lnbi5jb20v
// SIG // Q1NDMy0yMDA5LTIuY2VyMB8GA1UdIwQYMBaAFJfQa6gm
// SIG // cMihP5QfCC3ENZukoR7yMBEGCWCGSAGG+EIBAQQEAwIE
// SIG // EDAWBgorBgEEAYI3AgEbBAgwBgEBAAEB/zANBgkqhkiG
// SIG // 9w0BAQUFAAOCAQEAEHyS6zHfeAr7VXV0+4exGGIaodyt
// SIG // snOwewImElZdtDXV0P9r4B6gp1Ej1ZT8Ddco099Xc7NE
// SIG // e7gyfzCQh27Uq6DSVQP0P9zBI2VgwWaOLweplMHFqKrD
// SIG // q0DXzRAsXiYCu15ugktqWBRVhsOCrNFPcYAiEHhMeRJY
// SIG // 1p5pA+TyXSs2X5AyL1zfpaqrDfJKmhspWabkMbjyLWG9
// SIG // jkQv7K4rviPg//9QfzZoYG3cJBMDqLC3KsSFXs6GNzXo
// SIG // 7EDYhzgJFjpalJUV0n7TL+aPFgRY6/lG3UYPZtsRtGBI
// SIG // W2frpPZy0ww0vcTMzXYL+2TGyka40qCWF3XUw14+znhe
// SIG // yMNA5TGCA2cwggNjAgEBMIHLMIG2MQswCQYDVQQGEwJV
// SIG // UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNV
// SIG // BAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNV
// SIG // BAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52
// SIG // ZXJpc2lnbi5jb20vcnBhIChjKTA5MTAwLgYDVQQDEydW
// SIG // ZXJpU2lnbiBDbGFzcyAzIENvZGUgU2lnbmluZyAyMDA5
// SIG // LTIgQ0ECEG1Sf019bBorp++B1QyJ12UwCQYFKw4DAhoF
// SIG // AKBwMBAGCisGAQQBgjcCAQwxAjAAMBkGCSqGSIb3DQEJ
// SIG // AzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAM
// SIG // BgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBRWlu3f
// SIG // mogDeV+jaBFdCi3jyGBj0zANBgkqhkiG9w0BAQEFAASB
// SIG // gHT4fo1XVok9Ss6p5OODq6aGKtnHvnNy1HnGGRmgzBxa
// SIG // +0ILtl2z03DlgpRBycRpoJ+PYGDvMf9BlVViGBC3VhU6
// SIG // Q1u2uGNAdZDjvqvSQ1+a7pc7UJY/Kd2TtZvJ3oTXPbYL
// SIG // vHYbI/5qIjU245F/wBircdib+UPgywdtTAJybnbUoYIB
// SIG // fzCCAXsGCSqGSIb3DQEJBjGCAWwwggFoAgEBMGcwUzEL
// SIG // MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJ
// SIG // bmMuMSswKQYDVQQDEyJWZXJpU2lnbiBUaW1lIFN0YW1w
// SIG // aW5nIFNlcnZpY2VzIENBAhA4Jdf6+GGvnvSQ5ya11lrV
// SIG // MAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZI
// SIG // hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMTA3MjYxMjE4
// SIG // MzNaMCMGCSqGSIb3DQEJBDEWBBQMs7jQnD4K24m91rHb
// SIG // FB4ZW0zHKDANBgkqhkiG9w0BAQEFAASBgGZpEzqtQWWJ
// SIG // 8DdjyUehwixJ+br1gxU6pkLKoTRBta42JZlwDE/tT7Wd
// SIG // wQWUGHnzz1+nCmqBzW8D7tJuSLGHeLFu7Iml/gR3IThE
// SIG // xnW4U9fbZ0hv8v9yWLoESpFc2SA137kITqdSi0Uv7/ON
// SIG // LuR4mtOqlzt7ZoPQKwMEjJP4oC9a
// SIG // End signature block
