%
%
%
%
%

if strcmp(diffspecification,'yes'); figuresdir = '/figuresdiff' ;
else; figuresdir = '/figures' ;
end ;

HPloose = 5e5 ;
HPtight = 5e7 ;
HPlooselt = 3e7 ;
HPtightlt = 3e8 ;

ipind = 1 ;
ipdifind = 4 ;
caputind = 6 ;
nfpind = 8 ;
unempind = 16 ;
startsind = 44 ;
exhomeind = 47 ;
ismind = 60 ;
wilshind = 72 ;

cpiind = 1 ;
cpixind = 2 ;
pceind = 3 ;
pcexind = 4 ;
pcomind = 16 ;
poilind = 19 ;

ffrind = 1 ;
threemoind = 2 ;
tenyrind = 5 ;

dollarind = 10 ;
tradebalind = 1 ;

%
% Plot some observable variables and short-term and long-term HP trends:
%

plot(date(1:T),log(data(burn+1:T+burn,ipind)),'Color',[0,.5,0],'LineWidth',1) ;
axis([1965 2015 3.6 4.8]) ;
hold on ;
shaderec ;
plot(date(1:T),log(data(burn+1:T+burn,ipind)),'Color',[0,.5,0],'LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure0a.png')) ;

plot(date(1:T),log(data(burn+1:T+burn,nfpind)),'Color',[0,.5,0],'LineWidth',1) ;
hold on ;
axis([1965 2015 11 11.9]) ;
shaderec ;
plot(date(1:T),log(data(burn+1:T+burn,nfpind)),'Color',[0,.5,0],'LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure0b.png')) ;

plot(date(1:T),data(burn+1:T+burn,ismind),'r','LineWidth',1) ;
hold on ;
axis([1965 2015 25 75]) ;
shaderec ;
plot(date(1:T),data(burn+1:T+burn,ismind),'r','LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure0c.png')) ;

plot(date(1:T),data(burn+1:T+burn,ipdifind),'r','LineWidth',1) ;
hold on ;
axis([1965 2015 10 90]) ;
shaderec ;
plot(date(1:T),data(burn+1:T+burn,ipdifind),'r','LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure0d.png')) ;

plot(date(1:T),data(burn+1:T+burn,unempind),'LineWidth',1) ;
hold on ;
axis([1965 2015 3 11]) ;
shaderec ;
plot(date(1:T),data(burn+1:T+burn,unempind),'LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure0e.png')) ;

plot(date(1:T),data(burn+1:T+burn,caputind),'LineWidth',1) ;
hold on ;
axis([1965 2015 70 90]) ;
shaderec ;
plot(date(1:T),data(burn+1:T+burn,caputind),'LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure0f.png')) ;



