1. Introduction

Heritage tourism refers to “tourism centered on what we have inherited” from the past (Aslam and Lee 2015; Ivanov, 2014; Yale 1991). Heritage tourism may be centered on travel to experience nature (e.g. Niagara Falls, USA) or culture (e.g. Taj-Mahal, India). Many businesses and industries such as hotels, restaurants, flourish under the umbrella of heritage tourism. In this regard, suitably pricing hotel rooms and related services for heritage tourists becomes a crucial issue (Chabra, 2015; Leo, Chris and Henning, 2010). This is because a hotel’s price reflects an assessment of the value that heritage tourists see and their willingness-to-pay for the hotel’s rooms and services (Adam and Francis, 2014, Jain 2014). This paper addresses the following issues concerning the “price of heritage” with respect to the hotel industry engaged in heritage tourism. The first issue concerns the pricing strategies employed by hotels serving heritage tourists. In this paper, we investigate whether the hotel industry charges heritage tourists a price premium? We evaluate whether hotels extract a “price of heritage” by charging higher prices for hotel rooms in heritage settings, compared to conventional hotel rooms?

2. Overview of the Study

Our field study concerns hotel prices at Niagara Falls, located at the American - Canadian border in North America. The world-renowned Niagara Falls reflect nature at its very best. They represent an icon of North America’s rich natural heritage (http://niagarafallstourism.com/). The falls encompass breath-taking views from the Canadian side as well as the American side. In this study, we compare the prices of hotel rooms at the Hilton Embassy Suites (http://www.embassysuitesniagara.com/). Strategically located, this hotel offers heritage tourists hotel rooms with three possible views from the room window - 1) A view of both Canadian and American Falls; 2) A view of the Canadian Falls only; 3) No view of the falls. This setting provides us an excellent platform for measuring the “price of heritage”. We empirically study how the view from the room influences the room prices. Our regression analysis reveals that the Hilton hotel prices rooms with otherwise practically identical interiors differently, depending on the heritage view. Rooms with no view are the cheapest ($187); rooms offering the Canadian-side view of the Niagara Falls only are relatively more expensive ($213), while rooms whose windows display both the American and Canadian-side view of the Niagara Falls are comparatively the most expensive ($238). Once again, our analysis of hotel room prices indicates a significant “price of heritage” built into the room rent charged by the Hilton hotel.

3. An empirical field study of Hilton hotel prices at Niagara Falls, USA

3.1 Overview

The specific objective of this Study was to investigate the pricing strategy employed by hotels located at heritage sites in a different locale. This study analyzed hotel prices at Niagara Falls, USA. Our goal was to compare prices of hotels rooms with a view of the Niagara Falls, with the prices of rooms without a view. The rationale behind this is summarized next. The Niagara Falls are a collective of three waterfalls, located on the Niagara River at international border between Canada and the United States. The US Congress designated Niagara Falls as a National Heritage Place in 2008, for its natural beauty and esthetic importance. (http://www.nps.gov/nifa/index.htm). It is one of the world’s most visited tourist heritage places, with more than 22 million tourists per year (http://buffalorising.com). In this Study, we compared the prices of hotel rooms with a ‘heritage view’ with the prices of hotel rooms without a ‘heritage view’. Taking clues from hedonic pricing theory (Rossen, 1974; Tomkovich and Dobie, 1995), we believe that consumers are asked to pay a price-premium for the pleasure of watching a heritage view from the hotel room. If there is a price of heritage, we expect that the hotel rooms with heritage views will be priced higher than the hotel rooms without heritage views, after controlling for other factors. Accordingly, we construct the following hypothesis:

Hypothesis H1: The average prices of hotel rooms at heritage sites with heritage views are higher than the prices of comparable hotel rooms without heritage views.

3.2 Data

For this study, we collected data from the Hilton hotel website (http://www3.hilton.com/en/hotels/ontario/hilton-niagara-falls-fallsview-hotel-and-suites/). This hotel is situated near Niagara Falls, at the American-Canadian border. It overlooks the Niagara Falls and provides breath-taking views of the scenic beauty of Niagara Falls. This hotel has three types of rooms. Some rooms provide both American and Canadian views of the Niagara Falls, some other rooms provide just the Canadian view of the Niagara Falls, while the remaining rooms face the city and therefore do not provide any view of the falls. We expected that a comparison of hotel rooms with different views from the windows, would explain the extent to which hotels charge price premiums for heritage views. We focused on hotel rooms that had two queen-sized beds. This type of room was available with three types of views from the window – ‘City view’, ‘Canadian view’ and ‘American and Canadian views’, as shown in Figure 3. Thus, the three types of rooms in this hotel were increasing in their level of “heritage”. It is worth mentioning that the Hilton hotel also had other rooms with king-sized beds and larger suites, which we ignored in order to restrict the scope of our data collection.

Seasonality: The pricing of hotels at a location like the Niagara Falls is expected to exhibit strong seasonality. Hence, it made sense to collect a comprehensive dataset that reflected the effects of seasonality. We collected data on July 15, 2014. We recorded the price of reserving a room in advance, for future dates ranging from July 18, 2014 to Feb 27, 2015. This duration was 224 days or 32 weeks. Hotel rooms at Niagara Falls are expected to be more expensive during the peak season at Niagara Falls (July - October) compared to the winter off-season (November - February). Therefore, analyzing prices over 32 weeks helped us characterize the price of heritage, after controlling for price variations due to seasonality and ruling out this alternate explanation for price dispersion. A hotel room is typically more expensive during the weekend (e.g. Saturday) compared to the price of the same hotel room during weekdays (e.g. Wednesday). Indeed, it is quite reasonable that hotels discriminate between consumers based on whether they rent a room during the week or during the weekend. In order to accurately measure the “price of heritage” with respect to the view of the Niagara Falls, it was crucial to control for price variation driven by this factor. Therefore, we recorded hotel room prices for rooms having the three types of views described above, for every Wednesday and Saturday, during the July 18, 2014 to Feb 27, 2015, timeframe, thereby generating 195 data points. We used a dummy variable Weekendto indicate whether a posted price corresponded to a weekend Saturday(Weekend=1) or a weekday Wednesday(Weekend=0).

Heritage View: We used a dummy variable HeritageView to indicate whether a hotel room offered a city view (HeritageView =0), or the room provided only a Canadian view of the falls (HeritageView =1), or the room provided both American and Canadian views of the Niagara Falls (HeritageView =2). In other words, we classified the views on three levels of heritage. It was also possible that the price of heritage is higher during the weekend, compared to a weekday. In order to research this possibility, we accounted for a possible interaction between WeekendandHeritage. Price: We used the variable Price to indicate the price of a hotel room. The prices ranged from $135 to $575. The summary statistics for the hotel room prices, broken down by the type of view on offer, are available in Table 3. As shown in Table 3 and Figure 3, the average room prices were $187, $213 and $237 for each type of hotel view.

3.3 Model

In order to test Hypothesis 1a, we proposed the following model:

\[Price= \alpha_0 + \alpha_1 HeritageView + \alpha_2 Weekend + \alpha_3 HeritageView*Weekend + \epsilon\]

# Read the data
NF <- read.csv(paste("NiagaraFalls Data.csv", sep=""), stringsAsFactors=FALSE)
attach(NF)
# OLS Model
M1 <- lm(Price.... ~ View * Weekend, data=NF)
summary(M1)

Call:
lm(formula = Price.... ~ View * Weekend, data = NF)

Residuals:
    Min      1Q  Median      3Q     Max 
-100.30  -44.38  -29.06   36.36  365.62 

Coefficients:
                      Estimate Std. Error t value Pr(>|t|)    
(Intercept)            188.125     14.711  12.788   <2e-16 ***
ViewCanadaUSA           21.250     20.804   1.021   0.3084    
ViewCity               -24.062     20.804  -1.157   0.2489    
Weekend                 49.299     20.646   2.388   0.0179 *  
ViewCanadaUSA:Weekend    6.629     29.198   0.227   0.8206    
ViewCity:Weekend        -4.725     29.198  -0.162   0.8716    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 83.22 on 189 degrees of freedom
Multiple R-squared:  0.1368,    Adjusted R-squared:  0.114 
F-statistic:  5.99 on 5 and 189 DF,  p-value: 3.609e-05

We established the effect of heritage view on the price of a hotel room with the simplest model. We regressed Price on HeritageView, Weekendand an interaction between HeritageView and Weekend.We estimated model, using linear least squares. If there was a “price of heritage” in the market, we expected to find the coefficient of HeritageView to be positive.

3.4 Results

We found empirical support for H1. The average room price of heritage view (American and Canadian view) was higher than the prices of hotel room with Canadian view. Similarly average price for the hotel room with Canadian view was higher than the price of hotel room with City view. The regression analysis using Ordinary Least Squares yielded \(\alpha_1>0\), with \(p<0.05\) as shown in Table 4. The average price of hotel room on weekend was also higher than the price of hotel room on weekdays \(\alpha_2>0\), with \(p<0.05\).

4. Conclusion

This paper was motivated by the need for research that could improve our understanding of how heritage tourism influences the pricing strategies in the hotel industry. The unique contribution of this paper is that we investigated the price premium charged by hotels to heritage tourists who travel to experience nature and/or culture. We found that tourists visiting Niagara Falls pay a hefty “price of heritage”. We observed hotels in Niagara Falls region charging price premiums for exposing tourists to natural heritage.

5. References

Adam, Issahaku, and Francis Eric Amuquandoh. (2014). Hotel characteristics and location decisions in Kumasi Metropolis, Ghana. Tourism Geographies Vol. 16, No. 4 pp 653 668.

Akaike, H. (1974). A new look at the statistical model identification. IEEE Transactions on Automatic Control, 19(6), pp.716-723. Aslam, M. S. M., and Lee Jolliffe (2015). Repurposing colonial tea heritage through historic lodging. Journal of Heritage Tourism ahead-of-print: 1-18.

Bignie, J., Sanchez, M. and Sanchez, J. (2001). Tourism image, evaluation variables and after purchase behaviour: inter-relationship. Tourism Management, 22(6), pp.607-616.

Advisory Council on Historic Preservation 2014, Available from: <http://achp.gov/ [29 Jul 2014]

Brida, J., Meleddu, M. and Pulina, M. (2012). Understanding Urban Tourism Attractiveness: The Case of the Archaeological Otzi Museum in Bolzano. Journal of Travel Research, 51(6), pp.730-741.

Buffalo Rising 2014, Available from: http://buffalorising.com/. [15 Jul 2014].

Chhabra, Deepak (2015). A cultural hospitality framework for heritage accommodations. Journal of Heritage Tourism ahead-of-print 1-7. Chen, C. (2008). Investigating structural relationships between service quality, perceived value, satisfaction, and behavioral intentions for air passengers: Evidence from Taiwan. Transportation Research Part A: Policy and Practice, 42(4), pp.709-717.

Chen, C. and Tsai, D. (2007). How destination image and evaluative factors affect behavioral intentions? Tourism Management, 28(4), pp.1115-1122.

Choi, T. and Chu, R. (2001). Determinants of hotel guests’ satisfaction and repeat patronage in the Hong Kong hotel industry. International Journal of Hospitality Management, 20(3), pp.277-297.

Christine Lim and Felix Chan (2011). An econometric analysis of hotel-motel room nights in New Zealand with stochastic seasonality. Int. J. of Revenue Management Vol. 5, No. 1pp. 63-83

Chu, R. and Choi, T. (2000). An importance-performance analysis of hotel selection factors in the Hong Kong hotel industry: a comparison of business and leisure travelers. Tourism Management, 21(4), pp.363-377.

Cindy Yoonjoung, Heo Seoki Lee (2010). Customers’ perceptions of demand driven pricing in revenue management context comparisons of six tourism and hospitality industries. Int. J. of Revenue Management Vol. 2, No. 3 pp. 263-273

Clewer, A., Pack, A., M. Sinclair, Johnson, P. and Thomas, B. (1992) Price competitiveness and inclusive tour holidays in European cities. Choice and demand in tourism, pp:123-143.

Cronin Jr, J. Joseph, and Steven A. Taylor. (1992). Measuring service quality: a reexamination and extension. The journal of marketing, pp:55-68.

Cronin, J., Brady, M. and Hult, G. (2000). Assessing the effects of quality, value, and customer satisfaction on consumer behavioral intentions in service environments. Journal of Retailing, 76(2), pp.193-218.

de Rojas, C. and Camarero, C. (2008). Visitors’ experience, mood and satisfaction in a heritage context: Evidence from an interpretation center. Tourism Management, 29(3), pp.525-537.

Dranove, D., Gron, A. and Mazzeo, M. (2003). Differentiation and Competition in HMO Markets. J Industrial Economics, 51(4), pp.433-454. Dube, L. and Renaghan, L. (2000). Creating Visible Customer Value: How Customers View Best-practice Champions. Cornell Hotel and Restaurant Administration Quarterly, 41(1), pp.62-72.

Duman, T. and Mattila, A. (2005). The role of affective factors on perceived cruise vacation value. Tourism Management, 26(3), pp.311-323.Embassy Suits by Hilton 2014, Available from: http://www.embassysuitesniagara.com/. [15 Jul 2014].

Espinet, J., Saez, M., Coenders, G. and Fluvià , M. (2003). Effect on prices of the attributes of holiday hotels: a hedonic prices approach. Tourism Economics, 9(2), pp.165-177.

Hilton hotels and resorts 2014, Available from: <http://www3.hilton.com/en/hotels/ontario/hilton-niagara-falls-fallsview-hotel-andsuites/index.html >. [14 Jul 2014].

Hoffman, K., Turley, L. and Kelley, S. (2002). Pricing retail services. Journal of Business Research, 55(12), pp.1015-1023.

Huang, C., Tsaur, J. and Yang, C. (2012). Does world heritage list really induce more tourists? Evidence from Macau. Tourism Management, 33(6), pp.1450-1457.

Hung, W., Shang, J. and Wang, F. (2010). Pricing determinants in the hotel industry: Quantile regression analysis. International Journal of Hospitality Management, 29(3), pp.378-384.

Ivanov, S. (2014). Price Discrimination as a Hotel Revenue Management Tool - From Theory to Practice. SSRN Journal. Jain, Neetu (2014). Exploring the right conduct of a manager: insights from Indian management. International Journal of Indian Culture and Business Management Vol. 9,No. 1 pp 55-73.

Kezeor, J., & Ransom, E. (2011). College of Business Administration, University of Nebraska-Lincoln Lei, Weng Si Clara, and Ching Chi Cindia Lam (2015). Determinants of hotel occupancy rate in a Chinese gaming destination. Journal of Hospitality and Tourism Management Vol. 22 No.1 pp. 1-9.

Leo MacDonald, Chris K. Anderson, and Henning Rasmussen (2010). Pricing and inventory policies under-pricing tracing behaviour. Int. J. of Revenue Management. Vol. 4, No. 1 pp. 1-21

Lian Chan, J. and Baum, T. (2007). Ecotourists’ Perception of Ecotourism Experience in Lower Kinabatangan, Sabah, Malaysia. Journal of Sustainable Tourism, 15(5), pp.574-590.

Ling, Liuyi, Xiaolong Guo, and Lina He (2012). Optimal pricing strategy of hotel for long term stay. International Journal of Services Technology and Management. Vol. 17, No.1 pp 72-86.

Lockyer, T. (2005). Understanding the dynamics of the hotel accommodation purchase decision. Int. J Contemp Hospitality Mngt., 17(6), pp.481-492.

Mandala, Laura. (2009) The Cultural and Heritage Traveler. Mandala Research Study. Mathur, Sameer, and Prem Prakash Dewani. Influence of cultural heritage on hotel prices, occupancy and profit: theory and evidence. Tourism Economics (2015).

Mazzeo, M. (2002). Product Choice and Oligopoly Market Structure. The RAND Journal of Economics, 33(2), p.221.

Monyane, Malefane Stephen (2014). Pricing Strategy For the Urban Tourism Areas: A Tool for Regional Tourism Development and Sustainability. In Global Conference on Business & Finance Proceedings, Vol. 9, No. 1, pp. 21-22.

Morrison, L. (1979). Re-determination of the decade fluctuations in the rotation of the Earth in the period 1861-1978. Geophysical Journal International, 58(2), pp.349-360.

National Heritage Areas USA 2014, Available from: http://en.wikipedia.org/wiki/National_Heritage_Area. [29 Jul 2014].

National Park Services 2014, Available from: http://www.nps.gov/nifa/index.htm. [14 Jul 2014].

Niagra Falls One wonder after another 2014, Available from: http://niagarafallstourism.com/. [28 Jul 2014].

Nuryanti, W. (1996). Heritage and postmodern tourism. Annals of Tourism Research, 23(2), pp.249-260.

Oberoi hotels and resorts The Oberoi Rajvilas Jaipur India 2014, Available from: http://www.oberoihotels.com/oberoi_rajvilas/ [28 Jul 2014].

Oberoi hotels and resorts The Oberoi Rajvilas Bangalore India 2014, Available from: http://www.oberoihotels.com/oberoi_bangalore/ [28 Jul 2014].

Otto, J. and Ritchie, J. (1996). The service experience in tourism. Tourism Management, 17(3), pp.165-174.

Papatheodorou, A. (2002). Civil aviation regimes and leisure tourism in Europe. Journal of Air Transport Management, 8(6), pp.381-388.

Peña, Ana Isabel Polo, Dolores María Frías Jamilena, Miguel Ángel Rodiguez Molina, and Jorge Chica Olmo (2015). Rural lodging establishments: effects of location and internal resources and characteristics on room rates. Tourism Geographies Vol. 17, No.1 pp 91-111.

Podoshen, Jeffrey S., James M. Hunt, and Susan A. Andrzejewski (2015) Attribution Processes in Cross-Cultural Heritage Tourism. Journal of International Consumer Marketing Vol. 27, No. 2 pp 123-136.

Poria, Y., Reichel, A. and Cohen, R. (2013). Tourists perceptions of World Heritage Site and its designation. Tourism Management, 35, pp.272-274.

Reisinger, Y., and Turner, L. (2003) Cross-cultural behaviour in tourism: Concepts and analysis. Elsevier.

Richards, G. (1996). Production and consumption of European cultural tourism. Annals of Tourism Research, 23(2), pp.261-283.

Rosen, S. (1974). Hedonic Prices and Implicit Markets: Product Differentiation in Pure Competition. Journal of Political Economy, 82(1), p.34.

Rowley, J. (1997). Principles of price and pricing policy for the information marketplace. Library Review, 46(3), pp.179-189.

Saló, Albert, Anna Garriga, Ricard Rigall-I-Torrent, Mar Vila, and Modest Fluvià (2014). Do implicit prices for hotels and second homes show differences in tourists’ valuation for public attributes for each type of accommodation facility?. International Journal of Hospitality Management Vol. 36 No. 1. 120-129.

Schwarz, G. (1978). Estimating the Dimension of a Model. The Annals of Statistics, 6(2), pp.461-464.

Silberberg, T. (1995). Cultural tourism and business opportunities for museums and heritage sites. Tourism Management, 16(5), pp.361-365.

Sinclair, M. and Tsegaye, A. (1990). International tourism and export instability. Journal of Development Studies, 26(3), pp.487-504.

Smyth, Gordon K., and Verbyla, A.(1996). A conditional likelihood approach to residual maximum likelihood estimation in generalized linear models. Journal of the Royal Statistical Society. Series B (Methodological) pp. 565-572.

Snir, Gideon (2014). International business negotiations: do cultural differences matter? The case of India and Israel: research report. International Journal of Indian Culture and Business Management Vol. 8, No. 3. pp 361-386.

Strauss, C. and Lord, B. (2001). Economic impacts of a heritage tourism system. Journal of Retailing and Consumer Services, 8(4), pp.199-204.

Sweeney, J., Soutar, G. and Johnson, L. (1999). The role of perceived risk in the quality-value relationship: A study in a retail environment. Journal of Retailing, 75(1), pp.77-105.

Thomas A. Maier (2011). Hospitality industry revenue management performance modelling: uncovering issues associated with inconsistencies in price parity across multiple distribution channels in the US hotel market. Int. J. of Revenue Management Vol. 5, No. 4 pp. 296-307

Thomas A. Maier (2013). Revenue management implications of branded vs. independent hotels price-parity and online distribution effectiveness Int. J. of Revenue Management Vol. 3, No.1 pp. 21-39

United Nations Educational Scientific and Cultural Organization 2014, Available from: http://whc.unesco.org/en/list/252. [29 Jul 2014].

United Nations Educational Scientific and Cultural Organization 2014, Available from: http://whc.unesco.org/. [29 Jul 2014].

Wu, L. (1999). The pricing of a brand name product. Journal of Business Venturing, 14(1), pp.87-102.

Yang, Yang, Hao Luo, and Rob Law (2014). Theoretical, empirical, and operational models in hotel location research. International Journal of Hospitality Management Vol. 36 No. 1. 209-220.

Yang, C., Lin, H. and Han, C. (2010). Analysis of international tourist arrivals in China: The role of World Heritage Sites. Tourism Management, 31(6), pp.827-837.

Yale, Pat. (1991). From tourist attractions to heritage tourism. ELM publications.

Table 1: Summary Statistics in the Niagara Falls Study

View from the Hotel Room Sample (N) Price in $ Mean (SD)
City View 65 $186.69 (73.84)
Canadian View 65 $213.15 (83.27)
Canadian and US View 65 $237.77 (49.50)
————————— ———– ———————–
All Rooms 195 $212.54 (88.41)

Table 2: Regression Analysis in the Niagara Falls Study

\(\beta\) SE t-statistic
Intercept 164.531 13.359 12.316
Heritage View 22.656* 10.348 2.190
Weekend 44.2567* 18.748 2.361
HeritageView*Weekend 5.677 14.522 0.391
————————— ————- ———– ————-

Figure 1: Hilton Embassy Suites, Niagara Falls, USA Rooms with three types of views - 1) Both Canadian and US Falls; 2) Canadian Falls only; 3) No view of the falls. (Source: http://www.embassysuitesniagara.com/)

View Average Price
Canadian & US Falls $238
Canadian Falls only $213
No view of the falls $187
———————– —————– ————–

Appendix 1

Descriptive statistics

# Summarize the Data
library(psych)
describe(NF)
             vars   n   mean    sd median trimmed   mad min  max range  skew kurtosis   se
Date*           1 195    NaN    NA     NA     NaN    NA Inf -Inf  -Inf    NA       NA   NA
Day*            2 195    NaN    NA     NA     NaN    NA Inf -Inf  -Inf    NA       NA   NA
View*           3 195    NaN    NA     NA     NaN    NA Inf -Inf  -Inf    NA       NA   NA
Price....       4 195 212.54 88.41    165  196.59 29.65 135  575   440  1.61     2.18 6.33
View.1          5 195   1.00  0.82      1    1.00  1.48   0    2     2  0.00    -1.52 0.06
Weekend         6 195   0.51  0.50      1    0.51  0.00   0    1     1 -0.03    -2.01 0.04
View.Weekend    7 195   0.51  0.77      0    0.39  0.00   0    2     2  1.09    -0.45 0.06

Average Room Rent corresponding to different view locations

# Method 1: using aggregate()
var1 <- aggregate(Price...., by=list(View = View), mean)
colnames(var1) <- c("View Location", "Average Room Rent")
var1

Average Room Rent corresponding to Weekend

var2 <- aggregate(Price...., by=list(Weekend), mean)
colnames(var2) <- c("Weekend", "Average Room Rent")
var2

Two-way contingency table based on the View and weekend

var3 <- xtabs(~ Weekend + View, data = NF)
var3
       View
Weekend Canada CanadaUSA City
      0     32        32   32
      1     33        33   33

Box plot of Price based on different view locations

boxplot(Price.... ~ View, data=NF, horizontal=TRUE,
        xlab="Room Rent (USD)", las=1,
        main="Comparison of Room Rent corresponding to different View Locations")

Coefficient Plot

library(coefplot)
coefplot(M1, intercept=FALSE)

Appendix 2

Two-way contingency table of View and Weekend

table(Weekend, View)
       View
Weekend Canada CanadaUSA City
      0     32        32   32
      1     33        33   33

Two-way Factorial ANOVA

View <- factor(View)
fit <- aov(Price.... ~ View*Weekend)
summary(fit)
              Df  Sum Sq Mean Sq F value   Pr(>F)    
View           2   84825   42412   6.125  0.00265 ** 
Weekend        1  121523  121523  17.549 4.29e-05 ***
View:Weekend   2    1057     529   0.076  0.92655    
Residuals    189 1308814    6925                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Interaction between View and Weekend

interaction.plot(View, Weekend, Price...., type="b", 
                 col=c("red","blue"), pch=c(16, 18),
                 main = "Interaction between View and Weekend")

Plotmeans of Interaction

library(gplots)
plotmeans(Price.... ~ interaction(Weekend, View, sep=" "),
          connect=list(c(1, 3, 5),c(2, 4, 6)), 
          col=c("red","darkgreen"),
          main = "Interaction Plot with 95% CIs", 
          xlab="Weekend and View Combination")

Main effect and Two-way Interaction

library(HH)
interaction2wt(Price....~Weekend*View)

LS0tDQp0aXRsZTogIkhlcml0YWdlIFRvdXJpc20gYXQgTmlhZ2FyYSBGYWxscyINCmF1dGhvcjogIkFub255bW91cyBTdHVkZW50Ig0Kb3V0cHV0Og0KICBodG1sX25vdGVib29rOiBkZWZhdWx0DQogIGh0bWxfZG9jdW1lbnQ6IGRlZmF1bHQNCiAgd29yZF9kb2N1bWVudDogZGVmYXVsdA0KLS0tDQoNCiMjIDEuIEludHJvZHVjdGlvbg0KSGVyaXRhZ2UgdG91cmlzbSByZWZlcnMgdG8gInRvdXJpc20gY2VudGVyZWQgb24gd2hhdCB3ZSBoYXZlIGluaGVyaXRlZCIgZnJvbSB0aGUgcGFzdCAoQXNsYW0gYW5kIExlZSAyMDE1OyBJdmFub3YsIDIwMTQ7IFlhbGUgMTk5MSkuIEhlcml0YWdlIHRvdXJpc20gbWF5IGJlIGNlbnRlcmVkIG9uIHRyYXZlbCB0byBleHBlcmllbmNlIG5hdHVyZSAoZS5nLiBOaWFnYXJhIEZhbGxzLCBVU0EpIG9yIGN1bHR1cmUgKGUuZy4gVGFqLU1haGFsLCBJbmRpYSkuIE1hbnkgYnVzaW5lc3NlcyBhbmQgaW5kdXN0cmllcyBzdWNoIGFzIGhvdGVscywgcmVzdGF1cmFudHMsIGZsb3VyaXNoIHVuZGVyIHRoZSB1bWJyZWxsYSBvZiBoZXJpdGFnZSB0b3VyaXNtLiBJbiB0aGlzIHJlZ2FyZCwgc3VpdGFibHkgcHJpY2luZyBob3RlbCByb29tcyBhbmQgcmVsYXRlZCBzZXJ2aWNlcyBmb3IgaGVyaXRhZ2UgdG91cmlzdHMgYmVjb21lcyBhIGNydWNpYWwgaXNzdWUgKENoYWJyYSwgMjAxNTsgTGVvLCBDaHJpcyBhbmQgSGVubmluZywgMjAxMCkuIFRoaXMgaXMgYmVjYXVzZSBhIGhvdGVsJ3MgcHJpY2UgcmVmbGVjdHMgYW4gYXNzZXNzbWVudCBvZiB0aGUgdmFsdWUgdGhhdCBoZXJpdGFnZSB0b3VyaXN0cyBzZWUgYW5kIHRoZWlyIHdpbGxpbmduZXNzLXRvLXBheSBmb3IgdGhlIGhvdGVsJ3Mgcm9vbXMgYW5kIHNlcnZpY2VzIChBZGFtIGFuZCBGcmFuY2lzLCAyMDE0LCBKYWluIDIwMTQpLg0KVGhpcyBwYXBlciBhZGRyZXNzZXMgdGhlIGZvbGxvd2luZyBpc3N1ZXMgY29uY2VybmluZyB0aGUgInByaWNlIG9mIGhlcml0YWdlIiB3aXRoIHJlc3BlY3QgdG8gdGhlIGhvdGVsIGluZHVzdHJ5IGVuZ2FnZWQgaW4gaGVyaXRhZ2UgdG91cmlzbS4gVGhlIGZpcnN0IGlzc3VlIGNvbmNlcm5zIHRoZSBwcmljaW5nIHN0cmF0ZWdpZXMgZW1wbG95ZWQgYnkgaG90ZWxzIHNlcnZpbmcgaGVyaXRhZ2UgdG91cmlzdHMuIEluIHRoaXMgcGFwZXIsIHdlIGludmVzdGlnYXRlIHdoZXRoZXIgdGhlIGhvdGVsIGluZHVzdHJ5IGNoYXJnZXMgaGVyaXRhZ2UgdG91cmlzdHMgYSBwcmljZSBwcmVtaXVtPyBXZSBldmFsdWF0ZSB3aGV0aGVyIGhvdGVscyBleHRyYWN0IGEgInByaWNlIG9mIGhlcml0YWdlIiBieSBjaGFyZ2luZyBoaWdoZXIgcHJpY2VzIGZvciBob3RlbCByb29tcyBpbiBoZXJpdGFnZSBzZXR0aW5ncywgY29tcGFyZWQgdG8gY29udmVudGlvbmFsIGhvdGVsIHJvb21zPw0KDQoNCiMjIDIuIE92ZXJ2aWV3IG9mIHRoZSBTdHVkeQ0KT3VyIGZpZWxkIHN0dWR5IGNvbmNlcm5zIGhvdGVsIHByaWNlcyBhdCBOaWFnYXJhIEZhbGxzLCBsb2NhdGVkIGF0IHRoZSBBbWVyaWNhbiAtIENhbmFkaWFuIGJvcmRlciBpbiBOb3J0aCBBbWVyaWNhLiBUaGUgd29ybGQtcmVub3duZWQgTmlhZ2FyYSBGYWxscyByZWZsZWN0IG5hdHVyZSBhdCBpdHMgdmVyeSBiZXN0LiBUaGV5IHJlcHJlc2VudCBhbiBpY29uIG9mIE5vcnRoIEFtZXJpY2EncyByaWNoIG5hdHVyYWwgaGVyaXRhZ2UgKGh0dHA6Ly9uaWFnYXJhZmFsbHN0b3VyaXNtLmNvbS8pLiBUaGUgZmFsbHMgZW5jb21wYXNzIGJyZWF0aC10YWtpbmcgdmlld3MgZnJvbSB0aGUgQ2FuYWRpYW4gc2lkZSBhcyB3ZWxsIGFzIHRoZSBBbWVyaWNhbiBzaWRlLiBJbiB0aGlzIHN0dWR5LCB3ZSBjb21wYXJlIHRoZSBwcmljZXMgb2YgaG90ZWwgcm9vbXMgYXQgdGhlIEhpbHRvbiBFbWJhc3N5IFN1aXRlcyAoaHR0cDovL3d3dy5lbWJhc3N5c3VpdGVzbmlhZ2FyYS5jb20vKS4gU3RyYXRlZ2ljYWxseSBsb2NhdGVkLCB0aGlzIGhvdGVsIG9mZmVycyBoZXJpdGFnZSB0b3VyaXN0cyBob3RlbCByb29tcyB3aXRoIHRocmVlIHBvc3NpYmxlIHZpZXdzIGZyb20gdGhlIHJvb20gd2luZG93IC0gMSkgQSB2aWV3IG9mIGJvdGggQ2FuYWRpYW4gYW5kIEFtZXJpY2FuIEZhbGxzOyAyKSBBIHZpZXcgb2YgdGhlIENhbmFkaWFuIEZhbGxzIG9ubHk7IDMpIE5vIHZpZXcgb2YgdGhlIGZhbGxzLiBUaGlzIHNldHRpbmcgcHJvdmlkZXMgdXMgYW4gZXhjZWxsZW50IHBsYXRmb3JtIGZvciBtZWFzdXJpbmcgdGhlICJwcmljZSBvZiBoZXJpdGFnZSIuIFdlIGVtcGlyaWNhbGx5IHN0dWR5IGhvdyB0aGUgdmlldyBmcm9tIHRoZSByb29tIGluZmx1ZW5jZXMgdGhlIHJvb20gcHJpY2VzLiBPdXIgcmVncmVzc2lvbiBhbmFseXNpcyByZXZlYWxzIHRoYXQgdGhlIEhpbHRvbiBob3RlbCBwcmljZXMgcm9vbXMgd2l0aCBvdGhlcndpc2UgcHJhY3RpY2FsbHkgaWRlbnRpY2FsIGludGVyaW9ycyBkaWZmZXJlbnRseSwgZGVwZW5kaW5nIG9uIHRoZSBoZXJpdGFnZSB2aWV3LiBSb29tcyB3aXRoIG5vIHZpZXcgYXJlIHRoZSBjaGVhcGVzdCAoXCQxODcpOyByb29tcyBvZmZlcmluZyB0aGUgQ2FuYWRpYW4tc2lkZSB2aWV3IG9mIHRoZSBOaWFnYXJhIEZhbGxzIG9ubHkgYXJlIHJlbGF0aXZlbHkgbW9yZSBleHBlbnNpdmUgKFwkMjEzKSwgd2hpbGUgcm9vbXMgd2hvc2Ugd2luZG93cyBkaXNwbGF5IGJvdGggdGhlIEFtZXJpY2FuIGFuZCBDYW5hZGlhbi1zaWRlIHZpZXcgb2YgdGhlIE5pYWdhcmEgRmFsbHMgYXJlIGNvbXBhcmF0aXZlbHkgdGhlIG1vc3QgZXhwZW5zaXZlIChcJDIzOCkuIE9uY2UgYWdhaW4sIG91ciBhbmFseXNpcyBvZiBob3RlbCByb29tIHByaWNlcyBpbmRpY2F0ZXMgYSBzaWduaWZpY2FudCAicHJpY2Ugb2YgaGVyaXRhZ2UiIGJ1aWx0IGludG8gdGhlIHJvb20gcmVudCBjaGFyZ2VkIGJ5IHRoZSBIaWx0b24gaG90ZWwuDQoNCiMjIDMuIEFuIGVtcGlyaWNhbCBmaWVsZCBzdHVkeSBvZiBIaWx0b24gaG90ZWwgcHJpY2VzIGF0IE5pYWdhcmEgRmFsbHMsIFVTQQ0KDQojIyAzLjEgT3ZlcnZpZXcNClRoZSBzcGVjaWZpYyBvYmplY3RpdmUgb2YgdGhpcyBTdHVkeSB3YXMgdG8gaW52ZXN0aWdhdGUgdGhlIHByaWNpbmcgc3RyYXRlZ3kgZW1wbG95ZWQgYnkgaG90ZWxzIGxvY2F0ZWQgYXQgaGVyaXRhZ2Ugc2l0ZXMgaW4gYSBkaWZmZXJlbnQgbG9jYWxlLiBUaGlzIHN0dWR5IGFuYWx5emVkIGhvdGVsIHByaWNlcyBhdCBOaWFnYXJhIEZhbGxzLCBVU0EuIE91ciBnb2FsIHdhcyB0byBjb21wYXJlIHByaWNlcyBvZiBob3RlbHMgcm9vbXMgd2l0aCBhIHZpZXcgb2YgdGhlIE5pYWdhcmEgRmFsbHMsIHdpdGggdGhlIHByaWNlcyBvZiByb29tcyB3aXRob3V0IGEgdmlldy4gVGhlIHJhdGlvbmFsZSBiZWhpbmQgdGhpcyBpcyBzdW1tYXJpemVkIG5leHQuIA0KVGhlIE5pYWdhcmEgRmFsbHMgYXJlIGEgY29sbGVjdGl2ZSBvZiB0aHJlZSB3YXRlcmZhbGxzLCBsb2NhdGVkIG9uIHRoZSBOaWFnYXJhIFJpdmVyIGF0IGludGVybmF0aW9uYWwgYm9yZGVyIGJldHdlZW4gQ2FuYWRhIGFuZCB0aGUgVW5pdGVkIFN0YXRlcy4gVGhlIFVTIENvbmdyZXNzIGRlc2lnbmF0ZWQgTmlhZ2FyYSBGYWxscyBhcyBhIE5hdGlvbmFsIEhlcml0YWdlIFBsYWNlIGluIDIwMDgsIGZvciBpdHMgbmF0dXJhbCBiZWF1dHkgYW5kIGVzdGhldGljIGltcG9ydGFuY2UuIChodHRwOi8vd3d3Lm5wcy5nb3YvbmlmYS9pbmRleC5odG0pLiBJdCBpcyBvbmUgb2YgdGhlIHdvcmxkJ3MgbW9zdCB2aXNpdGVkIHRvdXJpc3QgaGVyaXRhZ2UgcGxhY2VzLCB3aXRoIG1vcmUgdGhhbiAyMiBtaWxsaW9uIHRvdXJpc3RzIHBlciB5ZWFyIChodHRwOi8vYnVmZmFsb3Jpc2luZy5jb20pLg0KSW4gdGhpcyBTdHVkeSwgd2UgY29tcGFyZWQgdGhlIHByaWNlcyBvZiBob3RlbCByb29tcyB3aXRoIGEgJ2hlcml0YWdlIHZpZXcnIHdpdGggdGhlIHByaWNlcyBvZiBob3RlbCByb29tcyB3aXRob3V0IGEgJ2hlcml0YWdlIHZpZXcnLiBUYWtpbmcgY2x1ZXMgZnJvbSBoZWRvbmljIHByaWNpbmcgdGhlb3J5IChSb3NzZW4sIDE5NzQ7IFRvbWtvdmljaCBhbmQgRG9iaWUsIDE5OTUpLCB3ZSBiZWxpZXZlIHRoYXQgY29uc3VtZXJzIGFyZSBhc2tlZCB0byBwYXkgYSBwcmljZS1wcmVtaXVtIGZvciB0aGUgcGxlYXN1cmUgb2Ygd2F0Y2hpbmcgYSBoZXJpdGFnZSB2aWV3IGZyb20gdGhlIGhvdGVsIHJvb20uIElmIHRoZXJlIGlzIGEgcHJpY2Ugb2YgaGVyaXRhZ2UsIHdlIGV4cGVjdCB0aGF0IHRoZSBob3RlbCByb29tcyB3aXRoIGhlcml0YWdlIHZpZXdzIHdpbGwgYmUgcHJpY2VkIGhpZ2hlciB0aGFuIHRoZSBob3RlbCByb29tcyB3aXRob3V0IGhlcml0YWdlIHZpZXdzLCBhZnRlciBjb250cm9sbGluZyBmb3Igb3RoZXIgZmFjdG9ycy4gQWNjb3JkaW5nbHksIHdlIGNvbnN0cnVjdCB0aGUgZm9sbG93aW5nIGh5cG90aGVzaXM6DQoNCg0KKipIeXBvdGhlc2lzIEgxOioqICpUaGUgYXZlcmFnZSBwcmljZXMgb2YgaG90ZWwgcm9vbXMgYXQgaGVyaXRhZ2Ugc2l0ZXMgd2l0aCBoZXJpdGFnZSB2aWV3cyBhcmUgaGlnaGVyIHRoYW4gdGhlIHByaWNlcyBvZiBjb21wYXJhYmxlIGhvdGVsIHJvb21zIHdpdGhvdXQgaGVyaXRhZ2Ugdmlld3MuKiANCg0KDQojIyAzLjIgRGF0YQ0KRm9yIHRoaXMgc3R1ZHksIHdlIGNvbGxlY3RlZCBkYXRhIGZyb20gdGhlIEhpbHRvbiBob3RlbCB3ZWJzaXRlIChodHRwOi8vd3d3My5oaWx0b24uY29tL2VuL2hvdGVscy9vbnRhcmlvL2hpbHRvbi1uaWFnYXJhLWZhbGxzLWZhbGxzdmlldy1ob3RlbC1hbmQtc3VpdGVzLykuIFRoaXMgaG90ZWwgaXMgc2l0dWF0ZWQgbmVhciBOaWFnYXJhIEZhbGxzLCBhdCB0aGUgQW1lcmljYW4tQ2FuYWRpYW4gYm9yZGVyLiBJdCBvdmVybG9va3MgdGhlIE5pYWdhcmEgRmFsbHMgYW5kIHByb3ZpZGVzIGJyZWF0aC10YWtpbmcgdmlld3Mgb2YgdGhlIHNjZW5pYyBiZWF1dHkgb2YgTmlhZ2FyYSBGYWxscy4gVGhpcyBob3RlbCBoYXMgdGhyZWUgdHlwZXMgb2Ygcm9vbXMuIFNvbWUgcm9vbXMgcHJvdmlkZSBib3RoIEFtZXJpY2FuIGFuZCBDYW5hZGlhbiB2aWV3cyBvZiB0aGUgTmlhZ2FyYSBGYWxscywgc29tZSBvdGhlciByb29tcyBwcm92aWRlIGp1c3QgdGhlIENhbmFkaWFuIHZpZXcgb2YgdGhlIE5pYWdhcmEgRmFsbHMsIHdoaWxlIHRoZSByZW1haW5pbmcgcm9vbXMgZmFjZSB0aGUgY2l0eSBhbmQgdGhlcmVmb3JlIGRvIG5vdCBwcm92aWRlIGFueSB2aWV3IG9mIHRoZSBmYWxscy4gV2UgZXhwZWN0ZWQgdGhhdCBhIGNvbXBhcmlzb24gb2YgaG90ZWwgcm9vbXMgd2l0aCBkaWZmZXJlbnQgdmlld3MgZnJvbSB0aGUgd2luZG93cywgd291bGQgZXhwbGFpbiB0aGUgZXh0ZW50IHRvIHdoaWNoIGhvdGVscyBjaGFyZ2UgcHJpY2UgcHJlbWl1bXMgZm9yIGhlcml0YWdlIHZpZXdzLg0KV2UgZm9jdXNlZCBvbiBob3RlbCByb29tcyB0aGF0IGhhZCB0d28gcXVlZW4tc2l6ZWQgYmVkcy4gVGhpcyB0eXBlIG9mIHJvb20gd2FzIGF2YWlsYWJsZSB3aXRoIHRocmVlIHR5cGVzIG9mIHZpZXdzIGZyb20gdGhlIHdpbmRvdyAtLSAnQ2l0eSB2aWV3JywgJ0NhbmFkaWFuIHZpZXcnIGFuZCAnQW1lcmljYW4gYW5kIENhbmFkaWFuIHZpZXdzJywgYXMgc2hvd24gaW4gRmlndXJlIDMuIFRodXMsIHRoZSB0aHJlZSB0eXBlcyBvZiByb29tcyBpbiB0aGlzIGhvdGVsIHdlcmUgaW5jcmVhc2luZyBpbiB0aGVpciBsZXZlbCBvZiAiaGVyaXRhZ2UiLiBJdCBpcyB3b3J0aCBtZW50aW9uaW5nIHRoYXQgdGhlIEhpbHRvbiBob3RlbCBhbHNvIGhhZCBvdGhlciByb29tcyB3aXRoIGtpbmctc2l6ZWQgYmVkcyBhbmQgbGFyZ2VyIHN1aXRlcywgd2hpY2ggd2UgaWdub3JlZCBpbiBvcmRlciB0byByZXN0cmljdCB0aGUgc2NvcGUgb2Ygb3VyIGRhdGEgY29sbGVjdGlvbi4NCg0KPEluc2VydCBGaWd1cmU+DQoNCioqU2Vhc29uYWxpdHk6KiogVGhlIHByaWNpbmcgb2YgaG90ZWxzIGF0IGEgbG9jYXRpb24gbGlrZSB0aGUgTmlhZ2FyYSBGYWxscyBpcyBleHBlY3RlZCB0byBleGhpYml0IHN0cm9uZyBzZWFzb25hbGl0eS4gSGVuY2UsIGl0IG1hZGUgc2Vuc2UgICB0byBjb2xsZWN0IGEgY29tcHJlaGVuc2l2ZSBkYXRhc2V0IHRoYXQgcmVmbGVjdGVkIHRoZSBlZmZlY3RzIG9mIHNlYXNvbmFsaXR5LiBXZSBjb2xsZWN0ZWQgZGF0YSBvbiBKdWx5IDE1LCAyMDE0LiBXZSByZWNvcmRlZCB0aGUgcHJpY2Ugb2YgcmVzZXJ2aW5nIGEgcm9vbSBpbiBhZHZhbmNlLCBmb3IgZnV0dXJlIGRhdGVzIHJhbmdpbmcgZnJvbSBKdWx5IDE4LCAyMDE0IHRvIEZlYiAyNywgMjAxNS4gVGhpcyBkdXJhdGlvbiB3YXMgMjI0IGRheXMgb3IgMzIgd2Vla3MuIEhvdGVsIHJvb21zIGF0IE5pYWdhcmEgRmFsbHMgYXJlIGV4cGVjdGVkIHRvIGJlIG1vcmUgZXhwZW5zaXZlIGR1cmluZyB0aGUgcGVhayBzZWFzb24gYXQgTmlhZ2FyYSBGYWxscyAoSnVseSAtIE9jdG9iZXIpIGNvbXBhcmVkIHRvIHRoZSB3aW50ZXIgb2ZmLXNlYXNvbiAoTm92ZW1iZXIgLSBGZWJydWFyeSkuIFRoZXJlZm9yZSwgYW5hbHl6aW5nIHByaWNlcyBvdmVyIDMyIHdlZWtzIGhlbHBlZCB1cyBjaGFyYWN0ZXJpemUgdGhlIHByaWNlIG9mIGhlcml0YWdlLCBhZnRlciBjb250cm9sbGluZyBmb3IgcHJpY2UgdmFyaWF0aW9ucyBkdWUgdG8gc2Vhc29uYWxpdHkgYW5kIHJ1bGluZyBvdXQgdGhpcyBhbHRlcm5hdGUgZXhwbGFuYXRpb24gZm9yIHByaWNlIGRpc3BlcnNpb24uIEEgaG90ZWwgcm9vbSBpcyB0eXBpY2FsbHkgbW9yZSBleHBlbnNpdmUgZHVyaW5nIHRoZSB3ZWVrZW5kIChlLmcuIFNhdHVyZGF5KSBjb21wYXJlZCB0byB0aGUgcHJpY2Ugb2YgdGhlIHNhbWUgaG90ZWwgcm9vbSBkdXJpbmcgd2Vla2RheXMgKGUuZy4gV2VkbmVzZGF5KS4gSW5kZWVkLCBpdCBpcyBxdWl0ZSByZWFzb25hYmxlIHRoYXQgaG90ZWxzIGRpc2NyaW1pbmF0ZSBiZXR3ZWVuIGNvbnN1bWVycyBiYXNlZCBvbiB3aGV0aGVyIHRoZXkgcmVudCBhIHJvb20gZHVyaW5nIHRoZSB3ZWVrIG9yIGR1cmluZyB0aGUgd2Vla2VuZC4gSW4gb3JkZXIgdG8gYWNjdXJhdGVseSBtZWFzdXJlIHRoZSAicHJpY2Ugb2YgaGVyaXRhZ2UiIHdpdGggcmVzcGVjdCB0byB0aGUgdmlldyBvZiB0aGUgTmlhZ2FyYSBGYWxscywgaXQgd2FzIGNydWNpYWwgdG8gY29udHJvbCBmb3IgcHJpY2UgdmFyaWF0aW9uIGRyaXZlbiBieSB0aGlzIGZhY3Rvci4gVGhlcmVmb3JlLCB3ZSByZWNvcmRlZCBob3RlbCByb29tIHByaWNlcyBmb3Igcm9vbXMgaGF2aW5nIHRoZSB0aHJlZSB0eXBlcyBvZiB2aWV3cyBkZXNjcmliZWQgYWJvdmUsIGZvciBldmVyeSBXZWRuZXNkYXkgYW5kIFNhdHVyZGF5LCBkdXJpbmcgdGhlIEp1bHkgMTgsIDIwMTQgdG8gRmViIDI3LCAyMDE1LCB0aW1lZnJhbWUsIHRoZXJlYnkgZ2VuZXJhdGluZyAxOTUgZGF0YSBwb2ludHMuIFdlIHVzZWQgYSBkdW1teSB2YXJpYWJsZSBXZWVrZW5kdG8gaW5kaWNhdGUgd2hldGhlciBhIHBvc3RlZCBwcmljZSBjb3JyZXNwb25kZWQgdG8gYSB3ZWVrZW5kIFNhdHVyZGF5KFdlZWtlbmQ9MSkgb3IgYSB3ZWVrZGF5IFdlZG5lc2RheShXZWVrZW5kPTApLg0KDQoqKkhlcml0YWdlIFZpZXc6KiogV2UgdXNlZCBhIGR1bW15IHZhcmlhYmxlIEhlcml0YWdlVmlldyB0byBpbmRpY2F0ZSB3aGV0aGVyIGEgaG90ZWwgcm9vbSBvZmZlcmVkIGEgY2l0eSB2aWV3IChIZXJpdGFnZVZpZXcgPTApLCBvciB0aGUgcm9vbSBwcm92aWRlZCBvbmx5IGEgQ2FuYWRpYW4gdmlldyBvZiB0aGUgZmFsbHMgKEhlcml0YWdlVmlldyA9MSksIG9yIHRoZSByb29tIHByb3ZpZGVkIGJvdGggQW1lcmljYW4gYW5kIENhbmFkaWFuIHZpZXdzIG9mIHRoZSBOaWFnYXJhIEZhbGxzIChIZXJpdGFnZVZpZXcgPTIpLiBJbiBvdGhlciB3b3Jkcywgd2UgY2xhc3NpZmllZCB0aGUgdmlld3Mgb24gdGhyZWUgbGV2ZWxzIG9mIGhlcml0YWdlLiBJdCB3YXMgYWxzbyBwb3NzaWJsZSB0aGF0IHRoZSBwcmljZSBvZiBoZXJpdGFnZSBpcyBoaWdoZXIgZHVyaW5nIHRoZSB3ZWVrZW5kLCBjb21wYXJlZCB0byBhIHdlZWtkYXkuIEluIG9yZGVyIHRvIHJlc2VhcmNoIHRoaXMgcG9zc2liaWxpdHksIHdlIGFjY291bnRlZCBmb3IgYSBwb3NzaWJsZSBpbnRlcmFjdGlvbiBiZXR3ZWVuIFdlZWtlbmRhbmRIZXJpdGFnZS4NClByaWNlOiBXZSB1c2VkIHRoZSB2YXJpYWJsZSBQcmljZSB0byBpbmRpY2F0ZSB0aGUgcHJpY2Ugb2YgYSBob3RlbCByb29tLiBUaGUgcHJpY2VzIHJhbmdlZCBmcm9tICQxMzUgdG8gJDU3NS4gVGhlIHN1bW1hcnkgc3RhdGlzdGljcyBmb3IgdGhlIGhvdGVsIHJvb20gcHJpY2VzLCBicm9rZW4gZG93biBieSB0aGUgdHlwZSBvZiB2aWV3IG9uIG9mZmVyLCBhcmUgYXZhaWxhYmxlIGluIFRhYmxlIDMuICBBcyBzaG93biBpbiBUYWJsZSAzIGFuZCBGaWd1cmUgMywgdGhlIGF2ZXJhZ2Ugcm9vbSBwcmljZXMgd2VyZSAkMTg3LCAkMjEzIGFuZCAkMjM3IGZvciBlYWNoIHR5cGUgb2YgaG90ZWwgdmlldy4NCg0KPEluc2VydCBUYWJsZT4NCg0KIyMgMy4zIE1vZGVsDQpJbiBvcmRlciB0byB0ZXN0IEh5cG90aGVzaXMgMWEsIHdlIHByb3Bvc2VkIHRoZSBmb2xsb3dpbmcgbW9kZWw6DQoNCiQkUHJpY2U9IFxhbHBoYV8wICsgXGFscGhhXzEgIEhlcml0YWdlVmlldyArIFxhbHBoYV8yICBXZWVrZW5kICsgXGFscGhhXzMgIEhlcml0YWdlVmlldypXZWVrZW5kICsgXGVwc2lsb24kJA0KDQpgYGB7ciwgd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRX0NCiMgUmVhZCB0aGUgZGF0YQ0KTkYgPC0gcmVhZC5jc3YocGFzdGUoIk5pYWdhcmFGYWxscyBEYXRhLmNzdiIsIHNlcD0iIiksIHN0cmluZ3NBc0ZhY3RvcnM9RkFMU0UpDQphdHRhY2goTkYpDQojIE9MUyBNb2RlbA0KTTEgPC0gbG0oUHJpY2UuLi4uIH4gVmlldyAqIFdlZWtlbmQsIGRhdGE9TkYpDQpzdW1tYXJ5KE0xKQ0KYGBgDQoNCldlIGVzdGFibGlzaGVkIHRoZSBlZmZlY3Qgb2YgaGVyaXRhZ2UgdmlldyBvbiB0aGUgcHJpY2Ugb2YgYSBob3RlbCByb29tIHdpdGggdGhlIHNpbXBsZXN0IG1vZGVsLiBXZSByZWdyZXNzZWQgUHJpY2Ugb24gSGVyaXRhZ2VWaWV3LCBXZWVrZW5kYW5kIGFuIGludGVyYWN0aW9uIGJldHdlZW4gSGVyaXRhZ2VWaWV3IGFuZCBXZWVrZW5kLldlIGVzdGltYXRlZCBtb2RlbCwgdXNpbmcgbGluZWFyIGxlYXN0IHNxdWFyZXMuIElmIHRoZXJlIHdhcyBhICJwcmljZSBvZiBoZXJpdGFnZSIgaW4gdGhlIG1hcmtldCwgd2UgZXhwZWN0ZWQgdG8gZmluZCB0aGUgY29lZmZpY2llbnQgb2YgSGVyaXRhZ2VWaWV3IHRvIGJlIHBvc2l0aXZlLg0KDQojIyAzLjQgUmVzdWx0cw0KV2UgZm91bmQgZW1waXJpY2FsIHN1cHBvcnQgZm9yIEgxLiBUaGUgYXZlcmFnZSByb29tIHByaWNlIG9mIGhlcml0YWdlIHZpZXcgKEFtZXJpY2FuIGFuZCBDYW5hZGlhbiB2aWV3KSB3YXMgaGlnaGVyIHRoYW4gdGhlIHByaWNlcyBvZiBob3RlbCByb29tIHdpdGggQ2FuYWRpYW4gdmlldy4gU2ltaWxhcmx5IGF2ZXJhZ2UgcHJpY2UgZm9yIHRoZSBob3RlbCByb29tIHdpdGggQ2FuYWRpYW4gdmlldyB3YXMgaGlnaGVyIHRoYW4gdGhlIHByaWNlIG9mIGhvdGVsIHJvb20gd2l0aCBDaXR5IHZpZXcuIFRoZSByZWdyZXNzaW9uIGFuYWx5c2lzIHVzaW5nIE9yZGluYXJ5IExlYXN0IFNxdWFyZXMgeWllbGRlZCAkXGFscGhhXzE+MCQsIHdpdGggJHA8MC4wNSQgYXMgc2hvd24gaW4gVGFibGUgNC4gVGhlIGF2ZXJhZ2UgcHJpY2Ugb2YgaG90ZWwgcm9vbSBvbiB3ZWVrZW5kIHdhcyBhbHNvIGhpZ2hlciB0aGFuIHRoZSBwcmljZSBvZiBob3RlbCByb29tIG9uIHdlZWtkYXlzICRcYWxwaGFfMj4wJCwgd2l0aCAkcDwwLjA1JC4NCg0KPEluc2VydCBUYWJsZT4NCg0KIyMgNC4gQ29uY2x1c2lvbg0KVGhpcyBwYXBlciB3YXMgbW90aXZhdGVkIGJ5IHRoZSBuZWVkIGZvciByZXNlYXJjaCB0aGF0IGNvdWxkIGltcHJvdmUgb3VyIHVuZGVyc3RhbmRpbmcgb2YgaG93IGhlcml0YWdlIHRvdXJpc20gaW5mbHVlbmNlcyB0aGUgcHJpY2luZyBzdHJhdGVnaWVzIGluIHRoZSBob3RlbCBpbmR1c3RyeS4gVGhlIHVuaXF1ZSBjb250cmlidXRpb24gb2YgdGhpcyBwYXBlciBpcyB0aGF0IHdlIGludmVzdGlnYXRlZCB0aGUgcHJpY2UgcHJlbWl1bSBjaGFyZ2VkIGJ5IGhvdGVscyB0byBoZXJpdGFnZSB0b3VyaXN0cyB3aG8gdHJhdmVsIHRvIGV4cGVyaWVuY2UgbmF0dXJlIGFuZC9vciBjdWx0dXJlLiBXZSBmb3VuZCB0aGF0IHRvdXJpc3RzIHZpc2l0aW5nIE5pYWdhcmEgRmFsbHMgcGF5IGEgaGVmdHkgInByaWNlIG9mIGhlcml0YWdlIi4gV2Ugb2JzZXJ2ZWQgaG90ZWxzIGluIE5pYWdhcmEgRmFsbHMgcmVnaW9uIGNoYXJnaW5nIHByaWNlIHByZW1pdW1zIGZvciBleHBvc2luZyB0b3VyaXN0cyB0byBuYXR1cmFsIGhlcml0YWdlLiANCg0KDQojIyA1LiBSZWZlcmVuY2VzDQpcYmliaXRlbSB7MX1BZGFtLCBJc3NhaGFrdSwgYW5kIEZyYW5jaXMgRXJpYyBBbXVxdWFuZG9oLiAoMjAxNCkuIEhvdGVsIGNoYXJhY3RlcmlzdGljcyBhbmQgbG9jYXRpb24JZGVjaXNpb25zIGluIEt1bWFzaSBNZXRyb3BvbGlzLCBHaGFuYS4gVG91cmlzbSBHZW9ncmFwaGllcyBWb2wuIDE2LCBOby4gNCBwcCA2NTMJNjY4Lg0KDQpcYmliaXRlbXsyfUFrYWlrZSwgSC4gKDE5NzQpLiBBIG5ldyBsb29rIGF0IHRoZSBzdGF0aXN0aWNhbCBtb2RlbCBpZGVudGlmaWNhdGlvbi4gSUVFRSBUcmFuc2FjdGlvbnMgb24gQXV0b21hdGljIENvbnRyb2wsIDE5KDYpLCBwcC43MTYtNzIzLg0KQXNsYW0sIE0uIFMuIE0uLCBhbmQgTGVlIEpvbGxpZmZlICgyMDE1KS4gUmVwdXJwb3NpbmcgY29sb25pYWwgdGVhIGhlcml0YWdlIHRocm91Z2ggaGlzdG9yaWMJbG9kZ2luZy4gSm91cm5hbCBvZiBIZXJpdGFnZSBUb3VyaXNtIGFoZWFkLW9mLXByaW50OiAxLTE4Lg0KDQpcYmliaXRlbXsyfUJpZ25pZSwgSi4sIFNhbmNoZXosIE0uIGFuZCBTYW5jaGV6LCBKLiAoMjAwMSkuIFRvdXJpc20gaW1hZ2UsIGV2YWx1YXRpb24gdmFyaWFibGVzIGFuZCBhZnRlciBwdXJjaGFzZSBiZWhhdmlvdXI6IGludGVyLXJlbGF0aW9uc2hpcC4gVG91cmlzbSBNYW5hZ2VtZW50LCAyMig2KSwgcHAuNjA3LTYxNi4NCg0KXGJpYml0ZW17Mn1BZHZpc29yeSBDb3VuY2lsIG9uIEhpc3RvcmljIFByZXNlcnZhdGlvbiAyMDE0LCBBdmFpbGFibGUgZnJvbTogPGh0dHA6Ly9hY2hwLmdvdi8gWzI5IEp1bCAyMDE0XQ0KDQpcYmliaXRlbXsyfUJyaWRhLCBKLiwgTWVsZWRkdSwgTS4gYW5kIFB1bGluYSwgTS4gKDIwMTIpLiBVbmRlcnN0YW5kaW5nIFVyYmFuIFRvdXJpc20gQXR0cmFjdGl2ZW5lc3M6IFRoZSBDYXNlIG9mIHRoZSBBcmNoYWVvbG9naWNhbCBPdHppIE11c2V1bSBpbiBCb2x6YW5vLiBKb3VybmFsIG9mIFRyYXZlbCBSZXNlYXJjaCwgNTEoNiksIHBwLjczMC03NDEuDQoNClxiaWJpdGVtezJ9QnVmZmFsbyBSaXNpbmcgMjAxNCwgQXZhaWxhYmxlIGZyb206IDxodHRwOi8vYnVmZmFsb3Jpc2luZy5jb20vPi4gWzE1IEp1bCAyMDE0XS4NCg0KXGJpYml0ZW17Mn1DaGhhYnJhLCBEZWVwYWsgKDIwMTUpLiBBIGN1bHR1cmFsIGhvc3BpdGFsaXR5IGZyYW1ld29yayBmb3IgaGVyaXRhZ2UgYWNjb21tb2RhdGlvbnMuCUpvdXJuYWwgb2YgSGVyaXRhZ2UgVG91cmlzbSBhaGVhZC1vZi1wcmludCAxLTcuDQpDaGVuLCBDLiAoMjAwOCkuIEludmVzdGlnYXRpbmcgc3RydWN0dXJhbCByZWxhdGlvbnNoaXBzIGJldHdlZW4gc2VydmljZSBxdWFsaXR5LCBwZXJjZWl2ZWQgdmFsdWUsIHNhdGlzZmFjdGlvbiwgYW5kIGJlaGF2aW9yYWwgaW50ZW50aW9ucyBmb3IgYWlyIHBhc3NlbmdlcnM6IEV2aWRlbmNlIGZyb20gVGFpd2FuLiBUcmFuc3BvcnRhdGlvbiBSZXNlYXJjaCBQYXJ0IEE6IFBvbGljeSBhbmQgUHJhY3RpY2UsIDQyKDQpLCBwcC43MDktNzE3Lg0KDQpcYmliaXRlbXsyfUNoZW4sIEMuIGFuZCBUc2FpLCBELiAoMjAwNykuIEhvdyBkZXN0aW5hdGlvbiBpbWFnZSBhbmQgZXZhbHVhdGl2ZSBmYWN0b3JzIGFmZmVjdCBiZWhhdmlvcmFsIGludGVudGlvbnM/IFRvdXJpc20gTWFuYWdlbWVudCwgMjgoNCksIHBwLjExMTUtMTEyMi4NCg0KXGJpYml0ZW17Mn1DaG9pLCBULiBhbmQgQ2h1LCBSLiAoMjAwMSkuIERldGVybWluYW50cyBvZiBob3RlbCBndWVzdHMnIHNhdGlzZmFjdGlvbiBhbmQgcmVwZWF0IHBhdHJvbmFnZSBpbiB0aGUgSG9uZyBLb25nIGhvdGVsIGluZHVzdHJ5LiBJbnRlcm5hdGlvbmFsIEpvdXJuYWwgb2YgSG9zcGl0YWxpdHkgTWFuYWdlbWVudCwgMjAoMyksIHBwLjI3Ny0yOTcuDQoNClxiaWJpdGVtezJ9Q2hyaXN0aW5lIExpbSBhbmQgRmVsaXggQ2hhbiAoMjAxMSkuIEFuIGVjb25vbWV0cmljIGFuYWx5c2lzIG9mIGhvdGVsLW1vdGVsIHJvb20gbmlnaHRzIGluIE5ldyBaZWFsYW5kIHdpdGggc3RvY2hhc3RpYyBzZWFzb25hbGl0eS4gSW50LiBKLiBvZiBSZXZlbnVlIE1hbmFnZW1lbnQgVm9sLiA1LCBOby4gMXBwLiA2My04Mw0KDQpcYmliaXRlbXsyfUNodSwgUi4gYW5kIENob2ksIFQuICgyMDAwKS4gQW4gaW1wb3J0YW5jZS1wZXJmb3JtYW5jZSBhbmFseXNpcyBvZiBob3RlbCBzZWxlY3Rpb24gZmFjdG9ycyBpbiB0aGUgSG9uZyBLb25nIGhvdGVsIGluZHVzdHJ5OiBhIGNvbXBhcmlzb24gb2YgYnVzaW5lc3MgYW5kIGxlaXN1cmUgdHJhdmVsZXJzLiBUb3VyaXNtIE1hbmFnZW1lbnQsIDIxKDQpLCBwcC4zNjMtMzc3Lg0KDQpcYmliaXRlbXsyfUNpbmR5IFlvb25qb3VuZywgSGVvIFNlb2tpIExlZSAoMjAxMCkuIEN1c3RvbWVycycgcGVyY2VwdGlvbnMgb2YgZGVtYW5kIGRyaXZlbiBwcmljaW5nCWluIHJldmVudWUgbWFuYWdlbWVudCBjb250ZXh0IGNvbXBhcmlzb25zIG9mIHNpeCB0b3VyaXNtIGFuZCBob3NwaXRhbGl0eQlpbmR1c3RyaWVzLiBJbnQuIEouIG9mIFJldmVudWUgTWFuYWdlbWVudCBWb2wuIDIsIE5vLiAzIHBwLiAyNjMtMjczDQoNClxiaWJpdGVtezJ9Q2xld2VyLCBBLiwgUGFjaywgQS4sIE0uIFNpbmNsYWlyLCBKb2huc29uLCBQLiBhbmQgVGhvbWFzLCBCLiAoMTk5MikgUHJpY2UgY29tcGV0aXRpdmVuZXNzIGFuZCBpbmNsdXNpdmUgdG91ciBob2xpZGF5cyBpbiBFdXJvcGVhbiBjaXRpZXMuIENob2ljZSBhbmQgZGVtYW5kIGluIHRvdXJpc20sIHBwOjEyMy0xNDMuDQoNClxiaWJpdGVtezJ9Q3JvbmluIEpyLCBKLiBKb3NlcGgsIGFuZCBTdGV2ZW4gQS4gVGF5bG9yLiAoMTk5MikuIE1lYXN1cmluZyBzZXJ2aWNlIHF1YWxpdHk6IGEgcmVleGFtaW5hdGlvbiBhbmQgZXh0ZW5zaW9uLiAgVGhlIGpvdXJuYWwgb2YgbWFya2V0aW5nLCBwcDo1NS02OC4NCg0KXGJpYml0ZW17Mn1Dcm9uaW4sIEouLCBCcmFkeSwgTS4gYW5kIEh1bHQsIEcuICgyMDAwKS4gQXNzZXNzaW5nIHRoZSBlZmZlY3RzIG9mIHF1YWxpdHksIHZhbHVlLCBhbmQgY3VzdG9tZXIgc2F0aXNmYWN0aW9uIG9uIGNvbnN1bWVyIGJlaGF2aW9yYWwgaW50ZW50aW9ucyBpbiBzZXJ2aWNlIGVudmlyb25tZW50cy4gSm91cm5hbCBvZiBSZXRhaWxpbmcsIDc2KDIpLCBwcC4xOTMtMjE4Lg0KDQpcYmliaXRlbXsyfWRlIFJvamFzLCBDLiBhbmQgQ2FtYXJlcm8sIEMuICgyMDA4KS4gVmlzaXRvcnMnIGV4cGVyaWVuY2UsIG1vb2QgYW5kIHNhdGlzZmFjdGlvbiBpbiBhIGhlcml0YWdlIGNvbnRleHQ6IEV2aWRlbmNlIGZyb20gYW4gaW50ZXJwcmV0YXRpb24gY2VudGVyLiBUb3VyaXNtIE1hbmFnZW1lbnQsIDI5KDMpLCBwcC41MjUtNTM3Lg0KDQpcYmliaXRlbXsyfURyYW5vdmUsIEQuLCBHcm9uLCBBLiBhbmQgTWF6emVvLCBNLiAoMjAwMykuIERpZmZlcmVudGlhdGlvbiBhbmQgQ29tcGV0aXRpb24gaW4gSE1PIE1hcmtldHMuIEogSW5kdXN0cmlhbCBFY29ub21pY3MsIDUxKDQpLCBwcC40MzMtNDU0Lg0KRHViZSwgTC4gYW5kIFJlbmFnaGFuLCBMLiAoMjAwMCkuIENyZWF0aW5nIFZpc2libGUgQ3VzdG9tZXIgVmFsdWU6IEhvdyBDdXN0b21lcnMgVmlldyBCZXN0LXByYWN0aWNlIENoYW1waW9ucy4gQ29ybmVsbCBIb3RlbCBhbmQgUmVzdGF1cmFudCBBZG1pbmlzdHJhdGlvbiBRdWFydGVybHksIDQxKDEpLCBwcC42Mi03Mi4NCg0KXGJpYml0ZW17Mn1EdW1hbiwgVC4gYW5kIE1hdHRpbGEsIEEuICgyMDA1KS4gVGhlIHJvbGUgb2YgYWZmZWN0aXZlIGZhY3RvcnMgb24gcGVyY2VpdmVkIGNydWlzZSB2YWNhdGlvbiB2YWx1ZS4gVG91cmlzbSBNYW5hZ2VtZW50LCAyNigzKSwgcHAuMzExLTMyMy5FbWJhc3N5IFN1aXRzIGJ5IEhpbHRvbiAyMDE0LCBBdmFpbGFibGUgZnJvbTogPGh0dHA6Ly93d3cuZW1iYXNzeXN1aXRlc25pYWdhcmEuY29tLz4uIFsxNSBKdWwgMjAxNF0uDQoNClxiaWJpdGVtezJ9RXNwaW5ldCwgSi4sIFNhZXosIE0uLCBDb2VuZGVycywgRy4gYW5kIEZsdXZpwyAsIE0uICgyMDAzKS4gRWZmZWN0IG9uIHByaWNlcyBvZiB0aGUgYXR0cmlidXRlcyBvZiBob2xpZGF5IGhvdGVsczogYSBoZWRvbmljIHByaWNlcyBhcHByb2FjaC4gVG91cmlzbSBFY29ub21pY3MsIDkoMiksIHBwLjE2NS0xNzcuDQoNClxiaWJpdGVtezJ9SGlsdG9uIGhvdGVscyBhbmQgcmVzb3J0cyAyMDE0LCBBdmFpbGFibGUgZnJvbTogPGh0dHA6Ly93d3czLmhpbHRvbi5jb20vZW4vaG90ZWxzL29udGFyaW8vaGlsdG9uLW5pYWdhcmEtZmFsbHMtZmFsbHN2aWV3LWhvdGVsLWFuZHN1aXRlcy9pbmRleC5odG1sID4uIFsxNCBKdWwgMjAxNF0uDQoNClxiaWJpdGVtezJ9SG9mZm1hbiwgSy4sIFR1cmxleSwgTC4gYW5kIEtlbGxleSwgUy4gKDIwMDIpLiBQcmljaW5nIHJldGFpbCBzZXJ2aWNlcy4gSm91cm5hbCBvZiBCdXNpbmVzcyBSZXNlYXJjaCwgNTUoMTIpLCBwcC4xMDE1LTEwMjMuDQoNClxiaWJpdGVtezJ9SHVhbmcsIEMuLCBUc2F1ciwgSi4gYW5kIFlhbmcsIEMuICgyMDEyKS4gRG9lcyB3b3JsZCBoZXJpdGFnZSBsaXN0IHJlYWxseSBpbmR1Y2UgbW9yZSB0b3VyaXN0cz8gRXZpZGVuY2UgZnJvbSBNYWNhdS4gVG91cmlzbSBNYW5hZ2VtZW50LCAzMyg2KSwgcHAuMTQ1MC0xNDU3Lg0KDQpcYmliaXRlbXsyfUh1bmcsIFcuLCBTaGFuZywgSi4gYW5kIFdhbmcsIEYuICgyMDEwKS4gUHJpY2luZyBkZXRlcm1pbmFudHMgaW4gdGhlIGhvdGVsIGluZHVzdHJ5OiBRdWFudGlsZSByZWdyZXNzaW9uIGFuYWx5c2lzLiBJbnRlcm5hdGlvbmFsIEpvdXJuYWwgb2YgSG9zcGl0YWxpdHkgTWFuYWdlbWVudCwgMjkoMyksIHBwLjM3OC0zODQuDQoNClxiaWJpdGVtezJ9SXZhbm92LCBTLiAoMjAxNCkuIFByaWNlIERpc2NyaW1pbmF0aW9uIGFzIGEgSG90ZWwgUmV2ZW51ZSBNYW5hZ2VtZW50IFRvb2wgLSBGcm9tIFRoZW9yeSB0byBQcmFjdGljZS4gU1NSTiBKb3VybmFsLg0KSmFpbiwgTmVldHUgKDIwMTQpLiBFeHBsb3JpbmcgdGhlIHJpZ2h0IGNvbmR1Y3Qgb2YgYSBtYW5hZ2VyOiBpbnNpZ2h0cyBmcm9tIEluZGlhbgltYW5hZ2VtZW50LiBJbnRlcm5hdGlvbmFsIEpvdXJuYWwgb2YgSW5kaWFuIEN1bHR1cmUgYW5kIEJ1c2luZXNzCU1hbmFnZW1lbnQgVm9sLgk5LE5vLiAxIHBwIDU1LTczLg0KDQpcYmliaXRlbXsyfUtlemVvciwgSi4sICYgUmFuc29tLCBFLiAoMjAxMSkuIENvbGxlZ2Ugb2YgQnVzaW5lc3MgQWRtaW5pc3RyYXRpb24sIFVuaXZlcnNpdHkgb2YgTmVicmFza2EtTGluY29sbg0KTGVpLCBXZW5nIFNpIENsYXJhLCBhbmQgQ2hpbmcgQ2hpIENpbmRpYSBMYW0gKDIwMTUpLiBEZXRlcm1pbmFudHMgb2YgaG90ZWwgb2NjdXBhbmN5CXJhdGUgaW4gYSBDaGluZXNlIGdhbWluZyBkZXN0aW5hdGlvbi4gSm91cm5hbCBvZiBIb3NwaXRhbGl0eSBhbmQgVG91cmlzbQlNYW5hZ2VtZW50IFZvbC4gMjIgTm8uMSBwcC4gMS05Lg0KDQpcYmliaXRlbXsyfUxlbyBNYWNEb25hbGQsIENocmlzIEsuIEFuZGVyc29uLCBhbmQgSGVubmluZyBSYXNtdXNzZW4gKDIwMTApLiBQcmljaW5nIGFuZCBpbnZlbnRvcnkJcG9saWNpZXMgdW5kZXItcHJpY2luZyB0cmFjaW5nIGJlaGF2aW91ci4gSW50LiBKLiBvZiBSZXZlbnVlIE1hbmFnZW1lbnQuIFZvbC4gNCwgTm8uIDEgcHAuIDEtMjENCg0KXGJpYml0ZW17Mn1MaWFuIENoYW4sIEouIGFuZCBCYXVtLCBULiAoMjAwNykuIEVjb3RvdXJpc3RzJyBQZXJjZXB0aW9uIG9mIEVjb3RvdXJpc20gRXhwZXJpZW5jZSBpbiBMb3dlciBLaW5hYmF0YW5nYW4sIFNhYmFoLCBNYWxheXNpYS4gSm91cm5hbCBvZiBTdXN0YWluYWJsZSBUb3VyaXNtLCAxNSg1KSwgcHAuNTc0LTU5MC4NCg0KXGJpYml0ZW17Mn1MaW5nLCBMaXV5aSwgWGlhb2xvbmcgR3VvLCBhbmQgTGluYSBIZSAoMjAxMikuIE9wdGltYWwgcHJpY2luZyBzdHJhdGVneSBvZiBob3RlbCBmb3IgbG9uZwl0ZXJtIHN0YXkuIEludGVybmF0aW9uYWwgSm91cm5hbCBvZiBTZXJ2aWNlcyBUZWNobm9sb2d5IGFuZCBNYW5hZ2VtZW50LiBWb2wuIDE3LAlOby4xIHBwIDcyLTg2Lg0KDQpcYmliaXRlbXsyfUxvY2t5ZXIsIFQuICgyMDA1KS4gVW5kZXJzdGFuZGluZyB0aGUgZHluYW1pY3Mgb2YgdGhlIGhvdGVsIGFjY29tbW9kYXRpb24gcHVyY2hhc2UgZGVjaXNpb24uIEludC4gSiBDb250ZW1wIEhvc3BpdGFsaXR5IE1uZ3QuLCAxNyg2KSwgcHAuNDgxLTQ5Mi4NCg0KXGJpYml0ZW17Mn1NYW5kYWxhLCBMYXVyYS4gKDIwMDkpIFRoZSBDdWx0dXJhbCBhbmQgSGVyaXRhZ2UgVHJhdmVsZXIuIE1hbmRhbGEgUmVzZWFyY2ggU3R1ZHkuDQpNYXRodXIsIFNhbWVlciwgYW5kIFByZW0gUHJha2FzaCBEZXdhbmkuIEluZmx1ZW5jZSBvZiBjdWx0dXJhbCBoZXJpdGFnZSBvbiBob3RlbCBwcmljZXMsCW9jY3VwYW5jeSBhbmQgcHJvZml0OiB0aGVvcnkgYW5kIGV2aWRlbmNlLiBUb3VyaXNtIEVjb25vbWljcyAoMjAxNSkuDQoNClxiaWJpdGVtezJ9TWF6emVvLCBNLiAoMjAwMikuIFByb2R1Y3QgQ2hvaWNlIGFuZCBPbGlnb3BvbHkgTWFya2V0IFN0cnVjdHVyZS4gVGhlIFJBTkQgSm91cm5hbCBvZiBFY29ub21pY3MsIDMzKDIpLCBwLjIyMS4NCg0KXGJpYml0ZW17Mn1Nb255YW5lLCBNYWxlZmFuZSBTdGVwaGVuICgyMDE0KS4gUHJpY2luZyBTdHJhdGVneSBGb3IgdGhlIFVyYmFuIFRvdXJpc20gQXJlYXM6IEEgVG9vbAlmb3IgUmVnaW9uYWwgVG91cmlzbSBEZXZlbG9wbWVudCBhbmQgU3VzdGFpbmFiaWxpdHkuIEluIEdsb2JhbCBDb25mZXJlbmNlIG9uCUJ1c2luZXNzICYgRmluYW5jZSBQcm9jZWVkaW5ncywgVm9sLiA5LCBOby4gMSwgcHAuIDIxLTIyLiANCg0KXGJpYml0ZW17Mn1Nb3JyaXNvbiwgTC4gKDE5NzkpLiBSZS1kZXRlcm1pbmF0aW9uIG9mIHRoZSBkZWNhZGUgZmx1Y3R1YXRpb25zIGluIHRoZSByb3RhdGlvbiBvZiB0aGUgRWFydGggaW4gdGhlIHBlcmlvZCAxODYxLTE5NzguIEdlb3BoeXNpY2FsIEpvdXJuYWwgSW50ZXJuYXRpb25hbCwgNTgoMiksIHBwLjM0OS0zNjAuDQoNClxiaWJpdGVtezJ9TmF0aW9uYWwgSGVyaXRhZ2UgQXJlYXMgVVNBIDIwMTQsIEF2YWlsYWJsZSBmcm9tOiA8aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9OYXRpb25hbF9IZXJpdGFnZV9BcmVhPi4gWzI5IEp1bCAyMDE0XS4NCg0KXGJpYml0ZW17Mn1OYXRpb25hbCBQYXJrIFNlcnZpY2VzIDIwMTQsIEF2YWlsYWJsZSBmcm9tOiA8aHR0cDovL3d3dy5ucHMuZ292L25pZmEvaW5kZXguaHRtPi4gWzE0IEp1bCAyMDE0XS4NCg0KXGJpYml0ZW17Mn1OaWFncmEgRmFsbHMgT25lIHdvbmRlciBhZnRlciBhbm90aGVyIDIwMTQsIEF2YWlsYWJsZSBmcm9tOiA8aHR0cDovL25pYWdhcmFmYWxsc3RvdXJpc20uY29tLz4uIFsyOCBKdWwgMjAxNF0uDQoNClxiaWJpdGVtezJ9TnVyeWFudGksIFcuICgxOTk2KS4gSGVyaXRhZ2UgYW5kIHBvc3Rtb2Rlcm4gdG91cmlzbS4gQW5uYWxzIG9mIFRvdXJpc20gUmVzZWFyY2gsIDIzKDIpLCBwcC4yNDktMjYwLg0KDQpcYmliaXRlbXsyfU9iZXJvaSBob3RlbHMgYW5kIHJlc29ydHMgVGhlIE9iZXJvaSBSYWp2aWxhcyBKYWlwdXIgSW5kaWEgMjAxNCwgQXZhaWxhYmxlIGZyb206IDxodHRwOi8vd3d3Lm9iZXJvaWhvdGVscy5jb20vb2Jlcm9pX3JhanZpbGFzLz4gWzI4IEp1bCAyMDE0XS4NCg0KXGJpYml0ZW17Mn1PYmVyb2kgaG90ZWxzIGFuZCByZXNvcnRzIFRoZSBPYmVyb2kgUmFqdmlsYXMgQmFuZ2Fsb3JlIEluZGlhIDIwMTQsIEF2YWlsYWJsZSBmcm9tOiA8aHR0cDovL3d3dy5vYmVyb2lob3RlbHMuY29tL29iZXJvaV9iYW5nYWxvcmUvPiBbMjggSnVsIDIwMTRdLg0KDQpcYmliaXRlbXsyfU90dG8sIEouIGFuZCBSaXRjaGllLCBKLiAoMTk5NikuIFRoZSBzZXJ2aWNlIGV4cGVyaWVuY2UgaW4gdG91cmlzbS4gVG91cmlzbSBNYW5hZ2VtZW50LCAxNygzKSwgcHAuMTY1LTE3NC4NCg0KXGJpYml0ZW17Mn1QYXBhdGhlb2Rvcm91LCBBLiAoMjAwMikuIENpdmlsIGF2aWF0aW9uIHJlZ2ltZXMgYW5kIGxlaXN1cmUgdG91cmlzbSBpbiBFdXJvcGUuIEpvdXJuYWwgb2YgQWlyIFRyYW5zcG9ydCBNYW5hZ2VtZW50LCA4KDYpLCBwcC4zODEtMzg4Lg0KDQpcYmliaXRlbXsyfVBl8WEsIEFuYSBJc2FiZWwgUG9sbywgRG9sb3JlcyBNYXLtYSBGcu1hcyBKYW1pbGVuYSwgTWlndWVsIMFuZ2VsIFJvZGlndWV6IE1vbGluYSwgYW5kCUpvcmdlIENoaWNhIE9sbW8gKDIwMTUpLiBSdXJhbCBsb2RnaW5nIGVzdGFibGlzaG1lbnRzOiBlZmZlY3RzIG9mIGxvY2F0aW9uIGFuZAlpbnRlcm5hbCByZXNvdXJjZXMgYW5kIGNoYXJhY3RlcmlzdGljcyBvbiByb29tIHJhdGVzLiBUb3VyaXNtIEdlb2dyYXBoaWVzIFZvbC4gMTcsCU5vLjEgcHAgOTEtMTExLg0KDQpcYmliaXRlbXsyfVBvZG9zaGVuLCBKZWZmcmV5IFMuLCBKYW1lcyBNLiBIdW50LCBhbmQgU3VzYW4gQS4gQW5kcnplamV3c2tpICgyMDE1KSBBdHRyaWJ1dGlvbglQcm9jZXNzZXMgaW4gQ3Jvc3MtQ3VsdHVyYWwgSGVyaXRhZ2UgVG91cmlzbS4gSm91cm5hbCBvZiBJbnRlcm5hdGlvbmFsIENvbnN1bWVyCU1hcmtldGluZyBWb2wuIDI3LCBOby4gMiBwcCAxMjMtMTM2Lg0KDQpcYmliaXRlbXsyfVBvcmlhLCBZLiwgUmVpY2hlbCwgQS4gYW5kIENvaGVuLCBSLiAoMjAxMykuIFRvdXJpc3RzIHBlcmNlcHRpb25zIG9mIFdvcmxkIEhlcml0YWdlIFNpdGUgYW5kIGl0cyBkZXNpZ25hdGlvbi4gVG91cmlzbSBNYW5hZ2VtZW50LCAzNSwgcHAuMjcyLTI3NC4NCg0KXGJpYml0ZW17Mn1SZWlzaW5nZXIsIFkuLCBhbmQgVHVybmVyLCBMLiAoMjAwMykgQ3Jvc3MtY3VsdHVyYWwgYmVoYXZpb3VyIGluIHRvdXJpc206IENvbmNlcHRzIGFuZCBhbmFseXNpcy4gRWxzZXZpZXIuDQoNClxiaWJpdGVtezJ9UmljaGFyZHMsIEcuICgxOTk2KS4gUHJvZHVjdGlvbiBhbmQgY29uc3VtcHRpb24gb2YgRXVyb3BlYW4gY3VsdHVyYWwgdG91cmlzbS4gQW5uYWxzIG9mIFRvdXJpc20gUmVzZWFyY2gsIDIzKDIpLCBwcC4yNjEtMjgzLg0KDQpcYmliaXRlbXsyfVJvc2VuLCBTLiAoMTk3NCkuIEhlZG9uaWMgUHJpY2VzIGFuZCBJbXBsaWNpdCBNYXJrZXRzOiBQcm9kdWN0IERpZmZlcmVudGlhdGlvbiBpbiBQdXJlIENvbXBldGl0aW9uLiBKb3VybmFsIG9mIFBvbGl0aWNhbCBFY29ub215LCA4MigxKSwgcC4zNC4NCg0KXGJpYml0ZW17Mn1Sb3dsZXksIEouICgxOTk3KS4gUHJpbmNpcGxlcyBvZiBwcmljZSBhbmQgcHJpY2luZyBwb2xpY3kgZm9yIHRoZSBpbmZvcm1hdGlvbiBtYXJrZXRwbGFjZS4gTGlicmFyeSBSZXZpZXcsIDQ2KDMpLCBwcC4xNzktMTg5Lg0KDQpcYmliaXRlbXsyfVNhbPMsIEFsYmVydCwgQW5uYSBHYXJyaWdhLCBSaWNhcmQgUmlnYWxsLUktVG9ycmVudCwgTWFyIFZpbGEsIGFuZCBNb2Rlc3QgRmx1dmngICgyMDE0KS4JRG8gaW1wbGljaXQgcHJpY2VzIGZvciBob3RlbHMgYW5kIHNlY29uZCBob21lcyBzaG93IGRpZmZlcmVuY2VzIGluIHRvdXJpc3RzJwl2YWx1YXRpb24gZm9yCXB1YmxpYyBhdHRyaWJ1dGVzIGZvciBlYWNoIHR5cGUgb2YgYWNjb21tb2RhdGlvbiBmYWNpbGl0eT8uCUludGVybmF0aW9uYWwgSm91cm5hbCBvZiBIb3NwaXRhbGl0eSBNYW5hZ2VtZW50IFZvbC4gMzYgTm8uIDEuIDEyMC0xMjkuDQoNClxiaWJpdGVtezJ9U2Nod2FyeiwgRy4gKDE5NzgpLiBFc3RpbWF0aW5nIHRoZSBEaW1lbnNpb24gb2YgYSBNb2RlbC4gVGhlIEFubmFscyBvZiBTdGF0aXN0aWNzLCA2KDIpLCBwcC40NjEtNDY0Lg0KDQpcYmliaXRlbXsyfVNpbGJlcmJlcmcsIFQuICgxOTk1KS4gQ3VsdHVyYWwgdG91cmlzbSBhbmQgYnVzaW5lc3Mgb3Bwb3J0dW5pdGllcyBmb3IgbXVzZXVtcyBhbmQgaGVyaXRhZ2Ugc2l0ZXMuIFRvdXJpc20gTWFuYWdlbWVudCwgMTYoNSksIHBwLjM2MS0zNjUuDQoNClxiaWJpdGVtezJ9U2luY2xhaXIsIE0uIGFuZCBUc2VnYXllLCBBLiAoMTk5MCkuIEludGVybmF0aW9uYWwgdG91cmlzbSBhbmQgZXhwb3J0IGluc3RhYmlsaXR5LiBKb3VybmFsIG9mIERldmVsb3BtZW50IFN0dWRpZXMsIDI2KDMpLCBwcC40ODctNTA0Lg0KDQpcYmliaXRlbXsyfVNteXRoLCBHb3Jkb24gSy4sIGFuZCBWZXJieWxhLCBBLigxOTk2KS4gQSBjb25kaXRpb25hbCBsaWtlbGlob29kIGFwcHJvYWNoIHRvIHJlc2lkdWFsIG1heGltdW0gbGlrZWxpaG9vZCBlc3RpbWF0aW9uIGluIGdlbmVyYWxpemVkIGxpbmVhciBtb2RlbHMuIEpvdXJuYWwgb2YgdGhlIFJveWFsIFN0YXRpc3RpY2FsIFNvY2lldHkuIFNlcmllcyBCIChNZXRob2RvbG9naWNhbCkgcHAuIDU2NS01NzIuDQoNClxiaWJpdGVtezJ9U25pciwgR2lkZW9uICgyMDE0KS4gSW50ZXJuYXRpb25hbCBidXNpbmVzcyBuZWdvdGlhdGlvbnM6IGRvIGN1bHR1cmFsIGRpZmZlcmVuY2VzIG1hdHRlcj8gVGhlCWNhc2Ugb2YJSW5kaWEgYW5kIElzcmFlbDogcmVzZWFyY2ggcmVwb3J0LiBJbnRlcm5hdGlvbmFsIEpvdXJuYWwgb2YgSW5kaWFuIEN1bHR1cmUgYW5kCUJ1c2luZXNzIE1hbmFnZW1lbnQgVm9sLiA4LCBOby4gMy4gcHAgMzYxLTM4Ni4NCg0KXGJpYml0ZW17Mn1TdHJhdXNzLCBDLiBhbmQgTG9yZCwgQi4gKDIwMDEpLiBFY29ub21pYyBpbXBhY3RzIG9mIGEgaGVyaXRhZ2UgdG91cmlzbSBzeXN0ZW0uIEpvdXJuYWwgb2YgUmV0YWlsaW5nIGFuZCBDb25zdW1lciBTZXJ2aWNlcywgOCg0KSwgcHAuMTk5LTIwNC4NCg0KXGJpYml0ZW17Mn1Td2VlbmV5LCBKLiwgU291dGFyLCBHLiBhbmQgSm9obnNvbiwgTC4gKDE5OTkpLiBUaGUgcm9sZSBvZiBwZXJjZWl2ZWQgcmlzayBpbiB0aGUgcXVhbGl0eS12YWx1ZSByZWxhdGlvbnNoaXA6IEEgc3R1ZHkgaW4gYSByZXRhaWwgZW52aXJvbm1lbnQuIEpvdXJuYWwgb2YgUmV0YWlsaW5nLCA3NSgxKSwgcHAuNzctMTA1Lg0KDQpcYmliaXRlbXsyfVRob21hcyBBLiBNYWllciAoMjAxMSkuIEhvc3BpdGFsaXR5IGluZHVzdHJ5IHJldmVudWUgbWFuYWdlbWVudCBwZXJmb3JtYW5jZQltb2RlbGxpbmc6CXVuY292ZXJpbmcgaXNzdWVzIGFzc29jaWF0ZWQgd2l0aCBpbmNvbnNpc3RlbmNpZXMgaW4gcHJpY2UgcGFyaXR5CWFjcm9zcyBtdWx0aXBsZQlkaXN0cmlidXRpb24gY2hhbm5lbHMgaW4gdGhlIFVTIGhvdGVsIG1hcmtldC4gIEludC4gSi4gb2YJUmV2ZW51ZSBNYW5hZ2VtZW50IFZvbC4gNSwJTm8uIDQgcHAuIDI5Ni0zMDcNCg0KXGJpYml0ZW17Mn0gVGhvbWFzIEEuIE1haWVyICgyMDEzKS4gUmV2ZW51ZSBtYW5hZ2VtZW50IGltcGxpY2F0aW9ucyBvZiBicmFuZGVkIHZzLiBpbmRlcGVuZGVudAlob3RlbHMgcHJpY2UtcGFyaXR5IGFuZCBvbmxpbmUgZGlzdHJpYnV0aW9uIGVmZmVjdGl2ZW5lc3MgSW50LiBKLiBvZiBSZXZlbnVlCU1hbmFnZW1lbnQgVm9sLiAzLCBOby4xIHBwLiAyMS0zOQ0KDQpcYmliaXRlbXsyfVVuaXRlZCBOYXRpb25zIEVkdWNhdGlvbmFsIFNjaWVudGlmaWMgYW5kIEN1bHR1cmFsIE9yZ2FuaXphdGlvbiAyMDE0LCBBdmFpbGFibGUgZnJvbTogPGh0dHA6Ly93aGMudW5lc2NvLm9yZy9lbi9saXN0LzI1Mj4uIFsyOSBKdWwgMjAxNF0uDQoNClxiaWJpdGVtezJ9VW5pdGVkIE5hdGlvbnMgRWR1Y2F0aW9uYWwgU2NpZW50aWZpYyBhbmQgQ3VsdHVyYWwgT3JnYW5pemF0aW9uIDIwMTQsIEF2YWlsYWJsZSBmcm9tOiA8aHR0cDovL3doYy51bmVzY28ub3JnLz4uIFsyOSBKdWwgMjAxNF0uDQoNClxiaWJpdGVtezJ9V3UsIEwuICgxOTk5KS4gVGhlIHByaWNpbmcgb2YgYSBicmFuZCBuYW1lIHByb2R1Y3QuIEpvdXJuYWwgb2YgQnVzaW5lc3MgVmVudHVyaW5nLCAxNCgxKSwgcHAuODctMTAyLg0KDQpcYmliaXRlbXsyfVlhbmcsIFlhbmcsIEhhbyBMdW8sIGFuZCBSb2IgTGF3ICgyMDE0KS4gVGhlb3JldGljYWwsIGVtcGlyaWNhbCwgYW5kIG9wZXJhdGlvbmFsIG1vZGVscwlpbiBob3RlbCBsb2NhdGlvbiByZXNlYXJjaC4gSW50ZXJuYXRpb25hbCBKb3VybmFsIG9mIEhvc3BpdGFsaXR5IE1hbmFnZW1lbnQgVm9sLiAzNglOby4gMS4gMjA5LTIyMC4NCg0KXGJpYml0ZW17Mn1ZYW5nLCBDLiwgTGluLCBILiBhbmQgSGFuLCBDLiAoMjAxMCkuIEFuYWx5c2lzIG9mIGludGVybmF0aW9uYWwgdG91cmlzdCBhcnJpdmFscyBpbiBDaGluYTogVGhlIHJvbGUgb2YgV29ybGQgSGVyaXRhZ2UgU2l0ZXMuIFRvdXJpc20gTWFuYWdlbWVudCwgMzEoNiksIHBwLjgyNy04MzcuDQoNClxiaWJpdGVtezJ9WWFsZSwgUGF0LiAoMTk5MSkuIEZyb20gdG91cmlzdCBhdHRyYWN0aW9ucyB0byBoZXJpdGFnZSB0b3VyaXNtLiBFTE0gcHVibGljYXRpb25zLg0KDQoNCiMjIFRhYmxlIDE6IFN1bW1hcnkgU3RhdGlzdGljcyBpbiB0aGUgTmlhZ2FyYSBGYWxscyBTdHVkeQ0KDQp8IFZpZXcgZnJvbSB0aGUgSG90ZWwgUm9vbSAgfFNhbXBsZSAoTikgfFByaWNlIGluICQgTWVhbiAoU0QpICAgfA0KfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwNCnwgQ2l0eSBWaWV3ICAgICAgICAgICAgICAgICB8NjUgICAgICAgICB8JDE4Ni42OSAoNzMuODQpICAgICAgICB8DQp8IENhbmFkaWFuIFZpZXcgICAgICAgICAgICAgfDY1ICAgICAgICAgfCQyMTMuMTUgKDgzLjI3KSAgICAgICAgfA0KfCBDYW5hZGlhbiBhbmQgVVMgVmlldyAgICAgIHw2NSAgICAgICAgIHwkMjM3Ljc3ICg0OS41MCkgICAgICAgIHwNCnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18DQp8IEFsbCBSb29tcyAgICAgICAgICAgICAgICAgfDE5NSAgICAgICAgfCQyMTIuNTQgKDg4LjQxKSAgICAgICAgfA0KDQoNCiMjIFRhYmxlIDI6IFJlZ3Jlc3Npb24gQW5hbHlzaXMgaW4gdGhlIE5pYWdhcmEgRmFsbHMgU3R1ZHkNCg0KfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwkXGJldGEkICAgICAgfFNFICAgICAgICAgfHQtc3RhdGlzdGljICB8DQp8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwNCnwgSW50ZXJjZXB0ICAgICAgICAgICAgICAgICB8MTY0LjUzMSAgICAgIHwxMy4zNTkgICAgIHwxMi4zMTYgICAgICAgfA0KfCBIZXJpdGFnZSBWaWV3ICAgICAgICAgICAgIHwyMi42NTYqICAgICAgfDEwLjM0OCAgICAgfDIuMTkwICAgICAgICB8DQp8IFdlZWtlbmQgICAgICAgICAgICAgICAgICAgfDQ0LjI1NjcqICAgICB8MTguNzQ4ICAgICB8Mi4zNjEgICAgICAgIHwNCnwgSGVyaXRhZ2VWaWV3KldlZWtlbmQgICAgICB8NS42NzcgICAgICAgIHwxNC41MjIgICAgIHwwLjM5MSAgICAgICAgfA0KfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS18DQoNCkZpZ3VyZSAxOiBIaWx0b24gRW1iYXNzeSBTdWl0ZXMsIE5pYWdhcmEgRmFsbHMsIFVTQSBSb29tcyB3aXRoIHRocmVlIHR5cGVzIG9mIHZpZXdzIC0gMSkgQm90aCBDYW5hZGlhbiBhbmQgVVMgRmFsbHM7IDIpIENhbmFkaWFuIEZhbGxzIG9ubHk7IDMpIE5vIHZpZXcgb2YgdGhlIGZhbGxzLiAgKFNvdXJjZTogaHR0cDovL3d3dy5lbWJhc3N5c3VpdGVzbmlhZ2FyYS5jb20vKQ0KDQp8IFZpZXcgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8QXZlcmFnZSBQcmljZSB8DQp8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS18DQp8IENhbmFkaWFuICYgVVMgRmFsbHMgICB8IVtdKEltYWdlIDEucG5nKSB8JDIzOCAgICAgICAgICB8DQp8IENhbmFkaWFuIEZhbGxzIG9ubHkgICB8IVtdKEltYWdlIDIucG5nKSB8JDIxMyAgICAgICAgICB8DQp8IE5vIHZpZXcgb2YgdGhlIGZhbGxzICB8IVtdKEltYWdlIDMucG5nKSB8JDE4NyAgICAgICAgICB8DQp8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS18DQoNCiMjIEFwcGVuZGl4IDENCg0KIyMjIERlc2NyaXB0aXZlIHN0YXRpc3RpY3MNCmBgYHtyLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBjb21tZW50PU5BfQ0KIyBTdW1tYXJpemUgdGhlIERhdGENCmxpYnJhcnkocHN5Y2gpDQpkZXNjcmliZShORikNCmBgYA0KDQojIyMgQXZlcmFnZSBSb29tIFJlbnQgY29ycmVzcG9uZGluZyB0byBkaWZmZXJlbnQgdmlldyBsb2NhdGlvbnMNCmBgYHtyLCB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBjb21tZW50PU5BfQ0KdmFyMSA8LSBhZ2dyZWdhdGUoUHJpY2UuLi4uLCBieT1saXN0KFZpZXcgPSBWaWV3KSwgbWVhbikNCmNvbG5hbWVzKHZhcjEpIDwtIGMoIlZpZXcgTG9jYXRpb24iLCAiQXZlcmFnZSBSb29tIFJlbnQiKQ0KdmFyMQ0KYGBgDQoNCiMjIyBBdmVyYWdlIFJvb20gUmVudCBjb3JyZXNwb25kaW5nIHRvIFdlZWtlbmQNCmBgYHtyLCB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBjb21tZW50PU5BfQ0KdmFyMiA8LSBhZ2dyZWdhdGUoUHJpY2UuLi4uLCBieT1saXN0KFdlZWtlbmQpLCBtZWFuKQ0KY29sbmFtZXModmFyMikgPC0gYygiV2Vla2VuZCIsICJBdmVyYWdlIFJvb20gUmVudCIpDQp2YXIyDQpgYGANCg0KIyMjIFR3by13YXkgY29udGluZ2VuY3kgdGFibGUgYmFzZWQgb24gdGhlIFZpZXcgYW5kIHdlZWtlbmQNCmBgYHtyfQ0KdmFyMyA8LSB4dGFicyh+IFdlZWtlbmQgKyBWaWV3LCBkYXRhID0gTkYpDQp2YXIzDQpgYGANCg0KIyMjIEJveCBwbG90IG9mIFByaWNlIGJhc2VkIG9uIGRpZmZlcmVudCB2aWV3IGxvY2F0aW9ucw0KYGBge3IsIG91dC5oZWlnaHQ9IjgwMHB4IixvdXQud2lkdGg9IjgwMHB4IiwgZmlnLmFsaWduPSdjZW50ZXInfQ0KYm94cGxvdChQcmljZS4uLi4gfiBWaWV3LCBkYXRhPU5GLCBob3Jpem9udGFsPVRSVUUsDQogICAgICAgIHhsYWI9IlJvb20gUmVudCAoVVNEKSIsIGxhcz0xLA0KICAgICAgICBtYWluPSJDb21wYXJpc29uIG9mIFJvb20gUmVudCBjb3JyZXNwb25kaW5nIHRvIGRpZmZlcmVudCBWaWV3IExvY2F0aW9ucyIpDQpgYGANCg0KIyMjIENvZWZmaWNpZW50IFBsb3QNCmBgYHtyLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBjb21tZW50PU5BfQ0KbGlicmFyeShjb2VmcGxvdCkNCmNvZWZwbG90KE0xLCBpbnRlcmNlcHQ9RkFMU0UpDQpgYGANCg0KDQojIyBBcHBlbmRpeCAyDQoNCiMjIyBUd28td2F5IGNvbnRpbmdlbmN5IHRhYmxlIG9mIFZpZXcgYW5kIFdlZWtlbmQNCmBgYHtyfQ0KdGFibGUoV2Vla2VuZCwgVmlldykNCmBgYA0KDQojIyMgVHdvLXdheSBGYWN0b3JpYWwgQU5PVkENCmBgYHtyLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KVmlldyA8LSBmYWN0b3IoVmlldykNCmZpdCA8LSBhb3YoUHJpY2UuLi4uIH4gVmlldypXZWVrZW5kKQ0Kc3VtbWFyeShmaXQpDQpgYGANCg0KIyMjIEludGVyYWN0aW9uIGJldHdlZW4gVmlldyBhbmQgV2Vla2VuZA0KYGBge3IsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQppbnRlcmFjdGlvbi5wbG90KFZpZXcsIFdlZWtlbmQsIFByaWNlLi4uLiwgdHlwZT0iYiIsIA0KICAgICAgICAgICAgICAgICBjb2w9YygicmVkIiwiYmx1ZSIpLCBwY2g9YygxNiwgMTgpLA0KICAgICAgICAgICAgICAgICBtYWluID0gIkludGVyYWN0aW9uIGJldHdlZW4gVmlldyBhbmQgV2Vla2VuZCIpDQpgYGANCg0KIyMjIFBsb3RtZWFucyBvZiBJbnRlcmFjdGlvbg0KYGBge3IsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KGdwbG90cykNCnBsb3RtZWFucyhQcmljZS4uLi4gfiBpbnRlcmFjdGlvbihXZWVrZW5kLCBWaWV3LCBzZXA9IiAiKSwNCiAgICAgICAgICBjb25uZWN0PWxpc3QoYygxLCAzLCA1KSxjKDIsIDQsIDYpKSwgDQogICAgICAgICAgY29sPWMoInJlZCIsImRhcmtncmVlbiIpLA0KICAgICAgICAgIG1haW4gPSAiSW50ZXJhY3Rpb24gUGxvdCB3aXRoIDk1JSBDSXMiLCANCiAgICAgICAgICB4bGFiPSJXZWVrZW5kIGFuZCBWaWV3IENvbWJpbmF0aW9uIikNCmBgYA0KDQojIyMgTWFpbiBlZmZlY3QgYW5kIFR3by13YXkgSW50ZXJhY3Rpb24NCmBgYHtyLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeShISCkNCmludGVyYWN0aW9uMnd0KFByaWNlLi4uLn5XZWVrZW5kKlZpZXcpDQpgYGANCg0KDQoNCg0K