I have 1 independent variable, 1 dependent variable and 4 mediating variable Thank you so much, writing up my masters project now and wasn’t sure whether one of my variables was mediating or moderating….Much clearer now. Thank you. Write a null hypothesis. The mediation model involved in mediational hypothesis is a causal model. May I know how many hypothesis should I develop? As shown in MacKinnon (2008), this may be done in two ways. This is undesirable from a statistical perspective, but is common with real data. Example 1 – Finding Sample Size Researchers are studying the relationship between a dependent variable (Y) and an independent variable (X). The basics of this technique are required for most common tests of these hypotheses. I am in fact happy to read this webpage posts which carries tons of useful information, thanks for providing such data. Save my name, email, and website in this browser for the next time I comment. We might know that X leads to Y, but a mediation hypothesis proposes a mediating, or intervening variable. We disentangle conflicting definitions of moderated mediation and describe approaches for estimating and testing a variety of hypotheses involving conditional indirect effects. I have one dependent variable DV which is formed by DV1 and DV2, then I have MV (mediating variable), and then 2 independent variables IV1, and IV2. However, it’s a partial mediation model. Another way of saying this is that perfectionism has an indirect effect on depression through conflict. IV – M – DV. This is the best adsense alternative for any type of website (they approve all websites), for Mediated: Conceptually ACME / Total effect (This tells us how much of the total effect our indirect effect is “explaining”), Significant direct effect of time spent in grad school on job offers (for those who don’t spend a lot of time with Alex), Significant indirect effect of time spent in grad school on job offers through publications (for those who don’t spend a lot of time with Alex), Significant direct effect of time spent in grad school on job offers (for those who spend a lot of time with Alex), Significant indirect effect of time spent in grad school on job offers through publications (for those who spend a lot of time with Alex), The indirect effect looks larger for those who spend a lot of time with Alex compared to those who don’t, but we can test this to make sure, We can see that the indirect effects are significantly different such that the effect of spending time in graduate school on getting job offers through publications is stronger for those students who spend a lot of time with Alex compared to those who do not, There is no different in the size of the direct effects, however, Code is fairly straightforward and makes intuitive sense in how to specify levels of moderators, Compatible with many types of regression, including linear, glm, ordered, censored, quantile, GAM, and survival, Limited in the types of moderated mediation models it can estimate, Must include moderator in both models (meaning that you cannot model two of the most popular moderated mediation models, Hayes’ Model 7 and Model 14), Cannot handle highly complex mediational models with several causally dependent mediators and moderators, However, structural equation model (SEM) programs can model more complex models, which we turn to next, The first chunk of the output show fit indices related to SEM (not really applicable for our purposes), The second part of the output shows our regression formulas, The end of the output shows the specified direct, indirect, total, proportion mediated effects, Our estimates and confidence intervals are almost identical to the “mediation” package estimates, The difference is most likely a result of bootstrap estimation differences (e.g., lavaan uses bias-corrected but not accelerated bootstrapping for their confidence intervals), Can also model latent variables if your measurement model requires it, Tedious! They want to understand the impact of a third variable (M) on the relationship between X and Y, so they decide to carry out a mediation analysis. Of the three techniques I describe, moderation is probably the most tricky to understand. y = aggression Introduction . Statistical Hypothesis Examples. To do so, there are two main approaches: the Sobel test (Sobel, 1982) and bootstrapping (Preacher & Hayes, 2004). Prior research had suggested a main effect of social support on quality of life. It is really helpful as my research model will use mediation. That is my M will have negative effect on the DV – e.g Social media usage (M) will partial negative mediate the relationship between father status (IV) and social connectedness (DV)? It’s been really helpful but I still don’t know how to formulate the hypothesis with my mediating variable. For example, if you wanted to conduct a study on the life expectancy of Savannians, you would want to examine every single resident of Savannah. such necessary facts to bear in mind. I’ve covered a lot of the other resources, like this on https://getdearevanhansentickets.org/; however, only here, I have found legitimate information with A sample size of 148 achieves 90% power to detect a mediation effect (as measured by the regression coefficient of M, βᴍ) of at least 0.200 when the two-sided significance level (alpha) is … Hi! A null hypothesis might read, It “mediates” the relationship between a predictor, X, and an outcome. m = deficis in emotion recognition, I have mediator and moderator how should I make my hypothesis. And then a 3rd variable maybe the moderator increases dv when iv is low and decreases dv when iv is high. Example 7.3 A Null Hypothesis An investigator might examine three types of reinforcement for children with autism: verbal cues, a reward, and no reinforcement. We can also call for bootstrapped confidence interval parameter estimates of all of our effects. If I’m understanding you correctly, I guess 2 mediation hypotheses: Thank you so much for your quick answer! That is, perfectionism leads to increased conflict, which in turn leads to heightened depression. To your mediator it shows your talents, expertise and preparation. Mediation is a hypothesis about a causal network. This isn’t problematic for moderation. Thank you. It does so by modeling the interaction in the outcome regression model and using the mediate( ) function to estimate the natural direct and indirect effects based on Pearl’s mediation formula. Let’s find out…, X = Time spent in graduate school (we will change the name to “time” when we create the data frame), Z = Time spent (hours per week) with Professor Demos in class or in office hours, M = Number of publications in grad school, Significant main effect of time spent in grad school on number of publications, Significant main effect of time spent with Alex on number of publications, Significant interaction between time spent in grad school and time spent with Alex on number of publications, Significant main effect of time spent in grad school on number of job offers, No effect of time spent with Alex on number of job offers, Significant main effect of number of publications on number of job offers, No interaction between time spent in grad school and time spent with Alex on number of job offers, ACME: Average Causal Mediation Effect [total effect - direct effect], ADE: Average Direct Effect [total effect - indirect effect], Total Effect: Direct (ADE) + Indirect (ACME), Prop. Fire off a quick message to alfred3545will@gmail.com to find out more info and pricing. Simple main effects (i.e., X leads to Y) are usually not going to get you published. Then, we must use the Sobel test to make sure that the effect is significant after using the mediator variable. The language This process allows you to calculate standard errors, construct confidence intervals, and perform hypothesis testing for numerous types of sample statistics.Bootstrap methods are alternative approaches to traditional hypothesis testing and are notable for being easier to … Since previous research suggests that tenure promotes exchange quality between leaders and followers (Bauer, Green, & Bauer, 1996 ), we controlled for tenure with the leader in our analyses. So let’s assume you need to blast an ad to all the real estate agents in the USA, we’ll scrape websites for just those and post your ad text to them. Nonetheless, a core understanding of these three hypotheses and how to analyze them using statistics is essential for any researcher in the social or health sciences. i love it. The conclusions from a mediation analysis are valid only if the causal assumptions are valid (Judd & Kenny, 2010). An obvious real-life mediator is temperature on a stove. Hi! To pursue the preceding example, the hypothesis might be: Taller people (IV 1) and people with higher caloric intake (IV 2) weigh more (DV) than shorter people and those with lower caloric intake. I apologize for sending you this message on your contact form but actually that’s exactly where I wanted to make my point. Your email address will not be published. By. I love it. I hope you can help me . We need two regression models to use the mediation package, One model specifies the effect of our IV (time spent in grad school) on our Mediator (number of publications) [and in our case, our moderator (time spent with Alex) and the interaction], The other model specifies the effect of the IV (time spent in grad school) and Mediator (number of publications) (and possibly moderator as well) on our DV (number of job offers), install.packages("mediation") #install this first if not already installed, In this mediation package we list the moderator as a covariate and set the levels to what we want, We can use the +/- 1SD from the mean (or another value that is theoretically important), This allows us to view impact of the moderator on the direct and indirect effects, Lets look at grad students who spend little time with Alex first, For a review on bootstrapping techniques, see Efron, 2003, Now let’s look at grad students who spend a lot of time with Alex, The following code tests whether the difference between indirect effects at each level of the moderator is significantly different from zero, In “lavaan” we specify all regressions and relationships between our variables in one object, We can specify the effects we want to see in our output (e.g., direct, indirect, etc. Main effects can be exciting in the early stages of research to show the existence of a new effect, but as a field matures the types of questions that scientists are trying to answer tend to become more nuanced and specific. Best practice now is to calculate an indirect effect and use bootstrapping, rather than the causal steps approach and the more out-dated Sobel test. In terms of analysis, you are probably going to use some variation of multiple regression or partial correlations. For hypothesis testing, we used the analytic strategies for moderated mediation described in Hayes . Providing you’re promoting something that’s relevant to that type of business then your business will get awesome results! The Purpose of Hypotheses In writing a hypothesis(es), it is important to remember the purpose and role of the hypothesis in For example, the mediation effects found by Calvete and Cardenoso (2005) mentioned previously were further hypothesized to be moderated by age. To test something like this, we could check to see how tightly correlated the knob being turned is to the waters stat… If you want to graph the results of your moderation analyses, the excel calculators provided on Jeremy Dawson’s webpage are fantastic, easy-to-use tools: I want to see clearly the three types of hypothesis, Thanks for your information. Hi Sean, according to the three steps model (Dudley, Benuzillo and Carrico, 2004; Pardo and Román, 2013)., we can test hypothesis of mediator variable in three steps: (X -> Y; X -> M; X and M -> Y). It took me several hours to figure out how the naming conventions worked, A lot of up front coding required meaning you kind of need to know exactly what you’re looking for in your model. Review: Mediation package in R. Journal of Educational and Behavioral Statistics, 42, 1, 69-84. ), We can also compute means and standard deviations for use in simple slopes analyses, After specifying all the necessary components, we fit the model using an SEM function, install.packages("lavaan") #install this first if not already installed. This is very interesting and educative. The investigator collects behavioral measures assessing social interaction of the children with their siblings. Should be 3? That is, X leads to M, which in turn leads to Y. (See Kraemer, Wilson, Fairburn, and Agras (2002) who attempt to define mediation without making causal assumptions.) That is, X leads to M, which in turn leads to Y. Should I have 2 or 3? Helpful links to get you started testing these hypotheses. Al-thoughstudies investigatingmediation,moderation, or bothare abundant, formal The intervening variable, M, is the mediator. Sorry to bug you on your contact form but actually that was the whole point. Sales, A. C. (2017). Rather than a direct causal relationship … Introduction to mediation, moderation, and conditional process analysis: A regression-based approach. The purpose of mediation analysis is to see if the influence of the mediator is stronger than the direct influence of the independent variable. The null hypothesis is the default position that there is no association between the variables. Guilford Publications. on The Three Most Common Types of Hypotheses, Converting an SPSS datafile to Mplus format. Multiple mediation analysis allows for the evaluation of competing hypotheses within a single model (Preacher & Hayes, 2008).Here we used bias corrected (BC) 95% CI bootstrapping based on 5000 samples to simultaneously evaluate two competing accounts of what mediates the relationship between implicit self-associations with death/life and indicators of suicide risk: … Tingley, D., Yamamoto, T., Hirose, K., Keele, L., & Imai, K. (2014). An alternative hypothesis is one in which some difference or effect is expected. Hayes, A. F. (2013). To your client it shows your persuasive powers, serving as a reminder of all the reasons they hired you. Example hypothesis: We hypothesize that the relationship between negative emotions about climate change and support for government action on climate change will be … Moderation just proposes that the magnitude of the relationship changes as levels of the moderator changes. In this post, I discuss three of the most common hypotheses in psychology research, and what statistics are often used to test them. 2.4 Method 2: The Mediation Pacakge Method. The author has used very clear language and I would recommend this for any student of research/, Your email address will not be published. Mediation is a hypothesized causal chain in which one variable affects a second variable that, in turn, affects a third variable. Crafting an Effective Mediation Summary: Tips for Written Mediation Advocacy. When a moderator is continuous, usually you’re making statements like: “As the value of the moderator increases, the relationship between X and Y also increases.”, “Does X predict M, which in turn predicts Y?”. Are you seeking effective online marketing that doesn’t charge a fortune and gets amazing resuts? I use mediation a lot in my own research. In statistics, a mediation model seeks to identify and explain the mechanism or process that underlies an observed relationship between an independent variable and a dependent variable via the inclusion of a third hypothetical variable, known as a mediator variable (also a mediating variable, intermediary variable, or intervening variable). I really like this. This is probably the simplest of the three hypotheses I propose. In this type of analysis, you use statistical information from an area. So let’s say you need to blast an ad to all the real estate agents in the USA, we’ll scrape websites for only those and post your advertisement to them. Water will not start to boil until you have turned on your stove, but it is not the stove knob that causes the water to boil, it is the heat that results from turning that knob. what if the hypothesis and moderator significant in regrestion and insgificant in moderation? How many hypothesis should I write? Required fields are marked *. This article tests the following hypotheses: 1. Basically, you attempt to rule out potential confounding variables by controlling for them in your analysis. For example, if you make a change in the process then the null hypothesis could be that the output is similar from both the previous and changed process. Baron & Kenny’s procedures describes the analyses which are required for testing various mediational hypothesis. You can target by keyword or just execute bulk blasts to sites in any country you choose. Hi Osama. I have 4 IV , 1 mediating Variable and 1 DV, My model says that 4 IVs when mediated by 1MV leads to 1 Dv, Pls tell me how to set the hypothesis for mediation. 23 examples: Landscape is nature and culture at the same time, it is their mediation… Thank you so much!! For example, in our mediation analysis post we hypothesized that self-esteem was a mediator of student grades on the effect of student happiness. Because I still face difficulty in developing hyphothesis, can you give examples ? I see you don’t monetize savvystatistics.com, Yes, this is possible, but often it means you have a condition known as “inconsistent mediation” which isn’t usually desirable. Sometimes people call this a “cross-over” effect, but really, it’s nothing special and can happen in any moderation analysis. A statistical hypothesis is an examination of a portion of a population or statistical model. 6. However, the main hypothesis to be tested is whether the indirect effect, ab, is significant. We illustrate this below with a path diagram. The SEM function allows a completely user-defined model to be fit to the data, like our specifically defined moderated mediation model (the SEM function was designed to fit structural equation models, but can also fit “regular” regression models as well). I use mediation a lot in my own research. As long as you’re promoting some kind of offer that’s relevant to that niche then your business will get an awesome result! don’t waste your traffic, you can earn additional bucks every month with new monetization method. However sample correlationr XY =.09 would not!Hence tests for full mediation can be precluded if this is the true model in the population. Mediation: R package for causal mediation analysis. See this entry on David Kenny’s page: Or look up “inconsistent mediation” in this reference: MacKinnon, D. P., Fairchild, A. J., & Fritz, M. S. (2007). Your written mediation summary is a crucial communication. “Can X predict Y over and above other important predictors?”. Sheldon J. Stark. They can also be combined together (e.g., mediated moderation). is it possible to have all three pathways negative? The null hypothesis is written as H 0, while the alternative hypothesis is H 1 or H a. to you! Depending on the nature of your data, there are multiple ways to address each of these hypotheses using statistics. update our knowledge, mine in particular. Our Example Moderated Mediation Model. Her hypothesis was that the effects of language deficit on self-esteem were caused by language deficit increasing shyness which in turn decreased self-esteem. Examples of mediation in a sentence, how to use it. In the diagram below I use a different way of visually representing things consistent with how people typically report things when using path analysis. https://martinlea.com/5-example-of-a-basic-test-of-mediation Hello If I have three variables( X-M-Y)how many hypotheses should I write down? Next, we will examine the influence of our moderating variable (time spent with Alex) on the mediation effect of time spent in grad school on number of job offers, through number of publications. (2017, February 24). If you want to write a null hypothesis, you can start writing as "there is no mediation effect on x from y and z” or “X does not moderate the relationship between Y and Z". I’d recommend reading Hayes (2018) book for more info: Hayes, A. F. (2018). I have 4 IVs ,2 Mediating Variables , 1DV and 3 Outcomes (criterion variables). Below are a few links that might help you get started: Are you a little rusty with multiple regression? To do this, we will examine the mediation effect for those who spend a lot of time with Alex versus those who spend little time with Alex. Mediation analysis. Introduction to mediation, moderation, and conditional process analysis: A regression-based approach (2nd ed). We might know that X leads to Y, but a mediation hypothesis proposes a mediating, or intervening variable. Michalak, N. (2016, July 29). Send a reply to john2830bro@gmail.com to find out how we do this. My x = psychopathy “Under what conditions does X lead to Y?”. Reproducing Hayes’ PROCESS models’ results in R. Retrieved from https://nickmichalak.blogspot.com/2016/07/reproducing-hayess-process-models.html, Rosseel, Y. Hi Ashley. It is clearer to me now than ever before. The example shows a full mediation, yet a full mediation rarely happens in practice. Now we take the specified models and all of the effects we want to estimate and run them through the SEM function. X is measured at t = 1 and Y is a me… Dear Sean We can send your promotional message to sites through their contact pages just like you’re reading this ad right now. more info simply search in gooogle: murgrabia’s tools. In that study, the authors proposed a stress-buffering hypothesis. You could write it out as 3 separate hypotheses (X -> Y; X -> M; M -> Y) or you could just write out one mediation hypotheses “X will have an indirect effect on Y through M.” Usually, I’d write just the 1 because it conserves space, but either would be appropriate. Annual Review of Psychology, 58, 593-614. This package uses the more recent bootstrapping method of Preacher & Hayes (2004) to address the power limitations of the Sobel Test. To take the concept of mediation to an extreme, imagine a stationary autoregressive process for T equidistant time points (e.g., T consecutive days) with a lag of 1 as in the most simple autoregressive time series model, i.e., AR(1). LS0tDQp0aXRsZTogJ0NoYXB0ZXIgMTU6IE1vZGVyYXRlZCBNZWRpYXRpb24nDQphdXRob3I6ICJBbnRob255IE4uIFdhc2hidXJuIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIHRoZW1lOiBjZXJ1bGVhbg0KICAgIGhpZ2hsaWdodDogdGV4dG1hdGUNCiAgICBmb250c2l6ZTogOHB0DQogICAgdG9jOiB0cnVlDQogICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlDQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KICAgIHRvY19mbG9hdDoNCiAgICAgIGNvbGxhcHNlZDogZmFsc2UNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmBgYA0KDQojIFF1aWNrIHJldmlldyBvZiBtb2RlcmF0aW9uIGFuZCBtZWRpYXRpb24NCiMjIE1vZGVyYXRpb24NCg0KIVtCYXNpYyBNb2RlcmF0aW9uIE1vZGVsXShodHRwczovL2Fud2FzaGJ1cm4uZmlsZXMud29yZHByZXNzLmNvbS8yMDE3LzA0L21vZGVyYXRpb24ucG5nICJNb2RlcmF0aW9uIEltYWdlIikNCg0KLSBNb2RlcmF0aW9uIHRlc3RzIHRoZSBpbmZsdWVuY2Ugb2YgYSB0aGlyZCB2YXJpYWJsZSAoWikgb24gdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIFggdG8gWQ0KLSBYIC0+IFkgKGRlcGVuZGluZyBvbiBaKQ0KLSBGb3IgYSByZXZpZXcgc2VlIFtDaGFwdGVyIDE0OiBNZWRpYXRpb24gYW5kIE1vZGVyYXRpb25dKGh0dHA6Ly9hZGVtb3MucGVvcGxlLnVpYy5lZHUvQ2hhcHRlcjE0Lmh0bWwpDQoNCg0KIyMgTWVkaWF0aW9uDQoNCiFbQmFzaWMgTWVkaWF0aW9uIE1vZGVsXShodHRwczovL2Fud2FzaGJ1cm4uZmlsZXMud29yZHByZXNzLmNvbS8yMDE3LzA0L21lZGlhdGlvbi5wbmcgIk1lZGlhdGlvbiBJbWFnZSIpDQoNCi0gTWVkaWF0aW9uIHRlc3RzIGEgaHlwb3RoZXRpY2FsIGNhdXNhbCBjaGFpbiB3aGVyZSB0aGUgZWZmZWN0IG9mIG9uZSB2YXJpYWJsZSAoWCkgb24gYW5vdGhlciB2YXJpYWJsZSAoWSkgaXMgbWVkaWF0ZWQsIG9yIGV4cGxhaW5lZCwgYnkgYSB0aGlyZCB2YXJpYWJsZSAoTSkNCi0gWCAtPiBNIC0+IFkNCi0gRm9yIGEgcmV2aWV3IHNlZSBbQ2hhcHRlciAxNDogTWVkaWF0aW9uIGFuZCBNb2RlcmF0aW9uXShodHRwOi8vYWRlbW9zLnBlb3BsZS51aWMuZWR1L0NoYXB0ZXIxNC5odG1sKQ0KDQojIFdoYXQgaXMgbW9kZXJhdGVkIG1lZGlhdGlvbj8NCiMjIENvbmNlcHR1YWwgZGVmaW5pdGlvbg0KDQohW0Jhc2ljIE1vZGVyYXRlZCBNZWRpYXRpb24gTW9kZWxdKGh0dHBzOi8vYW53YXNoYnVybi5maWxlcy53b3JkcHJlc3MuY29tLzIwMTcvMDQvbW9kbWVkaW1hZ2UyLnBuZyAiTW9kZXJhdGVkIE1lZGlhdGlvbiBJbWFnZSIpDQoNCi0gTW9kZXJhdGVkIG1lZGlhdGlvbiB0ZXN0cyB0aGUgaW5mbHVlbmNlIG9mIGEgZm91cnRoIChvciBtb3JlKSB2YXJpYWJsZSBvbiB0aGUgbWVkaWF0ZWQgcmVsYXRpb25zaGlwIGJldHdlZW4gWCBhbmQgWQ0KLSBUaGUgZWZmZWN0IG9mIHRoZSBtZWRpYXRvciBpcyBtb2RlcmF0ZWQgYnkgYW5vdGhlciB2YXJpYWJsZQ0KLSBYIC0+IE0gLT4gWSAoZGVwZW5kaW5nIG9uIFopDQotIFRoZSBtb2RlcmF0aW9uIGNhbiBvY2N1ciBvbiBhbnkgYW5kIGFsbCBwYXRocyBpbiB0aGUgbWVkaWF0aW9uIG1vZGVsIChlLmcuLCBhIHBhdGgsIGIgcGF0aCwgYyBwYXRoLCBvciBhbnkgY29tYmluYXRpb24gb2YgdGhlIHRocmVlKQ0KDQojIyBQcmFjdGljYWwgZGVmaW5pdGlvbiBhbmQgZXhhbXBsZQ0KLSBUaGUgbW9yZSB0aW1lIG9uZSBzcGVuZHMgaW4gZ3JhZHVhdGUgc2Nob29sLCB0aGUgbW9yZSBqb2Igb2ZmZXJzIHRoZXkgaGF2ZSB3aGVuIHRoZXkgZ3JhZHVhdGUNCi0gVGhpcyByZWxhdGlvbnNoaXAgaXMgZXhwbGFpbmVkIGJ5IGluY3JlYXNlZCBwdWJsaWNhdGlvbnMgKGkuZS4sIHRoZSBtb3JlIHRpbWUgc3BlbnQgaW4gZ3JhZCBzY2hvb2wsIHRoZSBtb3JlIHB1YmxpY2F0aW9ucyBvbmUgaGFzLCBhbmQgdGhlIG1vcmUgcHVibGljYXRpb25zIG9uZSBoYXMsIHRoZSBtb3JlIGpvYiBvZmZlcnMgdGhleSBnZXQpDQotIEhvd2V2ZXIsIHRoaXMgY2F1c2FsIGNoYWluIG1heSBvbmx5IHdvcmsgZm9yIHBlb3BsZSB3aG8gc3BlbmQgdGhlaXIgdGltZSBpbiBncmFkdWF0ZSBzY2hvb2wgd2lzZWx5IChpLmUuLCBzcGVuZCB0aW1lIHdpdGggUHJvZmVzc29yIERlbW9zKQ0KLSBIb3cgZG9lcyBzcGVuZGluZyB0aW1lIHdpdGggUHJvZmVzc29yIERlbW9zIGltcGFjdCB0aGUgY2F1c2FsIGNoYWluIGJldHdlZW4gdGltZSBzcGVudCBpbiBncmFkdWF0ZSBzY2hvb2wsIHB1YmxpY2F0aW9ucywgYW5kIGpvYiBvZmZlcnM/IExldCdzIGZpbmQgb3V0Li4uDQoNCiMgTW9kZXJhdGVkIG1lZGlhdGlvbiBkYXRhIGV4YW1wbGUNCiMjIERlc2NyaWJlIHRoZSBkYXRhc2V0DQpXZSBhcmUgZ29pbmcgdG8gc2ltdWxhdGUgYSBkYXRhc2V0IHRoYXQgbWVhc3VyZWQgdGhlIGZvbGxvd2luZzoNCg0KLSBYID0gVGltZSBzcGVudCBpbiBncmFkdWF0ZSBzY2hvb2wgKHdlIHdpbGwgY2hhbmdlIHRoZSBuYW1lIHRvICJ0aW1lIiB3aGVuIHdlIGNyZWF0ZSB0aGUgZGF0YSBmcmFtZSkNCi0gWiA9IFRpbWUgc3BlbnQgKGhvdXJzIHBlciB3ZWVrKSB3aXRoIFByb2Zlc3NvciBEZW1vcyBpbiBjbGFzcyBvciBpbiBvZmZpY2UgaG91cnMNCi0gTSA9IE51bWJlciBvZiBwdWJsaWNhdGlvbnMgaW4gZ3JhZCBzY2hvb2wNCi0gWSA9IE51bWJlciBvZiBqb2Igb2ZmZXJzDQoNCiFbT3VyIEV4YW1wbGUgTW9kZXJhdGVkIE1lZGlhdGlvbiBNb2RlbF0oaHR0cHM6Ly9hbndhc2hidXJuLmZpbGVzLndvcmRwcmVzcy5jb20vMjAxNy8wNC9tb2RtZWRpbWFnZWV4YW1wbGUucG5nICJNb2RlcmF0ZWQgTWVkaWF0aW9uIEV4YW1wbGUgSW1hZ2UiKQ0KDQoNCiMjIENyZWF0ZSB0aGUgZGF0YXNldA0KV2UgYXJlIGludGVudGlvbmFsbHkgY3JlYXRpbmcgYSBtb2RlcmF0ZWQgbWVkaWF0aW9uIGVmZmVjdCBoZXJlIGFuZCB3ZSBkbyBzbyBiZWxvdyBieSBzZXR0aW5nIHRoZSByZWxhdGlvbnNoaXBzICh0aGUgcGF0aHMpIGJldHdlZW4gb3VyIGNhdXNhbCBjaGFpbiB2YXJpYWJsZXMgYW5kIHNldHRpbmcgdGhlIHJlbGF0aW9uc2hpcHMgZm9yIG91ciBpbnRlcmFjdGlvbiB0ZXJtcw0KDQpgc2V0d2QoInBhdGggb2Ygd29ya2luZyBkaXJlY3RvcnkgaGVyZSIpYA0KYGBgIHtyLCBtZXNzYWdlPUZBTFNFLCBlY2hvPVRSVUV9DQpzZXQuc2VlZCg0MikgI1RoaXMgbWFrZXMgc3VyZSB0aGF0IGV2ZXJ5b25lIGdldHMgdGhlIHNhbWUgbnVtYmVycyBnZW5lcmF0ZWQgdGhyb3VnaCBybm9ybSBmdW5jdGlvbg0KDQphMSA9IC0uNTkgI1NldCB0aGUgcGF0aCBhMSBzdHJlbmd0aCAoZWZmZWN0IG9mIFggb24gTSkNCg0KYTIgPSAtLjE3ICNTZXQgcGF0aCBhMiBzdHJlbmd0aCAoZWZmZWN0IG9mIFogb24gTSkNCg0KYTMgPSAuMjkgI1NldCBwYXRoIGEzIHN0cmVuZ3RoIChpbnRlcmFjdGlvbiBiZXR3ZWVuIFggYW5kIFogb24gTSkNCg0KYiA9IC41OSAjU2V0IHBhdGggYiBzdHJlbmd0aCAoZWZmZWN0IG9mIE0gb24gWSkNCg0KY2Rhc2gxID0gLjI3ICNTZXQgcGF0aCBjJzEgc3RyZW5ndGgJKGVmZmVjdCBvZiBYIG9uIFkpDQoNCmNkYXNoMiA9IC4wMSAjU2V0IHBhdGggYycyIHN0cmVuZ3RoIChlZmZlY3Qgb2YgWiBvbiBZKQ0KDQpjZGFzaDMgPSAtLjAxICNTZXQgcGF0aCBjJzMgc3RyZW5ndGggKGludGVyYWN0aW9uIGJldHdlZSBYIGFuZCBaIG9uIFkpDQpgYGANCkhlcmUgd2UgYXJlIGNyZWF0aW5nIHRoZSB2YWx1ZXMgb2Ygb3VyIHZhcmlhYmxlcyBmb3IgZWFjaCBzdWJqZWN0DQpgYGAge3IsIG1lc3NhZ2U9RkFMU0UsIGVjaG89VFJVRX0NCm4gPC0gMjAwICNTZXQgc2FtcGxlIHNpemUNCg0KWCA8LSBybm9ybShuLCA3LCAxKSAjSVY6IFRpbWUgc3BlbnQgaW4gZ3JhZCBzY2hvb2wgKE0gPSA3LCBTRCA9IDEpDQoNClogPC0gcm5vcm0obiwgNSwgMSkgI01vZGVyYXRvcjogVGltZSBzcGVudCAoaG91cnMgcGVyIHdlZWspIHdpdGggUHJvZmVzc29yIERlbW9zIGluIGNsYXNzIG9yIGluIG9mZmljZSBob3VycyAoTSA9IDUsIFNEID0gMSkNCg0KTSA8LSBhMSpYICsgYTIqWiArIGEzKlgqWiArIHJub3JtKG4sIDAsIC4xKSAjTWVkaWF0b3I6IE51bWJlciBvZiBwdWJsaWNhdGlvbnMgaW4gZ3JhZCBzY2hvb2wNCiNUaGUgbWVkaWF0b3IgdmFyaWFibGUgaXMgY3JlYXRlZCBhcyBhIGZ1bmN0aW9uIG9mIHRoZSBJViwgbW9kZXJhdG9yLCBhbmQgdGhlaXIgaW50ZXJhY3Rpb24gd2l0aCBzb21lIHJhbmRvbSBub2lzZSB0aHJvd24gaW4gdGhlIG1peA0KDQpZIDwtIGNkYXNoMSpYICsgY2Rhc2gyKlogKyBjZGFzaDMqWCpaICsgYipNICsgcm5vcm0obiwgMCwgLjEpICNEVjogTnVtYmVyIG9mIGpvYiBvZmZlcnMNCiNTaW1pbGFyIHRvIHRoZSBtZWRpYXRvciwgdGhlIERWIGlzIGEgZnVuY3Rpb24gb2YgdGhlIElWLCBtb2RlcmF0b3IsIHRoZWlyIGludGVyYWN0aW9uLCBhbmQgdGhlIG1lZGlhdG9yIHdpdGggc29tZSByYW5kb20gbm9pc2UgdGhyb3duIGluIHRoZSBtaXgNCmBgYA0KTm93IHdlIHB1dCBpdCBhbGwgdG9nZXRoZXIgYW5kIG1ha2Ugb3VyIGRhdGEgZnJhbWUNCmBgYCB7ciwgbWVzc2FnZT1GQUxTRSwgZWNobz1UUlVFfQ0KU3VjY2Vzcy5Nb2RNZWQgPC0gZGF0YS5mcmFtZShqb2JzID0gWSwgdGltZSA9IFgsIHB1YnMgPSBNLCBhbGV4ID0gWikgI0J1aWxkIG91ciBkYXRhIGZyYW1lIGFuZCBnaXZlIGl0IHJlY29nbml6YWJsZSB2YXJpYWJsZSBuYW1lcw0KYGBgDQoNCiMjIEV4YW1pbmUgdGhlIGRhdGFzZXQgYW5kIHByZXBhcmUgZm9yIHJlZ3Jlc3Npb24gYW5hbHlzZXMNCg0KYGluc3RhbGwucGFja2FnZXMoInBzeWNoIikgI2luc3RhbGwgdGhpcyBwYWNrYWdlIGlmIG5vdCBhbHJlYWR5IGluc3RhbGxlZGANCmBgYCB7ciwgbWVzc2FnZT1GQUxTRSwgZWNobz1UUlVFfQ0KbGlicmFyeShwc3ljaCkgI0hlbHBmdWwgZm9yIGNvbW1vbiBwc3ljaCBkZXNjcmlwdGl2ZSBzdGF0aXN0aWNzDQoNCnN0cihTdWNjZXNzLk1vZE1lZCkgI0V4YW1pbmUgdGhlIHN0cnVjdHVyZSBvZiB0aGUgZGF0YXNldA0KDQpyb3VuZChkZXNjcmliZShTdWNjZXNzLk1vZE1lZClbLGMoMjo1LDgsOSwxMyldLCAyKSAjUHV0IGRlc2NyaXB0aXZlIHN0YXRzIHN1bW1hcnkgaW50byB0YWJsZSB3aXRoIG9ubHkgdGhlIGNvbHVtbnMgb2YgaW5mb3JtYXRpb24gdGhhdCB3ZSBjYXJlIGFib3V0DQpgYGANCkJlY2F1c2Ugd2UgaGF2ZSBpbnRlcmFjdGlvbiB0ZXJtcyBpbiBvdXIgcmVncmVzc2lvbiBhbmFseXNlcywgd2UgbmVlZCB0byBtZWFuIGNlbnRlciBvdXIgSVYgYW5kIE1vZGVyYXRvciAoWikNCmBgYCB7ciwgbWVzc2FnZT1GQUxTRSwgZWNobz1UUlVFfQ0KU3VjY2Vzcy5Nb2RNZWQkdGltZS5jIDwtIHNjYWxlKFN1Y2Nlc3MuTW9kTWVkJHRpbWUsIGNlbnRlciA9IFRSVUUsIHNjYWxlID0gRkFMU0UpWyxdICNTY2FsZSByZXR1cm5zIGEgbWF0cml4IHNvIHdlIGhhdmUgdG8gbWFrZSBpdCBhIHZlY3RvciBieSBpbmRleGluZyBvbmUgY29sdW1uDQoNClN1Y2Nlc3MuTW9kTWVkJGFsZXguYyA8LSBzY2FsZShTdWNjZXNzLk1vZE1lZCRhbGV4LCBjZW50ZXIgPSBUUlVFLCBzY2FsZSA9IEZBTFNFKVssXQ0KYGBgDQoNCiMgTW9kZXJhdGVkIG1lZGlhdGlvbiBhbmFseXNlcyB1c2luZyAibWVkaWF0aW9uIiBwYWNrYWdlDQpXZSB3aWxsIGZpcnN0IGNyZWF0ZSB0d28gcmVncmVzc2lvbiBtb2RlbHMsIG9uZSBsb29raW5nIGF0IHRoZSBlZmZlY3Qgb2Ygb3VyIElWcyAodGltZSBzcGVudCBpbiBncmFkIHNjaG9vbCwgdGltZSBzcGVudCB3aXRoIEFsZXgsIGFuZCB0aGVpciBpbnRlcmFjdGlvbikgb24gb3VyIG1lZGlhdG9yIChudW1iZXIgb2YgcHVibGljYXRpb25zKSwgYW5kIG9uZSBsb29raW5nIGF0IHRoZSBlZmZlY3Qgb2Ygb3VyIElWcyBhbmQgbWVkaWF0b3Igb24gb3VyIERWIChudW1iZXIgb2Ygam9iIG9mZmVycykuDQoNCk5leHQsIHdlIHdpbGwgZXhhbWluZSB0aGUgaW5mbHVlbmNlIG9mIG91ciBtb2RlcmF0aW5nIHZhcmlhYmxlICh0aW1lIHNwZW50IHdpdGggQWxleCkgb24gdGhlIG1lZGlhdGlvbiBlZmZlY3Qgb2YgdGltZSBzcGVudCBpbiBncmFkIHNjaG9vbCBvbiBudW1iZXIgb2Ygam9iIG9mZmVycywgdGhyb3VnaCBudW1iZXIgb2YgcHVibGljYXRpb25zLiBUbyBkbyB0aGlzLCB3ZSB3aWxsIGV4YW1pbmUgdGhlIG1lZGlhdGlvbiBlZmZlY3QgZm9yIHRob3NlIHdobyBzcGVuZCBhIGxvdCBvZiB0aW1lIHdpdGggQWxleCB2ZXJzdXMgdGhvc2Ugd2hvIHNwZW5kIGxpdHRsZSB0aW1lIHdpdGggQWxleC4NCg0KIyMgQ3JlYXRlIHRoZSBuZWNlc3NhcnkgcmVncmVzc2lvbiBtb2RlbHMNCldlIG5lZWQgdHdvIHJlZ3Jlc3Npb24gbW9kZWxzIHRvIHVzZSB0aGUgbWVkaWF0aW9uIHBhY2thZ2UNCg0KT25lIG1vZGVsIHNwZWNpZmllcyB0aGUgZWZmZWN0IG9mIG91ciBJViAodGltZSBzcGVudCBpbiBncmFkIHNjaG9vbCkgb24gb3VyIE1lZGlhdG9yIChudW1iZXIgb2YgcHVibGljYXRpb25zKSBbYW5kIGluIG91ciBjYXNlLCBvdXIgbW9kZXJhdG9yICh0aW1lIHNwZW50IHdpdGggQWxleCkgYW5kIHRoZSBpbnRlcmFjdGlvbl0NCg0KVGhlIG90aGVyIG1vZGVsIHNwZWNpZmllcyB0aGUgZWZmZWN0IG9mIHRoZSBJViAodGltZSBzcGVudCBpbiBncmFkIHNjaG9vbCkgYW5kIE1lZGlhdG9yIChudW1iZXIgb2YgcHVibGljYXRpb25zKSAoYW5kIHBvc3NpYmx5IG1vZGVyYXRvciBhcyB3ZWxsKSBvbiBvdXIgRFYgKG51bWJlciBvZiBqb2Igb2ZmZXJzKQ0KDQpgaW5zdGFsbC5wYWNrYWdlcygibWVkaWF0aW9uIikgI2luc3RhbGwgdGhpcyBmaXJzdCBpZiBub3QgYWxyZWFkeSBpbnN0YWxsZWRgDQpgYGAge3IsIG1lc3NhZ2U9RkFMU0UsIGVjaG89VFJVRX0NCmxpYnJhcnkobWVkaWF0aW9uKQ0KDQptZWRpYXRlIDwtIG1lZGlhdGlvbjo6bWVkaWF0ZSAjQSBtZWRpYXRlIGZ1bmN0aW9uIGlzIGluIGJvdGggdGhlICJwc3ljaCIgYW5kICJtZWRpYXRpb24iIHBhY2thZ2VzLiBUaGlzIGFsbG93cyB1cyB0byB1c2UgdGhlIGNvcnJlY3QgbWVkaWF0ZSBmdW5jdGlvbiBmcm9tIHRoZSAibWVkaWF0aW9uIiBwYWNrYWdlDQoNCk1vZC5NZWQuTW9kZWwuMTwtbG0ocHVicyB+IHRpbWUuYyphbGV4LmMsIGRhdGEgPSBTdWNjZXNzLk1vZE1lZCkgI1RoaXMgbW9kZWwgcHJlZGljdHMgbnVtYmVyIG9mIHB1YmxpY2F0aW9ucyBmcm9tIHRpbWUgc3BlbnQgaW4gZ3JhZCBzY2hvb2wsIHRpbWUgc3BlbnQgd2l0aCBhbGV4LCBhbmQgdGhlIGludGVyYWN0aW9uIGJldHdlZW4gdGhlIHR3bw0KDQpzdW1tYXJ5KE1vZC5NZWQuTW9kZWwuMSkNCmBgYA0KLSBTaWduaWZpY2FudCBtYWluIGVmZmVjdCBvZiB0aW1lIHNwZW50IGluIGdyYWQgc2Nob29sIG9uIG51bWJlciBvZiBwdWJsaWNhdGlvbnMNCi0gU2lnbmlmaWNhbnQgbWFpbiBlZmZlY3Qgb2YgdGltZSBzcGVudCB3aXRoIEFsZXggb24gbnVtYmVyIG9mIHB1YmxpY2F0aW9ucw0KLSBTaWduaWZpY2FudCBpbnRlcmFjdGlvbiBiZXR3ZWVuIHRpbWUgc3BlbnQgaW4gZ3JhZCBzY2hvb2wgYW5kIHRpbWUgc3BlbnQgd2l0aCBBbGV4IG9uIG51bWJlciBvZiBwdWJsaWNhdGlvbnMNCmBgYCB7ciwgbWVzc2FnZT1GQUxTRSwgZWNobz1UUlVFfQ0KTW9kLk1lZC5Nb2RlbC4yPC1sbShqb2JzIH4gdGltZS5jKmFsZXguYyArIHB1YnMsIGRhdGEgPSBTdWNjZXNzLk1vZE1lZCkgI1RoaXMgbW9kZWwgcHJlZGljdHMgbnVtYmVyIG9mIGpvYiBvZmZlcnMgZnJvbSB0aW1lIHNwZW50IGluIGdyYWQgc2Nob29sLCB0aW1lIHNwZW50IHdpdGggYWxleCwgbnVtYmVyIG9mIHB1YmxpY2F0aW9ucywgYW5kIHRoZSBpbnRlcmFjdGlvbiBiZXR3ZWVuIHRpbWUgc3BlbnQgaW4gZ3JhZCBzY2hvb2wgYW5kIHRpbWUgc3BlbnQgd2l0aCBhbGV4DQoNCnN1bW1hcnkoTW9kLk1lZC5Nb2RlbC4yKQ0KYGBgDQotIFNpZ25pZmljYW50IG1haW4gZWZmZWN0IG9mIHRpbWUgc3BlbnQgaW4gZ3JhZCBzY2hvb2wgb24gbnVtYmVyIG9mIGpvYiBvZmZlcnMNCi0gTm8gZWZmZWN0IG9mIHRpbWUgc3BlbnQgd2l0aCBBbGV4IG9uIG51bWJlciBvZiBqb2Igb2ZmZXJzDQotIFNpZ25pZmljYW50IG1haW4gZWZmZWN0IG9mIG51bWJlciBvZiBwdWJsaWNhdGlvbnMgb24gbnVtYmVyIG9mIGpvYiBvZmZlcnMNCi0gTm8gaW50ZXJhY3Rpb24gYmV0d2VlbiB0aW1lIHNwZW50IGluIGdyYWQgc2Nob29sIGFuZCB0aW1lIHNwZW50IHdpdGggQWxleCBvbiBudW1iZXIgb2Ygam9iIG9mZmVycw0KDQojIyBFeGFtaW5lIHRoZSBlZmZlY3Qgb2Ygb3VyIG1vZGVyYXRvciBvbiB0aGUgbWVkaWF0aW9uIGVmZmVjdA0KSW4gdGhpcyBtZWRpYXRpb24gcGFja2FnZSB3ZSBsaXN0IHRoZSBtb2RlcmF0b3IgYXMgYSBjb3ZhcmlhdGUgYW5kIHNldCB0aGUgbGV2ZWxzIHRvIHdoYXQgd2Ugd2FudA0KDQpXZSBjYW4gdXNlIHRoZSArLy0gMVNEIGZyb20gdGhlIG1lYW4gKG9yIGFub3RoZXIgdmFsdWUgdGhhdCBpcyB0aGVvcmV0aWNhbGx5IGltcG9ydGFudCkNCg0KVGhpcyBhbGxvd3MgdXMgdG8gdmlldyBpbXBhY3Qgb2YgdGhlIG1vZGVyYXRvciBvbiB0aGUgZGlyZWN0IGFuZCBpbmRpcmVjdCBlZmZlY3RzDQoNCkxldHMgbG9vayBhdCBncmFkIHN0dWRlbnRzIHdobyBzcGVuZCBsaXR0bGUgdGltZSB3aXRoIEFsZXggZmlyc3QNCmBgYCB7ciwgbWVzc2FnZT1GQUxTRSwgZWNobz1UUlVFfQ0KI01vZGVyYXRvciBtdXN0IGJlIGluIGJvdGggbW9kZWxzIGZvciBtZWRpYXRlIHRvIHdvcmsuDQpsb3cuYWxleDwtbWVhbihTdWNjZXNzLk1vZE1lZCRhbGV4LmMpLXNkKFN1Y2Nlc3MuTW9kTWVkJGFsZXguYykJI1NldHMgb3VyIGxldmVsIGZvciAxIFNEIGJlbG93IG1lYW4gb2YgYWxleC5jDQoNCmxvdy5hbGV4ICNDaGVjayB2YWx1ZSBvZiB2YXJpYWJsZQ0KTW9kLk1lZC5Mb3dBbGV4IDwtIG1lZGlhdGUoTW9kLk1lZC5Nb2RlbC4xLCBNb2QuTWVkLk1vZGVsLjIsIAkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdmFyaWF0ZXMgPSBsaXN0KGFsZXguYyA9IGxvdy5hbGV4KSwgYm9vdCA9IFRSVUUsIAkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb3QuY2kudHlwZSA9ICJiY2EiLCBzaW1zID0gMTAsIHRyZWF0PSJ0aW1lLmMiLCBtZWRpYXRvcj0icHVicyIpDQojVGhlIG1lZGlhdGUgZnVuY3Rpb24gY2FuIGhhbmRsZSBkaWZmZXJlbnQgdHlwZXMgb2YgQ0kgZXN0aW1hdGlvbi4gSGVyZSB3ZSBhcmUgYXNraW5nIGZvciBiaWFzLWNvcnJlY3RlZCBhbmQgYWNjZWxlcmF0ZWQgY29uZmlkZW5jZSBpbnRlcnZhbHMgYmVjYXVzZSB0aGlzIGdpdmVzIHVzIG1vcmUgYWNjdXJhdGUgY29uZmlkZW50IGludGVydmFsIGVzdGltYXRlcyBhbmQgY29ycmVjdHMgZm9yIGRldmlhdGlvbiBmcm9tIG5vcm1hbGl0eSANCiNXZSBhbHNvIGhhdmUgdG8gc3BlY2lmeSBvdXIgSVYgKHRyZWF0KSBhbmQgTWVkaWF0b3IocHVicykNCiNGb3IgZGVtb25zdHJhdGlvbiBJIGFtIG9ubHkgZG9pbmcgMTAgc2ltdWxhdGlvbnMsIGJ1dCBpbiByZWFsaXR5IHlvdSdkIHdhbnQgdG8gZG8gYXQgbGVhc3QgMiwwMDANCmBgYA0KRm9yIGEgcmV2aWV3IG9uIGJvb3RzdHJhcHBpbmcgdGVjaG5pcXVlcywgc2VlIFtFZnJvbiwgMjAwM10oaHR0cDovL3Byb2plY3RldWNsaWQub3JnL2Rvd25sb2FkL3BkZl8xL2V1Y2xpZC5zcy8xMDYzOTk0OTY4KQ0KDQotIEFDTUU6IEF2ZXJhZ2UgQ2F1c2FsIE1lZGlhdGlvbiBFZmZlY3QgW3RvdGFsIGVmZmVjdCAtIGRpcmVjdCBlZmZlY3RdCQ0KLSBBREU6IEF2ZXJhZ2UgRGlyZWN0IEVmZmVjdCBbdG90YWwgZWZmZWN0IC0gaW5kaXJlY3QgZWZmZWN0XQkNCi0gVG90YWwgRWZmZWN0OiBEaXJlY3QgKEFERSkgKyBJbmRpcmVjdCAoQUNNRSkgCQ0KLSBQcm9wLiBNZWRpYXRlZDogIENvbmNlcHR1YWxseSBBQ01FIC8gVG90YWwgZWZmZWN0IChUaGlzIHRlbGxzIHVzIGhvdyBtdWNoIG9mIHRoZSB0b3RhbCBlZmZlY3Qgb3VyIGluZGlyZWN0IGVmZmVjdCBpcyAiZXhwbGFpbmluZyIpDQpgYGAge3IsIG1lc3NhZ2U9RkFMU0UsIGVjaG89VFJVRX0NCnN1bW1hcnkoTW9kLk1lZC5Mb3dBbGV4KQ0KYGBgDQoNCmBgYCB7ciwgbWVzc2FnZT1GQUxTRSwgZWNobz1UUlVFfQ0KcGxvdChNb2QuTWVkLkxvd0FsZXgsIHhsaW0gPSAwOjEpDQpgYGANCg0KLSBTaWduaWZpY2FudCBkaXJlY3QgZWZmZWN0IG9mIHRpbWUgc3BlbnQgaW4gZ3JhZCBzY2hvb2wgb24gam9iIG9mZmVycyAoZm9yIHRob3NlIHdobyBkb24ndCBzcGVuZCBhIGxvdCBvZiB0aW1lIHdpdGggQWxleCkNCi0gU2lnbmlmaWNhbnQgaW5kaXJlY3QgZWZmZWN0IG9mIHRpbWUgc3BlbnQgaW4gZ3JhZCBzY2hvb2wgb24gam9iIG9mZmVycyB0aHJvdWdoIHB1YmxpY2F0aW9ucyAoZm9yIHRob3NlIHdobyBkb24ndCBzcGVuZCBhIGxvdCBvZiB0aW1lIHdpdGggQWxleCkNCg0KTm93IGxldCdzIGxvb2sgYXQgZ3JhZCBzdHVkZW50cyB3aG8gc3BlbmQgYSBsb3Qgb2YgdGltZSB3aXRoIEFsZXgNCmBgYCB7ciwgbWVzc2FnZT1GQUxTRSwgZWNobz1UUlVFfQ0KaGlnaC5hbGV4PC1tZWFuKFN1Y2Nlc3MuTW9kTWVkJGFsZXguYykrc2QoU3VjY2Vzcy5Nb2RNZWQkYWxleC5jKQ0KDQpoaWdoLmFsZXgNCk1vZC5NZWQuSGlnaEFsZXggPC0gbWVkaWF0ZShNb2QuTWVkLk1vZGVsLjEsIE1vZC5NZWQuTW9kZWwuMiwgCQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdmFyaWF0ZXMgPSBsaXN0KGFsZXguYyA9IGhpZ2guYWxleCksIGJvb3QgPSBUUlVFLCAJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vdC5jaS50eXBlID0gImJjYSIsIHNpbXMgPSAxMCwgdHJlYXQ9InRpbWUuYyIsIG1lZGlhdG9yPSJwdWJzIikNCg0Kc3VtbWFyeShNb2QuTWVkLkhpZ2hBbGV4KQkNCnBsb3QoTW9kLk1lZC5IaWdoQWxleCwgeGxpbSA9IDA6MSkNCmBgYA0KDQotIFNpZ25pZmljYW50IGRpcmVjdCBlZmZlY3Qgb2YgdGltZSBzcGVudCBpbiBncmFkIHNjaG9vbCBvbiBqb2Igb2ZmZXJzIChmb3IgdGhvc2Ugd2hvIHNwZW5kIGEgbG90IG9mIHRpbWUgd2l0aCBBbGV4KQ0KLSBTaWduaWZpY2FudCBpbmRpcmVjdCBlZmZlY3Qgb2YgdGltZSBzcGVudCBpbiBncmFkIHNjaG9vbCBvbiBqb2Igb2ZmZXJzIHRocm91Z2ggcHVibGljYXRpb25zIChmb3IgdGhvc2Ugd2hvIHNwZW5kIGEgbG90IG9mIHRpbWUgd2l0aCBBbGV4KQ0KLSBUaGUgaW5kaXJlY3QgZWZmZWN0IGxvb2tzIGxhcmdlciBmb3IgdGhvc2Ugd2hvIHNwZW5kIGEgbG90IG9mIHRpbWUgd2l0aCBBbGV4IGNvbXBhcmVkIHRvIHRob3NlIHdobyBkb24ndCwgYnV0IHdlIGNhbiB0ZXN0IHRoaXMgdG8gbWFrZSBzdXJlDQoNCg0KVGhlIGZvbGxvd2luZyBjb2RlIHRlc3RzIHdoZXRoZXIgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBpbmRpcmVjdCBlZmZlY3RzIGF0IGVhY2ggbGV2ZWwgb2YgdGhlIG1vZGVyYXRvciBpcyBzaWduaWZpY2FudGx5IGRpZmZlcmVudCBmcm9tIHplcm8NCmBgYCB7ciwgbWVzc2FnZT1GQUxTRSwgZWNobz1UUlVFfQ0KTW9kLk1lZC5UZXN0QWxleCA8LSBtZWRpYXRlKE1vZC5NZWQuTW9kZWwuMSwgTW9kLk1lZC5Nb2RlbC4yLCBib290ID0gVFJVRSwgCQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb3QuY2kudHlwZSA9ICJiY2EiLCBzaW1zID0gMTAsIHRyZWF0PSJ0aW1lLmMiLCBtZWRpYXRvcj0icHVicyIpCSNXZSBkb24ndCBzcGVjaWZ5IGFueXRoaW5nIGFib3V0IHRoZSBtb2RlcmF0b3IgaW4gdGhpcyBjb2RlIHlldA0KDQp0ZXN0Lm1vZG1lZChNb2QuTWVkLlRlc3RBbGV4LCBjb3ZhcmlhdGVzLjEgPSBsaXN0KGFsZXguYyA9IGxvdy5hbGV4KSwJDQogICAgICAgICAgICBjb3ZhcmlhdGVzLjIgPSBsaXN0KGFsZXguYyA9IGhpZ2guYWxleCksIHNpbXMgPSAxMCkJI0hlcmUgd2Ugc3BlY2lmeSBib3RoIGxldmVscyBvZiB0aGUgbW9kZXJhdG9yIHRoYXQgd2Ugd2FudCB0byB0ZXN0DQpgYGANCg0KLSBXZSBjYW4gc2VlIHRoYXQgdGhlIGluZGlyZWN0IGVmZmVjdHMgYXJlIHNpZ25pZmljYW50bHkgZGlmZmVyZW50IHN1Y2ggdGhhdCB0aGUgZWZmZWN0IG9mIHNwZW5kaW5nIHRpbWUgaW4gZ3JhZHVhdGUgc2Nob29sIG9uIGdldHRpbmcgam9iIG9mZmVycyB0aHJvdWdoIHB1YmxpY2F0aW9ucyBpcyBzdHJvbmdlciBmb3IgdGhvc2Ugc3R1ZGVudHMgd2hvIHNwZW5kIGEgbG90IG9mIHRpbWUgd2l0aCBBbGV4IGNvbXBhcmVkIHRvIHRob3NlIHdobyBkbyBub3QNCi0gVGhlcmUgaXMgbm8gZGlmZmVyZW50IGluIHRoZSBzaXplIG9mIHRoZSBkaXJlY3QgZWZmZWN0cywgaG93ZXZlcg0KDQojIyBTdHJlbmd0aHMgYW5kIGxpbWl0YXRpb25zIG9mICJtZWRpYXRpb24iIHBhY2thZ2UNCi0gQ29kZSBpcyBmYWlybHkgc3RyYWlnaHRmb3J3YXJkIGFuZCBtYWtlcyBpbnR1aXRpdmUgc2Vuc2UgaW4gaG93IHRvIHNwZWNpZnkgbGV2ZWxzIG9mIG1vZGVyYXRvcnMNCi0gQ29tcGF0aWJsZSB3aXRoIG1hbnkgdHlwZXMgb2YgcmVncmVzc2lvbiwgaW5jbHVkaW5nIGxpbmVhciwgZ2xtLCBvcmRlcmVkLCBjZW5zb3JlZCwgcXVhbnRpbGUsIEdBTSwgYW5kIHN1cnZpdmFsDQotIExpbWl0ZWQgaW4gdGhlIHR5cGVzIG9mIG1vZGVyYXRlZCBtZWRpYXRpb24gbW9kZWxzIGl0IGNhbiBlc3RpbWF0ZQ0KLSBNdXN0IGluY2x1ZGUgbW9kZXJhdG9yIGluIGJvdGggbW9kZWxzIChtZWFuaW5nIHRoYXQgeW91IGNhbm5vdCBtb2RlbCB0d28gb2YgdGhlIG1vc3QgcG9wdWxhciBtb2RlcmF0ZWQgbWVkaWF0aW9uIG1vZGVscywgSGF5ZXMnIE1vZGVsIDcgYW5kIE1vZGVsIDE0KQ0KLSBDYW5ub3QgaGFuZGxlIGhpZ2hseSBjb21wbGV4IG1lZGlhdGlvbmFsIG1vZGVscyB3aXRoIHNldmVyYWwgY2F1c2FsbHkgZGVwZW5kZW50IG1lZGlhdG9ycyBhbmQgbW9kZXJhdG9ycw0KLSBIb3dldmVyLCBzdHJ1Y3R1cmFsIGVxdWF0aW9uIG1vZGVsIChTRU0pIHByb2dyYW1zIGNhbiBtb2RlbCBtb3JlIGNvbXBsZXggbW9kZWxzLCB3aGljaCB3ZSB0dXJuIHRvIG5leHQNCg0KIyBNb2RlcmF0ZWQgbWVkaWF0aW9uIGFuYWx5c2VzIHVzaW5nICJsYXZhYW4iIHBhY2thZ2UNCkluICJsYXZhYW4iIHdlIHNwZWNpZnkgYWxsIHJlZ3Jlc3Npb25zIGFuZCByZWxhdGlvbnNoaXBzIGJldHdlZW4gb3VyIHZhcmlhYmxlcyBpbiBvbmUgb2JqZWN0DQoNCldlIGNhbiBzcGVjaWZ5IHRoZSBlZmZlY3RzIHdlIHdhbnQgdG8gc2VlIGluIG91ciBvdXRwdXQgKGUuZy4sIGRpcmVjdCwgaW5kaXJlY3QsIGV0Yy4pDQoNCldlIGNhbiBhbHNvIGNvbXB1dGUgbWVhbnMgYW5kIHN0YW5kYXJkIGRldmlhdGlvbnMgZm9yIHVzZSBpbiBzaW1wbGUgc2xvcGVzIGFuYWx5c2VzDQoNCkFmdGVyIHNwZWNpZnlpbmcgYWxsIHRoZSBuZWNlc3NhcnkgY29tcG9uZW50cywgd2UgZml0IHRoZSBtb2RlbCB1c2luZyBhbiBTRU0gZnVuY3Rpb24NCg0KYGluc3RhbGwucGFja2FnZXMoImxhdmFhbiIpICNpbnN0YWxsIHRoaXMgZmlyc3QgaWYgbm90IGFscmVhZHkgaW5zdGFsbGVkYA0KYGBgIHtyLCBtZXNzYWdlPUZBTFNFLCBlY2hvPVRSVUV9DQpsaWJyYXJ5KGxhdmFhbikNCg0KTW9kLk1lZC5MYXZhYW4gPC0gJw0KI1JlZ3Jlc3Npb25zDQojVGhlc2UgYXJlIHRoZSBzYW1lIHJlZ3Jlc3Npb24gZXF1YXRpb25zIGZyb20gb3VyIHByZXZpb3VzIGV4YW1wbGUNCiNFeGNlcHQgaW4gdGhpcyBjb2RlIHdlIGFyZSBuYW1pbmcgdGhlIGNvZWZmaWNpZW50cyB0aGF0IGFyZSBwcm9kdWNlZCBmcm9tIHRoZSByZWdyZXNzaW9uIGVxdWF0aW9ucw0KI0UuZy4sIHRoZSByZWdyZXNzaW9uIGNvZWZmaWNpZW50IGZvciB0aGUgZWZmZWN0IG9mIHRpbWUgb24gcHVicyBpcyBuYW1lZCAiYTEiDQpwdWJzIH4gYTEqdGltZS5jICsgYTIqYWxleC5jICsgYTMqdGltZS5jOmFsZXguYw0Kam9icyB+IGNkYXNoMSp0aW1lLmMgKyBjZGFzaDIqYWxleC5jICsgY2Rhc2gzKnRpbWUuYzphbGV4LmMgKyBiMSpwdWJzDQoNCiNNZWFuIG9mIGNlbnRlcmVkIGFsZXggKGZvciB1c2UgaW4gc2ltcGxlIHNsb3BlcykNCiNUaGlzIGlzIG1ha2luZyBhIGNvZWZmaWNpZW50IGxhYmVsZWQgImFsZXguYy5tZWFuIiB3aGljaCBlcXVhbHMgdGhlIGludGVyY2VwdCBiZWNhdXNlIG9mIHRoZSAiMSINCiMoWX4xKSBnaXZlcyB5b3UgdGhlIGludGVyY2VwdCwgd2hpY2ggaXMgdGhlIG1lYW4gZm9yIG91ciBhbGV4LmMgdmFyaWFibGUNCmFsZXguYyB+IGFsZXguYy5tZWFuKjENCg0KI1ZhcmlhbmNlIG9mIGNlbnRlcmVkIGFsZXggKGZvciB1c2UgaW4gc2ltcGxlIHNsb3BlcykNCiNUaGlzIGlzIG1ha2luZyBhIGNvZWZmaWNpZW50IGxhYmVsZWQgImFsZXguYy52YXIiIHdoaWNoIGVxdWFscyB0aGUgdmFyaWFuY2UgYmVjYXVzZSBvZiB0aGUgIn5+Ig0KI1R3byB0aWxkZXMgc2VwYXJhdGluZyB0aGUgc2FtZSB2YXJpYWJsZSBnaXZlcyB5b3UgdGhlIHZhcmlhbmNlDQphbGV4LmMgfn4gYWxleC5jLnZhciphbGV4LmMNCg0KI0luZGlyZWN0IGVmZmVjdHMgY29uZGl0aW9uYWwgb24gbW9kZXJhdG9yIChhMSArIGEzKk1vZFZhbHVlKSpiMQ0KaW5kaXJlY3QuU0RiZWxvdyA6PSAoYTEgKyBhMyooYWxleC5jLm1lYW4tc3FydChhbGV4LmMudmFyKSkpKmIxDQppbmRpcmVjdC5TRGFib3ZlIDo9IChhMSArIGEzKihhbGV4LmMubWVhbitzcXJ0KGFsZXguYy52YXIpKSkqYjENCg0KI0RpcmVjdCBlZmZlY3RzIGNvbmRpdGlvbmFsIG9uIG1vZGVyYXRvciAoY2Rhc2gxICsgY2Rhc2gzKk1vZFZhbHVlKQ0KI1dlIGhhdmUgdG8gZG8gaXQgdGhpcyB3YXkgYmVjYXVzZSB5b3UgY2Fubm90IGNhbGwgdGhlIG1lYW4gYW5kIHNkIGZ1bmN0aW9ucyBpbiBsYXZhYW4gcGFja2FnZQ0KZGlyZWN0LlNEYmVsb3cgOj0gY2Rhc2gxICsgY2Rhc2gzKihhbGV4LmMubWVhbi1zcXJ0KGFsZXguYy52YXIpKSANCmRpcmVjdC5TRGFib3ZlIDo9IGNkYXNoMSArIGNkYXNoMyooYWxleC5jLm1lYW4rc3FydChhbGV4LmMudmFyKSkNCg0KI1RvdGFsIGVmZmVjdHMgY29uZGl0aW9uYWwgb24gbW9kZXJhdG9yDQp0b3RhbC5TRGJlbG93IDo9IGRpcmVjdC5TRGJlbG93ICsgaW5kaXJlY3QuU0RiZWxvdw0KdG90YWwuU0RhYm92ZSA6PSBkaXJlY3QuU0RhYm92ZSArIGluZGlyZWN0LlNEYWJvdmUNCg0KI1Byb3BvcnRpb24gbWVkaWF0ZWQgY29uZGl0aW9uYWwgb24gbW9kZXJhdG9yDQojVG8gbWF0Y2ggdGhlIG91dHB1dCBvZiAibWVkaWF0ZSIgcGFja2FnZQ0KcHJvcC5tZWRpYXRlZC5TRGJlbG93IDo9IGluZGlyZWN0LlNEYmVsb3cgLyB0b3RhbC5TRGJlbG93DQpwcm9wLm1lZGlhdGVkLlNEYWJvdmUgOj0gaW5kaXJlY3QuU0RhYm92ZSAvIHRvdGFsLlNEYWJvdmUNCg0KI0luZGV4IG9mIG1vZGVyYXRlZCBtZWRpYXRpb24NCiNBbiBhbHRlcm5hdGl2ZSB3YXkgb2YgdGVzdGluZyBpZiBjb25kaXRpb25hbCBpbmRpcmVjdCBlZmZlY3RzIGFyZSBzaWduaWZpY2FudGx5IGRpZmZlcmVudCBmcm9tIGVhY2ggb3RoZXINCmluZGV4Lm1vZC5tZWQgOj0gYTMqYjENCicNCmBgYA0KDQpOb3cgd2UgdGFrZSB0aGUgc3BlY2lmaWVkIG1vZGVscyBhbmQgYWxsIG9mIHRoZSBlZmZlY3RzIHdlIHdhbnQgdG8gZXN0aW1hdGUgYW5kIHJ1biB0aGVtIHRocm91Z2ggdGhlIFNFTSBmdW5jdGlvbi4gVGhlIFNFTSBmdW5jdGlvbiBhbGxvd3MgYSBjb21wbGV0ZWx5IHVzZXItZGVmaW5lZCBtb2RlbCB0byBiZSBmaXQgdG8gdGhlIGRhdGEsIGxpa2Ugb3VyIHNwZWNpZmljYWxseSBkZWZpbmVkIG1vZGVyYXRlZCBtZWRpYXRpb24gbW9kZWwgKHRoZSBTRU0gZnVuY3Rpb24gd2FzIGRlc2lnbmVkIHRvIGZpdCBzdHJ1Y3R1cmFsIGVxdWF0aW9uIG1vZGVscywgYnV0IGNhbiBhbHNvIGZpdCAicmVndWxhciIgcmVncmVzc2lvbiBtb2RlbHMgYXMgd2VsbCkuDQpgYGAge3IsIG1lc3NhZ2U9RkFMU0UsIGVjaG89VFJVRSwgd2FybmluZyA9IEZBTFNFfQ0KI0ZpdCBtb2RlbA0KTW9kLk1lZC5TRU0gPC0gc2VtKG1vZGVsID0gTW9kLk1lZC5MYXZhYW4sDQogICAgICAgICAgICAgICAgICAgZGF0YSA9IFN1Y2Nlc3MuTW9kTWVkLA0KICAgICAgICAgICAgICAgICAgIHNlID0gImJvb3RzdHJhcCIsDQogICAgICAgICAgICAgICAgICAgYm9vdHN0cmFwID0gMTApDQpgYGANCg0KYGBgIHtyLCBtZXNzYWdlPUZBTFNFLCBlY2hvPVRSVUUsIGV2YWwgPSBGQUxTRX0NCiNGaXQgbWVhc3VyZXMNCnN1bW1hcnkoTW9kLk1lZC5TRU0sDQogICAgICAgIGZpdC5tZWFzdXJlcyA9IEZBTFNFLA0KICAgICAgICBzdGFuZGFyZGl6ZSA9IFRSVUUsDQogICAgICAgIHJzcXVhcmUgPSBUUlVFKQ0KYGBgDQoNCi0gVGhlIGZpcnN0IGNodW5rIG9mIHRoZSBvdXRwdXQgc2hvdyBmaXQgaW5kaWNlcyByZWxhdGVkIHRvIFNFTSAobm90IHJlYWxseSBhcHBsaWNhYmxlIGZvciBvdXIgcHVycG9zZXMpDQotIFRoZSBzZWNvbmQgcGFydCBvZiB0aGUgb3V0cHV0IHNob3dzIG91ciByZWdyZXNzaW9uIGZvcm11bGFzDQotIFRoZSBlbmQgb2YgdGhlIG91dHB1dCBzaG93cyB0aGUgc3BlY2lmaWVkIGRpcmVjdCwgaW5kaXJlY3QsIHRvdGFsLCBwcm9wb3J0aW9uIG1lZGlhdGVkIGVmZmVjdHMNCmBgYCB7ciwgbWVzc2FnZT1GQUxTRSwgZWNobz1GQUxTRSwgd2FybmluZyA9IEZBTFNFfQ0KI0ZpdCBtZWFzdXJlcw0Kc3VtbWFyeShNb2QuTWVkLlNFTSwNCiAgICAgICAgZml0Lm1lYXN1cmVzID0gRkFMU0UsDQogICAgICAgIHN0YW5kYXJkaXplID0gVFJVRSwNCiAgICAgICAgcnNxdWFyZSA9IFRSVUUpDQpgYGANCg0KV2UgY2FuIGFsc28gY2FsbCBmb3IgYm9vdHN0cmFwcGVkIGNvbmZpZGVuY2UgaW50ZXJ2YWwgcGFyYW1ldGVyIGVzdGltYXRlcyBvZiBhbGwgb2Ygb3VyIGVmZmVjdHMNCmBgYCB7ciwgbWVzc2FnZT1GQUxTRSwgZWNobz1UUlVFLCB3YXJuaW5nID0gRkFMU0V9DQojQm9vdHN0cmFwcw0KcGFyYW1ldGVyRXN0aW1hdGVzKE1vZC5NZWQuU0VNLA0KICAgICAgICAgICAgICAgICAgIGJvb3QuY2kudHlwZSA9ICJiY2Euc2ltcGxlIiwNCiAgICAgICAgICAgICAgICAgICBsZXZlbCA9IC45NSwgY2kgPSBUUlVFLA0KICAgICAgICAgICAgICAgICAgIHN0YW5kYXJkaXplZCA9IEZBTFNFKVtjKDE5OjI3KSxjKDQ6MTApXSAjV2UgaW5kZXggdGhlIG1hdHJpeCB0byBvbmx5IGRpc3BsYXkgY29sdW1ucyB3ZSBhcmUgaW50ZXJlc3RlZCBpbg0KYGBgDQoNCi0gT3VyIGVzdGltYXRlcyBhbmQgY29uZmlkZW5jZSBpbnRlcnZhbHMgYXJlIGFsbW9zdCBpZGVudGljYWwgdG8gdGhlICJtZWRpYXRpb24iIHBhY2thZ2UgZXN0aW1hdGVzDQotIFRoZSBkaWZmZXJlbmNlIGlzIG1vc3QgbGlrZWx5IGEgcmVzdWx0IG9mIGJvb3RzdHJhcCBlc3RpbWF0aW9uIGRpZmZlcmVuY2VzIChlLmcuLCBsYXZhYW4gdXNlcyBiaWFzLWNvcnJlY3RlZCBidXQgbm90IGFjY2VsZXJhdGVkIGJvb3RzdHJhcHBpbmcgZm9yIHRoZWlyIGNvbmZpZGVuY2UgaW50ZXJ2YWxzKQ0KDQojIyBTdHJlbmd0aHMgYW5kIGxpbWl0YXRpb25zIG9mICJsYXZhYW4iIHBhY2thZ2UNCi0gRXh0cmVtZWx5IGN1c3RvbWl6YWJsZQ0KLSBDYW4gYWxzbyBtb2RlbCBsYXRlbnQgdmFyaWFibGVzIGlmIHlvdXIgbWVhc3VyZW1lbnQgbW9kZWwgcmVxdWlyZXMgaXQNCi0gVGVkaW91cyEgSXQgdG9vayBtZSBzZXZlcmFsIGhvdXJzIHRvIGZpZ3VyZSBvdXQgaG93IHRoZSBuYW1pbmcgY29udmVudGlvbnMgd29ya2VkDQotIEEgbG90IG9mIHVwIGZyb250IGNvZGluZyByZXF1aXJlZCBtZWFuaW5nIHlvdSBraW5kIG9mIG5lZWQgdG8ga25vdyBleGFjdGx5IHdoYXQgeW91J3JlIGxvb2tpbmcgZm9yIGluIHlvdXIgbW9kZWwNCg0KIyBSZWZlcmVuY2VzIGFuZCBMaW5rcw0KIyMgUmVmZXJlbmNlcw0KSGF5ZXMsIEEuIEYuICgyMDEzKS4gKkludHJvZHVjdGlvbiB0byBtZWRpYXRpb24sIG1vZGVyYXRpb24sIGFuZCBjb25kaXRpb25hbCBwcm9jZXNzIGFuYWx5c2lzOiBBIHJlZ3Jlc3Npb24tYmFzZWQgYXBwcm9hY2gqLiBOZXcgWW9yazogVGhlIEd1aWxmb3JkIFByZXNzLg0KDQpNaWNoYWxhaywgTi4gKDIwMTYsIEp1bHkgMjkpLiAqUmVwcm9kdWNpbmcgSGF5ZXMnIFBST0NFU1MgbW9kZWxzJyByZXN1bHRzIGluIFIqLiBSZXRyaWV2ZWQgZnJvbSBodHRwczovL25pY2ttaWNoYWxhay5ibG9nc3BvdC5jb20vMjAxNi8wNy9yZXByb2R1Y2luZy1oYXllc3MtcHJvY2Vzcy1tb2RlbHMuaHRtbA0KDQpSb3NzZWVsLCBZLiAoMjAxNywgRmVicnVhcnkgMjQpLiAqUGFja2FnZSAnbGF2YWFuJyouIFJldHJpZXZlZCBmcm9tIGh0dHBzOi8vY3Jhbi5yLXByb2plY3Qub3JnL3dlYi9wYWNrYWdlcy9sYXZhYW4vbGF2YWFuLnBkZg0KDQpTYWxlcywgQS4gQy4gKDIwMTcpLiBSZXZpZXc6IE1lZGlhdGlvbiBwYWNrYWdlIGluIFIuICpKb3VybmFsIG9mIEVkdWNhdGlvbmFsIGFuZCBCZWhhdmlvcmFsIFN0YXRpc3RpY3MsIDQyKiwgMSwgNjktODQuDQoNClRpbmdsZXksIEQuLCBZYW1hbW90bywgVC4sIEhpcm9zZSwgSy4sIEtlZWxlLCBMLiwgJiBJbWFpLCBLLiAoMjAxNCkuICpNZWRpYXRpb246IFIgcGFja2FnZSBmb3IgY2F1c2FsIG1lZGlhdGlvbiBhbmFseXNpcyouDQoNCiMjIEhlbHBmdWwgTGlua3MNCltUaGUgTGF2YWFuIFBhY2thZ2UgV2Vic2l0ZV0oaHR0cDovL2xhdmFhbi51Z2VudC5iZSkNCg0KW1IgTWFya2Rvd24gQ2hlYXRzaGVldF0oaHR0cHM6Ly9naXRodWIuY29tL2FkYW0tcC9tYXJrZG93bi1oZXJlL3dpa2kvTWFya2Rvd24tQ2hlYXRzaGVldCNlbXBoYXNpcykNCg0KW1IgTWFya2Rvd24gR2FsbGVyeV0oaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbS9hcnRpY2xlcy5odG1sKQ0KDQoNCg0KPHNjcmlwdD4NCiAgKGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpew0KICAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwNCiAgbT1zLmdldEVsZW1lbnRzQnlUYWdOYW1lKG8pWzBdO2EuYXN5bmM9MTthLnNyYz1nO20ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxtKQ0KICB9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsJ2dhJyk7DQoNCiAgZ2EoJ2NyZWF0ZScsICdVQS05ODg3ODc5My0xJywgJ2F1dG8nKTsNCiAgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTsNCg0KPC9zY3JpcHQ+DQo=, A Language, not a Letter: Learning Statistics in R, https://nickmichalak.blogspot.com/2016/07/reproducing-hayess-process-models.html, https://cran.r-project.org/web/packages/lavaan/lavaan.pdf, Moderation tests the influence of a third variable (Z) on the relationship between X to Y, Mediation tests a hypothetical causal chain where the effect of one variable (X) on another variable (Y) is mediated, or explained, by a third variable (M), Moderated mediation tests the influence of a fourth (or more) variable on the mediated relationship between X and Y, The effect of the mediator is moderated by another variable, The moderation can occur on any and all paths in the mediation model (e.g., a path, b path, c path, or any combination of the three), The more time one spends in graduate school, the more job offers they have when they graduate, This relationship is explained by increased publications (i.e., the more time spent in grad school, the more publications one has, and the more publications one has, the more job offers they get), However, this causal chain may only work for people who spend their time in graduate school wisely (i.e., spend time with Professor Demos), How does spending time with Professor Demos impact the causal chain between time spent in graduate school, publications, and job offers?
Crystal Violet Preparation For Cell Staining, 2020 Topps Update Hanger Walmart, Red Pike Cichlid Tank Mates, James R Scannell, Grisons Switzerland Map, Dried Calendula Flowers Benefits, Cody Lundin Arizona,