plot(date(1:T),log(data(burn+1:T+burn,ipind)),'Color',[0,.5,0],'LineWidth',1) ;
axis([1965 2015 3.6 4.8]) ;
hold on ;
shaderec ;
h1 = plot(date(1:T),log(data(burn+1:T+burn,ipind)),'Color',[0,.5,0],'LineWidth',1) ;
h2 = plot(date(1:T),hpfit(log(data(burn+1:T+burn,ipind)),HPloose),'k--','LineWidth',1) ;
h3 = plot(date(1:T),hpfit(log(data(burn+1:T+burn,ipind)),HPlooselt),'r:','LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
legend([h1,h2,h3],'data','short-term trend','long-term trend','Location','SouthEast') ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure0g.png')) ;

plot(date(1:T),log(data(burn+1:T+burn,nfpind)),'Color',[0,.5,0],'LineWidth',1) ;
hold on ;
axis([1965 2015 11 11.9]) ;
shaderec ;
h1 = plot(date(1:T),log(data(burn+1:T+burn,nfpind)),'Color',[0,.5,0],'LineWidth',1) ;
h2 = plot(date(1:T),hpfit(log(data(burn+1:T+burn,nfpind)),HPloose),'k--','LineWidth',1) ;
h3 = plot(date(1:T),hpfit(log(data(burn+1:T+burn,nfpind)),HPlooselt),'r:','LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
legend([h1,h2,h3],'data','short-term trend','long-term trend','Location','SouthEast') ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure0h.png')) ;

plot(date(1:T),data(burn+1:T+burn,ismind),'r','LineWidth',1) ;
hold on ;
axis([1965 2015 25 75]) ;
shaderec ;
h1 = plot(date(1:T),data(burn+1:T+burn,ismind),'r','LineWidth',1) ;
h2 = plot(date(1:T),repmat(robustmean(data(burn+1:T+burn,ismind)),T,1),'k--','LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
legend([h1,h2],'data','mean','Location','SouthEast') ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure0i.png')) ;

plot(date(1:T),data(burn+1:T+burn,ipdifind),'r','LineWidth',1) ;
hold on ;
axis([1965 2015 10 90]) ;
shaderec ;
h1 = plot(date(1:T),data(burn+1:T+burn,ipdifind),'r','LineWidth',1) ;
h2 = plot(date(1:T),repmat(robustmean(data(burn+1:T+burn,ipdifind)),T,1),'k--','LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
legend([h1,h2],'data','mean','Location','SouthEast') ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure0j.png')) ;

plot(date(1:T),data(burn+1:T+burn,unempind),'LineWidth',1) ;
hold on ;
axis([1965 2015 3 11]) ;
shaderec ;
h1 = plot(date(1:T),hpfit(data(burn+1:T+burn,unempind),HPtight),'k--','LineWidth',1) ;
h2 = plot(date(1:T),hpfit(data(burn+1:T+burn,unempind),HPtightlt),'r:','LineWidth',1) ;
h3 = plot(date(1:T),data(burn+1:T+burn,unempind),'LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
legend([h1,h2,h3],'data','short-term trend','long-term trend') ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure0k.png')) ;

plot(date(1:T),data(burn+1:T+burn,caputind),'LineWidth',1) ;
hold on ;
axis([1965 2015 70 90]) ;
shaderec ;
h1 = plot(date(1:T),data(burn+1:T+burn,caputind),'LineWidth',1) ;
h2 = plot(date(1:T),hpfit(data(burn+1:T+burn,caputind),HPtight),'k--','LineWidth',1) ;
h3 = plot(date(1:T),hpfit(data(burn+1:T+burn,caputind),HPtightlt),'r:','LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
legend([h1,h2,h3],'data','short-term trend','long-term trend') ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure0l.png')) ;


%
% Plot EA Factors #1 and #2 and compare to observable data:
%

plot(date(1:T),eafactors(1:T,1),'LineWidth',1) ;
%title('EA Factor #1','FontSize',15) ;
set(gca,'FontSize',12) ;
axis([1965 2015 -4 3]) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure1a.png')) ;

axis([1965 2015 -4 3]) ;
shaderec ;
hold on ;
plot(date(1:T),eafactors(1:T,1),'LineWidth',1) ;
%title('EA Factor #1 and Recessions','FontSize',15) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure1b.png')) ;

plot(date(1:T),eafactors(1:T,1),'LineWidth',1) ;
hold on ;
plot(date(1:T),econactivity(1:T,ipind),'Color',[.1,.1,.1]) ;
%title('EA Factor #1 and Industrial Production','FontSize',15) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure1c.png')) ;

plot(date(1:T),-eafactors(1:T,2),'r','LineWidth',1) ;
axis([1965 2015 -4 3]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure1d.png')) ;

axis([1965 2015 -4 3]) ;
shaderec ;
hold on ;
plot(date(1:T),-eafactors(1:T,2),'r','LineWidth',1) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure1e.png')) ;

plot(date(1:T),eafactors(1:T,1),'LineWidth',1) ;
axis([1965 2015 -4 3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure1f.png')) ;

plot(date(1:T),-eafactors(1:T,2),'r','LineWidth',1) ;
hold on ;
plot(date(1:T),econactivity(1:T,ismind),'Color',[.1,.1,.1]) ;
axis([1965 2015 -4 3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure1g.png')) ;


%
% Plot PR Factors #1, #2, and #3 and compare to observable data:
%

plot(date(1:T),prfactors(1:T,1),'LineWidth',1) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure2a.png')) ;

plot(date(1:T),prfactors(1:T,1),'LineWidth',1) ;
hold on ;
plot(date(1:T),prices(1:T,cpiind),'Color',[.1,.1,.1]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure2b.png')) ;

plot(date(1:T),prfactors(1:T,2),'Color',[0,.6,.0],'LineWidth',1) ;
axis([1974 2015 -4 5]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure2c.png')) ;

plot(date(1:T),prfactors(1:T,2),'Color',[0,.6,.0],'LineWidth',1) ;
hold on ;
plot(date(1:T),prices(1:T,poilind),'Color',[.1,.1,.1]) ;
axis([1974 2015 -4 5]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure2d.png')) ;

plot(date(1:T),prfactors(1:T,3),'r','LineWidth',1) ;
axis([1965 2015 -4 5]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure2e.png')) ;

plot(date(1:T),prfactors(1:T,3),'r','LineWidth',1) ;
hold on ;
plot(date(1:T),prices(1:T,pcomind),'Color',[.1,.1,.1]) ;
axis([1965 2015 -4 5]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure2f.png')) ;


%
% Plot INT Factors #1 and #2 and compare to observable data:
%

plot(date(1:T),intfactors(1:T,1),'LineWidth',1) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure3a.png')) ;


plot(date(1:T),intfactors(1:T,1),'LineWidth',1) ;
hold on ;
plot(date(1:T),intrates(1:T,tenyrind),'Color',[.2,.2,.2]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure3b.png')) ;

plot(date(1:T),-intfactors(1:T,2),'r','LineWidth',1) ;
axis([1965 2015 -3 3]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure3c.png')) ;


spread = intrates(1:T,tenyrind) - intrates(1:T,threemoind) ;
spread = spread ./ std(spread) ;
plot(date(1:T),-intfactors(1:T,2),'r','LineWidth',1) ;
hold on ;
plot(date(1:T),spread,'Color',[.2,.2,.2]) ;
axis([1965 2015 -3 3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure3d.png')) ;


plot(date(1:T),-intfactors(1:T,2),'r','LineWidth',1) ;
axis([1965 2015 -3 3]) ;
hold on ;
shaderec ;
plot(date(1:T),-intfactors(1:T,2),'r','LineWidth',1) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure3e.png')) ;


%
% Plot TRA Factors #1 and #2 and compare to observable data:
%

plot(date(1:T),-trafactors(1:T,1),'LineWidth',1) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure3f.png')) ;


plot(date(1:T),-trafactors(1:T,1),'LineWidth',1) ;
hold on ;
plot(date(1:T),trade(1:T,dollarind),'Color',[.2,.2,.2]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure3g.png')) ;

plot(date(1:T),trafactors(1:T,2),'r','LineWidth',1) ;
axis([1965 2015 -3 3]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure3h.png')) ;

plot(date(1:T),trafactors(1:T,2),'r','LineWidth',1) ;
axis([1965 2015 -3 3]) ;
hold on ;
plot(date(1:T),trade(1:T,tradebalind),'Color',[.2,.2,.2]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure3i.png')) ;


%
% Plot forecasts of EA Factors #1 and #2 and observable EA variables:
%

plot(date(1:T),eafactors(1:T,1),'LineWidth',1) ;
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
axis([1989,2015,-2,2]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4a.png')) ;

plot(date(1:T),eafactors(1:T,1),'LineWidth',1) ;
hold on ;
plot(date(1:T),-eafactors(1:T,2),'r','LineWidth',1) ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
axis([1989,2015,-2,2]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4b.png')) ;

plot(date(1:T),eafactors(1:T,1),'LineWidth',1) ;
hold on ;
plot(date,-eafactors(:,2),'r--','LineWidth',1) ;
plot(date(1:T),-eafactors(1:T,2),'r','LineWidth',1) ;
plot([1964 2015],zeros(2,1),':k') ;
axis([1989,2015,-2,2]) ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4c.png')) ;

plot(date(1:T),eafactors(1:T,1),'LineWidth',1) ;
hold on ;
plot(date,eafactors(:,1),'--','LineWidth',1) ;
plot(date(1:T),-eafactors(1:T,2),'r','LineWidth',1) ;
plot(date,-eafactors(:,2),'r--','LineWidth',1) ;
plot([1964 2015],zeros(2,1),':k') ;
axis([1989,2015,-2,2]) ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4d.png')) ;

plot(date(1:T),eafactors(1:T,1),'LineWidth',1) ;
hold on ;
plot(date,eafactors(:,1),'--','LineWidth',1) ;
plot([1964 2015],zeros(2,1),':k') ;
axis([1989,2015,-2,2]) ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4hist.png')) ;

T1 = lastobs(eaindexes(caputind)) ;
plot(date(1:T1),eafinal(1:T1,caputind),'LineWidth',1) ; % Capacity Utilization
hold on ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
axis([1989,2015,74,86]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4e.png')) ;

plot(date,eafinal(:,caputind),'--','LineWidth',1) ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4f.png')) ;

T1 = lastobs(eaindexes(nfpind)) ;
plot(date(1:T1),eafinal(1:T1,nfpind),'LineWidth',1) ; % Nonfarm Payrolls
hold on ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
axis([1989,2015,100000,140000]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4g.png')) ;

plot(date,eafinal(:,nfpind),'--','LineWidth',1) ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4h.png')) ;

T1 = lastobs(eaindexes(unempind)) ;
plot(date(1:T1),eafinal(1:T1,unempind),'LineWidth',1) ; % Unemployment Rate
hold on ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
axis([1989,2015,3.5,8]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4i.png')) ;

plot(date,eafinal(:,unempind),'--','LineWidth',1) ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4j.png')) ;

T1 = lastobs(eaindexes(ipind)) ;
plot(date(1:T1),eafinal(1:T1,ipind),'LineWidth',1) ; % Industrial Production
hold on ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
axis([1989,2015,65,120]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4k.png')) ;

plot(date,eafinal(:,ipind),'--','LineWidth',1) ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4l.png')) ;

T1 = lastobs(eaindexes(startsind)) ;
plot(date(1:T1),eafinal(1:T1,startsind),'LineWidth',1) ; % Housing Starts
hold on ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
axis([1989,2015,900,2400]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4m.png')) ;

plot(date,eafinal(:,startsind),'--','LineWidth',1) ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4n.png')) ;

T1 = lastobs(eaindexes(exhomeind)) ;
plot(date(1:T1),eafinal(1:T1,exhomeind),'LineWidth',1) ; % Existing Home Sales
hold on ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
axis([1989,2015,2500,6500]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4o.png')) ;

plot(date,eafinal(:,exhomeind),'--','LineWidth',1) ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure4p.png')) ;


%
% Plot forecasts of PR Factors #1, #2, and #3 and observable PR series:
%
%

plot(date(1:T),prfactors(1:T,1),'LineWidth',1) ;
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
axis([1988,2015,-2,2]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure5a.png')) ;

plot(date(1:T),prfactors(1:T,1),'LineWidth',1) ;
hold on ;
plot(date(1:T),-prfactors(1:T,2),'r','LineWidth',1) ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
axis([1988,2015,-2,2]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure5b.png')) ;

plot(date(1:T),prfactors(1:T,1),'LineWidth',1) ;
hold on ;
plot(date,prfactors(:,1),'--','LineWidth',1) ;
plot(date(1:T),-prfactors(1:T,2),'r','LineWidth',1) ;
plot([1964 2015],zeros(2,1),':k') ;
axis([1988,2015,-2,2]) ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure5c.png')) ;

plot(date(1:T),prfactors(1:T,1),'LineWidth',1) ;
hold on ;
plot(date,prfactors(:,1),'--','LineWidth',1) ;
plot(date(1:T),-prfactors(1:T,2),'r','LineWidth',1) ;
plot(date,-prfactors(:,2),'r--','LineWidth',1) ;
plot([1964 2015],zeros(2,1),':k') ;
axis([1988,2015,-2,2]) ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure5d.png')) ;



piyoy = 100*[repmat(NaN,12,1);(prfinal(13:end,pcexind)-prfinal(1:end-12,pcexind))./prfinal(1:end-12,pcexind)] ;
pi3m =  100*((1+[repmat(NaN,3,1);(prfinal(4:end,pcexind)-prfinal(1:end-3,pcexind))./prfinal(1:end-3,pcexind)]).^4 -1) ;

T1 = lastobs(prindexes(pcexind)) ;
plot(date(1:T1),pi3m(1:T1,1),'LineWidth',1) ;
h = patch([2000,2000,2015,2015]',[1,2,2,1]',[.9,.9,.9]) ;
set(h,'EdgeColor','none') ;
hold on ;
plot(date(1:T1),pi3m(1:T1,1),'LineWidth',1) ;
axis([2000,2015,0,5]) ;
h = patch(1999,2015,[.2,.2,.2]) ;
set(h,'EdgeColor','none') ;
shaderec(date(T)-.03/12, date(T)+.03/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
ylabel('percent') ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure5e.png')) ;

plot(date(1:T1),pi3m(1:T1,1),'LineWidth',1) ;
h = patch([2000,2000,2015,2015]',[1,2,2,1]',[.9,.9,.9]) ;
set(h,'EdgeColor','none') ;
hold on ;
plot(date(1:T1),pi3m(1:T1,1),'LineWidth',1) ;
plot(date(1:T1),piyoy(1:T1),'r','LineWidth',1) ;
ylabel('percent') ;
axis([2000,2015,0,5]) ;
shaderec(date(T)-.03/12, date(T)+.03/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure5f.png')) ;

plot(date(1:T1),pi3m(1:T1,1),'LineWidth',1) ;
h = patch([2000,2000,2015,2015]',[1,2,2,1]',[.9,.9,.9]) ;
set(h,'EdgeColor','none') ;
hold on ;
plot(date(1:T1),piyoy(1:T1),'r','LineWidth',1) ;
plot(date,pi3m(:,1),'--','LineWidth',1) ;
ylabel('percent') ;
axis([2000,2015,0,5]) ;
shaderec(date(T)-.03/12, date(T)+.03/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure5g.png')) ;

plot(date(1:T1),pi3m(1:T1,1),'LineWidth',1) ;
h = patch([2000,2000,2015,2015]',[1,2,2,1]',[.9,.9,.9]) ;
set(h,'EdgeColor','none') ;
hold on ;
plot(date(1:T1),piyoy(1:T1),'r','LineWidth',1) ;
plot(date,pi3m(:,1),'--','LineWidth',1) ;
plot(date,piyoy,'r--','LineWidth',1) ;
ylabel('percent') ;
axis([2000,2015,0,5]) ;
shaderec(date(T)-.03/12, date(T)+.03/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure5h.png')) ;



piyoy = 100*[repmat(NaN,12,1);(prfinal(13:end,cpixind)-prfinal(1:end-12,cpixind))./prfinal(1:end-12,cpixind)] ;
pi3m =  100*((1+[repmat(NaN,3,1);(prfinal(4:end,cpixind)-prfinal(1:end-3,cpixind))./prfinal(1:end-3,cpixind)]).^4 -1) ;

T1 = lastobs(prindexes(cpixind)) ;
plot(date(1:T1),pi3m(1:T1,1),'LineWidth',1) ;
h = patch([2000,2000,2015,2015]',[1,2,2,1]',[.9,.9,.9]) ;
set(h,'EdgeColor','none') ;
hold on ;
plot(date(1:T1),pi3m(1:T1,1),'LineWidth',1) ;
plot(date(1:T1),piyoy(1:T1),'r','LineWidth',1) ;
ylabel('percent') ;
axis([2000,2015,0,5]) ;
shaderec(date(T)-.03/12, date(T)+.03/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure5i.png')) ;

plot(date(1:T1),pi3m(1:T1,1),'LineWidth',1) ;
h = patch([2000,2000,2015,2015]',[1,2,2,1]',[.9,.9,.9]) ;
set(h,'EdgeColor','none') ;
hold on ;
plot(date(1:T1),piyoy(1:T1),'r','LineWidth',1) ;
plot(date,pi3m(:,1),'--','LineWidth',1) ;
ylabel('percent') ;
axis([2000,2015,0,5]) ;
shaderec(date(T)-.03/12, date(T)+.03/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure5j.png')) ;

plot(date(1:T1),pi3m(1:T1,1),'LineWidth',1) ;
h = patch([2000,2000,2015,2015]',[1,2,2,1]',[.9,.9,.9]) ;
set(h,'EdgeColor','none') ;
hold on ;
plot(date(1:T1),piyoy(1:T1),'r','LineWidth',1) ;
plot(date,pi3m(:,1),'--','LineWidth',1) ;
plot(date,piyoy,'r--','LineWidth',1) ;
ylabel('percent') ;
axis([2000,2015,0,5]) ;
shaderec(date(T)-.03/12, date(T)+.03/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure5k.png')) ;


%
% Plot forecasts of INT factors and Fed Fund Rate:
%

plot(date(1:T),intfactors(1:T,1),'LineWidth',1) ;
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
axis([1989,2015,-2,2]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure6a.png')) ;

plot(date,intfactors(:,1),'--','LineWidth',1) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure6b.png')) ;

plot(date(1:T),-intfactors(1:T,2),'r','LineWidth',1) ;
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
axis([1989,2015,-2,2]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure6c.png')) ;

plot(date,-intfactors(:,2),'--r','LineWidth',1) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure6d.png')) ;


plot(date(1:T),intfinal(1:T,ffrind),'LineWidth',1) ; % fed funds rate
hold on ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
axis([2000,2015,0,8]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure6e.png')) ;

plot(date(1:T),intfinal(1:T,ffrind),'LineWidth',1) ;
hold on ;
plot(date,intfinal(:,ffrind),'--','LineWidth',1) ;
axis([2000,2015,0,8]) ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure6f.png')) ;


%
% Plot forecasts of Trade factors:
%

plot(date(1:T),-trafactors(1:T,1),'LineWidth',1) ;
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
axis([1989,2015,-2,2]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure6g.png')) ;

plot(date,-trafactors(:,1),'--','LineWidth',1) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure6h.png')) ;

plot(date(1:T),trafactors(1:T,2),'r','LineWidth',1) ;
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
axis([1989,2015,-2.5,2.5]) ;
shaderec(date(T)-.15/12, date(T)+.15/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure6i.png')) ;

plot(date,trafactors(:,2),'r--','LineWidth',1) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure6j.png')) ;


%
% Plot model predictions over some historical episodes, such as 2000, 1995,
% and 1991:
%

fcasthorizonsave = fcasthorizon ;

Thist = find(dates(:,1)==2000 & dates(:,2)==10) - burn ; % October 2000
varfcast = VARfcast(vardata(1:Thist,:),varlags,fcasthorizon,B) ;
varfcast = [vardata(Thist,:); varfcast] ;

plot(date(1:Thist),eafactors(1:Thist,1),'LineWidth',1) ;
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(Thist)-.15/12, date(Thist)+.15/12, [.3,.3,.3]) ;
axis([1989,2004,-2,2]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8a.png')) ;

plot(date(Thist:Thist+fcasthorizon),varfcast(:,1),'--','Color',[1,.5,0],'LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8b.png')) ;

plot(date(Thist:Thist+fcasthorizon),eafactors(Thist:Thist+fcasthorizon,1),'LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8c.png')) ;

plot(date(1:Thist),-eafactors(1:Thist,2),'r','LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8d.png')) ;

hold off ;


Thist = find(dates(:,1)==1995 & dates(:,2)==3) - burn ; % March 1995
varfcast = VARfcast(vardata(1:Thist,:),varlags,fcasthorizon,B) ;
varfcast = [vardata(Thist,:); varfcast] ;

plot(date(1:Thist),eafactors(1:Thist,1),'LineWidth',1) ;
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(Thist)-.15/12, date(Thist)+.15/12, [.3,.3,.3]) ;
axis([1984,1998,-2,2]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8e.png')) ;

plot(date(Thist:Thist+fcasthorizon),varfcast(:,1),'--','Color',[1,.5,0],'LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8f.png')) ;

plot(date(Thist:Thist+fcasthorizon),eafactors(Thist:Thist+fcasthorizon,1),'LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8g.png')) ;

plot(date(1:Thist),-eafactors(1:Thist,2),'r','LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8h.png')) ;

hold off ;


Thist = find(dates(:,1)==1990 & dates(:,2)==8) - burn ; % August 1990
varfcast = VARfcast(vardata(1:Thist,:),varlags,fcasthorizon,B) ;
varfcast = [vardata(Thist,:); varfcast] ;

plot(date(1:Thist),eafactors(1:Thist,1),'LineWidth',1) ;
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(Thist)-.15/12, date(Thist)+.15/12, [.3,.3,.3]) ;
axis([1981,1993,-2,2]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8i.png')) ;

plot(date(Thist:Thist+fcasthorizon),varfcast(:,1),'--','Color',[1,.5,0],'LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8j.png')) ;

plot(date(Thist:Thist+fcasthorizon),eafactors(Thist:Thist+fcasthorizon,1),'LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8k.png')) ;

plot(date(1:Thist),-eafactors(1:Thist,2),'r','LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8l.png')) ;


hold off ;
plot(date(1:Thist),eafactors(1:Thist,1),'LineWidth',1) ;
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
axis([1981,1993,-2,2]) ;
set(gca,'FontSize',12) ;
plot(date(Thist:Thist+fcasthorizon),varfcast(:,1),'--','Color',[1,.5,0],'LineWidth',1) ;
plot(date(Thist:Thist+fcasthorizon),eafactors(Thist:Thist+fcasthorizon,1),'LineWidth',1) ;
plot(date(1:Thist),-eafactors(1:Thist,2),'r','LineWidth',1) ;
Thist = find(dates(:,1)==1989 & dates(:,2)==8) - burn ; % August 1989
shaderec(date(Thist)-.15/12, date(Thist)+.15/12, [.3,.3,.3]) ;
hold off ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8m.png')) ;



Thist = find(dates(:,1)==1989 & dates(:,2)==8) - burn ; % August 1989
varfcast = VARfcast(vardata(1:Thist,:),varlags,fcasthorizon,B) ;
varfcast = [vardata(Thist,:); varfcast] ;

plot(date(1:Thist),eafactors(1:Thist,1),'LineWidth',1) ;
hold on ;
plot(date(1:Thist),-eafactors(1:Thist,2),'r','LineWidth',1) ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(Thist)-.15/12, date(Thist)+.15/12, [.3,.3,.3]) ;
axis([1981,1993,-2,2]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8n.png')) ;

plot(date(Thist:Thist+fcasthorizon),varfcast(:,1),'--','Color',[1,.5,0],'LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8o.png')) ;

plot(date(Thist:Thist+fcasthorizon),eafactors(Thist:Thist+fcasthorizon,1),'LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure8p.png')) ;

hold off ;
fcasthorizon = fcasthorizonsave ;


%
% Plot some counterfactuals for the current forecast, setting each latent
% factor in turn equal to its historical average:
%

n = size(vardata,2) ;

for i = 1:n ;
  vardata1 = vardata ;
  vardata1(T-varlags+1:T,i) = repmat(mean(vardata(1:T-1,i)),varlags,1) ;
  cfactfcast(:,:,i) = [vardata(T,:); VARfcast(vardata1,varlags,fcasthorizon,B)] ;
end ;

plot(date(1:T),eafactors(1:T,1),'k','LineWidth',1) ; % Baseline forecast
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
axis([2000,2015,-2,2]) ;
set(gca,'FontSize',12) ;
plot(date,eafactors(:,1),'--k','LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure7a.png')) ;

vardata1 = vardata ;
%vardata1(T-varlags+1:T,9) = repmat(mean(vardata(1:T-1,9)),varlags,1) ;
%vardata1(T-varlags+1:T,10) = vardata(T-varlags+1:T,10) - ...
%        vardata1(T-varlags+1:T,9) - vardata(T-varlags+1:T,9) ;
%cfactfcast(:,:,11) = [vardata(T,:); VARfcast(vardata1,varlags,fcasthorizon,B)] ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,1)),'--r','LineWidth',1.5) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure7b.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,2)),'--','Color',[1 .5 0],'LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure7c.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,3)),'--y','LineWidth',1) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure7d.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,4)),'--g','LineWidth',1) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure7e.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,5)),'--','Color',[0,.6,0],'LineWidth',1) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure7f.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,6)),'--b','LineWidth',1) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure7g.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,7)),'--','Color',[.67,0,1],'LineWidth',1) ; % much worse
print('-dpng',strcat(outfiledir,figuresdir,'/figure7h.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,8)),'--','Color',[.9,.4,.4],'LineWidth',1) ; % much worse
print('-dpng',strcat(outfiledir,figuresdir,'/figure7i.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,9)),'--','Color',[.4,.4,.4],'LineWidth',1) ; % much worse
print('-dpng',strcat(outfiledir,figuresdir,'/figure7j.png')) ;

hold off ;

  
%
% Plot some counterfactuals for the current forecast, setting all factors to their
%  historical average and then setting each latent factor in turn equal to
%  its recent values:
%

n = size(vardata,2) ;

for i = 1:n ;
  vardata1 = repmat(mean(vardata(1:T-1,:)),varlags,1) ;
  vardata1(1:varlags,i) = vardata(T-varlags+1:T,i) ;
  cfactfcast(:,:,i) = [zeros(1,n); VARfcast(vardata1,varlags,fcasthorizon,B)] ;
end ;

plot(date,zeros(T+fcasthorizon,1),'k','LineWidth',1) ; % Baseline forecast
axis([2000,2015,-2,2]) ;
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure9a.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,1)),'--r','LineWidth',1.5) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure9b.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,2)),'--','Color',[1 .5 0],'LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure9c.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,3)),'--y','LineWidth',1) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure9d.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,4)),'--g','LineWidth',1) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure9e.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,5)),'--','Color',[0,.6,0],'LineWidth',1) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure9f.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,6)),'--b','LineWidth',1) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure9g.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,7)),'--','Color',[.67,0,1],'LineWidth',1) ; % much worse
print('-dpng',strcat(outfiledir,figuresdir,'/figure9h.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,8)),'--','Color',[.9,.4,.4],'LineWidth',1) ; % much worse
print('-dpng',strcat(outfiledir,figuresdir,'/figure9i.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,1,9)),'--','Color',[.4,.4,.4],'LineWidth',1) ; % much worse
print('-dpng',strcat(outfiledir,figuresdir,'/figure9j.png')) ;

hold off ;

  
%
% Repeat the analysis above for the inflation rate instead of output:
%  Plot some counterfactuals for the current forecast, setting all factors to their
%  historical average and then setting each latent factor in turn equal to
%  its recent values:
%

n = size(vardata,2) ;

for i = 1:n ;
  vardata1 = repmat(mean(vardata(1:T-1,:)),varlags,1) ;
  vardata1(1:varlags,i) = vardata(T-varlags+1:T,i) ;
  cfactfcast(:,:,i) = [zeros(1,n); VARfcast(vardata1,varlags,fcasthorizon,B)] ;
end ;

plot(date,zeros(T+fcasthorizon,1),'k','LineWidth',1) ; % Baseline forecast
axis([2000,2015,-2,2]) ;
hold on ;
plot([1964 2015],zeros(2,1),':k') ;
shaderec(date(T)-.02/12, date(T)+.02/12, [.3,.3,.3]) ;
set(gca,'FontSize',12) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure10a.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,3,1)),'--r','LineWidth',1.5) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure10b.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,3,2)),'--','Color',[1 .5 0],'LineWidth',1) ;
print('-dpng',strcat(outfiledir,figuresdir,'/figure10c.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,3,3)),'--y','LineWidth',1) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure10d.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,3,4)),'--g','LineWidth',1) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure10e.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,3,5)),'--','Color',[0,.6,0],'LineWidth',1) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure10f.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,3,6)),'--b','LineWidth',1) ; % better
print('-dpng',strcat(outfiledir,figuresdir,'/figure10g.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,3,7)),'--','Color',[.67,0,1],'LineWidth',1) ; % much worse
print('-dpng',strcat(outfiledir,figuresdir,'/figure10h.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,3,8)),'--','Color',[.9,.4,.4],'LineWidth',1) ; % much worse
print('-dpng',strcat(outfiledir,figuresdir,'/figure10i.png')) ;

plot(date(T:T+fcasthorizon),squeeze(cfactfcast(:,3,9)),'--','Color',[.4,.4,.4],'LineWidth',1) ; % much worse
print('-dpng',strcat(outfiledir,figuresdir,'/figure10j.png')) ;

hold off ;





