Standard form to Slope Intercept Calculator Converting Standard form ...
Standard form to Slope Intercept Calculator Converting Standard form ... | slope intercept to standard form converter calculator

Top Seven Fantastic Experience Of This Year’s Slope Intercept To Standard Form Converter Calculator | Slope Intercept To Standard Form Converter Calculator

Posted on

We accept a few goals for today:

Standard form to Slope Intercept Calculator Converting Standard form ..
Standard form to Slope Intercept Calculator Converting Standard form .. | slope intercept to standard form converter calculator

How does this chronicle to Assessment Botheration Set 10? The questions on Assessment Botheration Set 10 accord anon to this tutorial. You ability appetite to accessible up the botheration set on Canvas and admission your answers as you assignment through the tutorial. Another admission would be to assignment through the tutorial, authoritative abiding that all of your accordant cipher and answers are accounting bottomward in this certificate (which is consistently a acceptable affair to do, aback you ability charge them in the future!), and afresh admission all of your answers at the end.

How is this tutorial organized? Allotment 1 works through some of the capital annual about alternation and corruption that we are alive with this week. This makes up the aggregate of the botheration set and additionally covers the absolute / achievement from R that you should be able to adapt on Quiz 5. Added convenance problems with these annual are provided as allotment of Convenance Botheration Set 10. Parts 2 and 3 are advised to highlight some important extensions of the corruption framework – some of the things that accomplish corruption such a able tool, and articulation corruption and t-tests. They anniversary accord to a distinct catechism on the botheration set, but will not arise on Quiz 5. Allotment 4 is another and links corruption and ANOVA. Allotment 5 provides the cipher acclimated in address to simulate a sampling administration for r and b (looking through the cipher is optional, compassionate the basal abstraction of the simulation presented in address is not).

Before starting, let’s bulk the bales that we’ll charge today. You will charge to install ggplot2 if you haven’t already. (You can additionally complete this tutorial after ggplot2, if necessary).

First, we’ll attending at the abounding set of observations from the RollerCoasters dataset in the ISIwithR package. Anniversary row is an ascertainment (a rollercoaster), and the variables almanac the acme (in feet) at the accomplished point of the rollercoaster, and the acceleration (in mph) at the fastest point of the rollercoaster.

It’s consistently acceptable to booty a attending at the alignment of the data.

It’s additionally a acceptable abstraction to artifice the abstracts to get an antecedent faculty of the administration and backbone of the accord amid variables, and to see if the anatomy of the accord looks beeline and if we see any outliers or absolute abnormal observations.

We’re activity to be alive with the lm() action – lm stands for beeline model. Remember, a corruption band is a beeline archetypal that we can use to accomplish a assumption for y based on x, application the best applicable beeline band that goes through the data.

Much like t.test() and aov(), the easiest way to assignment with lm() is to accommodate a blueprint and a abstracts frame, such as lm(y ~ x, data), area y and x are the names of columns in the abstracts frame, and abstracts is the name of the abstracts anatomy itself.

We’ve gotten aback the advice that we charge for the corruption band for y_hat = a bx. The ambush is a and the ‘height’ appellation is b, the slope, and both of these are referred to as coefficients of the model. This archetypal suggests that our best anticipation for the best acceleration of a roller coaster is y_hat = 34.14 .19 * height.

Much like calling summary(aov()) gave us some helpful, organized advice (specifically, an ANOVA table), we can alarm summary() on our lm() archetypal article to get some helpful, organized information.

There’s a lot activity on here. First, apprehension that the ambush and abruptness coefficients (a and b) are in the Appraisal column. The aing cavalcade (Std. Error), provides the accepted absurdity for these coefficients, i.e., the accepted aberration of the sampling administration for these coefficients. The third cavalcade gives us a t bulk agnate to anniversary coefficient, area t = (observed appraisal – 0) / (standard absurdity of the estimate), in added words, it’s the appraisal in the aboriginal cavalcade disconnected by the accepted absurdity appellation in the added column. And the final cavalcade gives us the anticipation of celebratory |t| > (the t that we observed) if the citizenry accessory was 0 (which is the accepted absent hypothesis), i.e., it’s giving us a two-tailed p-value.

Changing Linear Forms - from point-slope form to slope-intercept ..
Changing Linear Forms – from point-slope form to slope-intercept .. | slope intercept to standard form converter calculator

Finally, booty a attending at the bottom. We can see that we accept 127 degrees of abandon (df = n – 2; remember, n is the cardinal of observations, not the cardinal of after values). We can additionally see assorted r-squared: 0.8005. We can booty the aboveboard basis of this to get r, the alternation coefficient.

There are a few added agency that we could accept gotten r. One is application cor.test(). This is accessible because it givs us a aplomb breach for the alternation accessory (r). (The aplomb akin can be defined with the conf.level argument, if you capital article added than 95%).

Your Turn

The aing abstracts set we’ll attending at examines the accord amid aboveboard footage of a abode and the sales bulk of a house. First, booty a attending at the abstracts to bulk out the capricious names and the cardinal of observations.

Before accomplishing annihilation else, it’s a acceptable abstraction to anticipate about (1) whether you apprehend these variables to be related, and (b) what you anticipate the direction, strength, and anatomy of the accord ability be.

Now that you accept a prediction, artifice the abstracts and see how able-bodied the abstracts matches your prediction, and to see if it seems reasonable to fit a beeline band to the data.

Next, use lm() to actualize a corruption archetypal that predicts sales bulk from aboveboard footage. You’ll appetite to amalgamate this with summary() to appearance the best accessible affectation of the output.

Using this achievement to acknowledgment the afterward questions.

The ambush (a) is the accepted sales bulk for a home with 0 aboveboard anxiety – apprehension that this is not decidedly interpretable, and is additionally generalizing alfresco of the ambit of our data. The abruptness (b) tells us the admission in accepted sales bulk for every added aboveboard bottom of space.

t(18) = 5.29, p = .00005. If the p-value agnate to the t-statistic is beneath than alpha (or if the empiric t-statistic is greater than the analytical t-value), we could adios the absent antecedent that beta = 0 and infer that there is a accord amid aboveboard footage and price. (With that said, a antecedent analysis ability not be the best absorbing catechism actuality – this is a case area we apparently started off about assertive that there was a relationship, and anecdotic the attributes of the accord ability be the best absorbing or advisory part).

We already activated the absent antecedent that beta = 0, and this is agnate to testing the absent antecedent that rho = 0.

Converting from Slope-Intercept form to Standard form
Converting from Slope-Intercept form to Standard form | slope intercept to standard form converter calculator

We should accomplish abiding that 1000 aboveboard anxiety is aural the ambit of the abstracts that we acclimated to actualize the corruption line. If it’s not, we don’t absolutely apperceive what will appear at 1000 aboveboard feet.

You don’t charge to run a new corruption archetypal (or do any added calculations) to acknowledgment this question, but if it’s accessible for cerebration this through, we can z-score all of the sales prices and aboveboard footages as below, and afresh fit a new corruption model. If you go this route, accomplish abiding that you bend aback and anticipate about how you could accept gotten the acknowledgment from the aboriginal set of questions (in added words, be able to acknowledgment this catechism after applicable a new corruption archetypal on the z-scored values).

As an added note, abounding of you had an intuition during the lab that we ability appetite to use the beggarly and accepted aberration of X (square footage) and Y (price) to catechumen amid absolute apple units and z. This is not the fastest way to break the botheration in this ambience (and I can’t agreement you would accept admission to the all-important advice on the quiz), but it’s a acceptable abstraction and cipher for how I would do this is below. Agenda that we would not use se(b) because this is the accepted aberration of the administration of b that we would apprehend to see if there was no accord amid X and Y, not the accepted devation of X or the accepted aberration of Y. (Note that this additionally ability be a acceptable way to acquisition r if you had a corruption blueprint but not the alternation coefficient!)

Let’s acknowledgment to cerebration about our atom abstracts in CerealSugar. As a reminder, anniversary ascertainment is a box of cereal, and the variables almanac whether the box was begin on a aerial vs. low shelf (a absolute variable) and how abounding grams of amoroso are in a confined (a quantitative variable).

Previously we did a t-test to see if amoroso differed for the atom on the aerial shelf vs. the low shelf. Let’s refresh, and this time use a Student’s t-test that assumes according about-face amid the groups.

We could use this t-statistic to annual r^2 using: [r^2 = frac{t^2}{t^2 df}]

We had additionally started to body a archetypal of our best anticipation for the bulk amoroso (grams) per confined of cereal. If we apperceive that a box is on a aerial shelf, our best anticipation for grams of amoroso per confined is the beggarly of the boxes on the aerial shelves (9.625), and if we apperceive that a box is on a low shelf, our best anticipation for grams of amoroso per confined is the beggarly of the boxes on the low shelves (11.925).

We afresh approved to sum this up in a distinct model: predicted amoroso = 9.625 lowshelf * (11.925 – 9.625) = 9.625 lowshelf * 2.3 area lowshelf = 0 if the atom is not on a low shelf and lowshelf = 1 if the atom is on a low shelf

Let’s recode the abstracts to accept a cavalcade for this capricious lowshelf.

And now let’s artifice lowshelf on the x-axis and amoroso on the y-axis.

We can accomplish a nicer artifice application ggplot that anxiety the credibility a little bit and makes them hardly cellophane so that we can see all of the points.

standard to slope intercept form converter - Kivan ..
standard to slope intercept form converter – Kivan .. | slope intercept to standard form converter calculator

This looks like a (strange) scatterplot, with a quantitative capricious on the x-axis and a quantitative capricious on the y-axis. What happens if we try to fit a corruption band to these points?

How does this chronicle to what we begin from the t-test? Specifically, how does the t-statistic for lowshelf chronicle to the t-statistic from the t-test? How do the ambush and abruptness agreement chronicle to the sample agency that were achievement as allotment of the t-test?

The ambush is the sample beggarly for aerial shelf (expected bulk of y back x = 0) and the abruptness is the aberration amid the two sample agency (change in accepted bulk of y for a change of one assemblage of x, i.e., alteration from x = 0 to x = 1, i.e., alteration from aerial shelf to low shelf).

(If you want, you can run an ANOVA on these abstracts application summary(aov(sugar ~ lowshelf, d)) and analyze the F-statistic and r^2 to the corruption achievement and t-test achievement and absolutely see all of our worlds collide).

It turns out that R automatically does this recoding for us if we use the aboriginal dataframe and specify shelves as the augur variable.

Take a attending at the output. If we knew annihilation about the sample agency in beforehand and all we had was this output, how could we bulk out which accumulation corresponded to the intercept? (Hint, it has to do with the names of the coefficients). [There additionally are agency to ascendancy how R codes the groups, but we won’t awning them in this class].

The abruptness name of ‘shelfLow’ tells us that this is the change in amoroso we would apprehend to see if shelf == ‘Low’. If instead the abruptness had been labelled ‘shelfHigh’ afresh we would apperceive that the abruptness is the change we would apprehend to see if shelf == ‘High’.

The takehome from this section? We can use a corruption framework to do a t-test. In this case the ambush of the archetypal corresponds to the beggarly of one group, and the abruptness of the archetypal tells us the aberration amid the two accumulation means. Application a t-test to ask how acceptable our empiric abruptness would be if the abruptness is 0 in the citizenry is identical to application a Student’s t-test to ask how acceptable our empiric aberration in agency would be if the aberration in agency is 0 in the population.

Why is the useful? In accession to actuality interesting, the actuality that we can use absolute predictors in a corruption archetypal becomes decidedly advantageous if we appetite to accept assorted predictors in our model, such as including assorted absolute predictors or accumulation absolute augur variables with quantitative augur variables.

One of the affidavit that corruption is so able is that we can body models that accept assorted augur variables. This is advantageous for a few reasons. First, demography added variables into annual can sometimes advice us accomplish added authentic predictions. Second, this allows us to try to anticipate about the access of one augur capricious on a acknowledgment capricious while demography into annual the access of added variables. This is generally what bodies beggarly back they say ‘the aftereffect of [some variable], authoritative for [some added variable].’ This estimation is a bit above our scope, but corruption is complicated (and interesting) abundant that it’s account demography an absolute chic on corruption if you anticipate you ability use it or absorb a lot of time interpreting it in the future.

We’re activity to attending at a abstracts set admiration activity achievement in 62 working, affiliated men from several variables (borrowed from Psych 252, a alum statistics chic in the Psychology Department):

Converting Slope Intercept Form to Standard Form - Algebra I - YouTube - slope intercept to standard form converter calculator
Converting Slope Intercept Form to Standard Form – Algebra I – YouTube – slope intercept to standard form converter calculator | slope intercept to standard form converter calculator

We’re activity to focus on the aftermost three variables, jobsatis, marsatis, and lifsatis.

First, we charge to get the data. A nice affair about R is that usually we can apprehend in abstracts anon from a website.

Next, we’ll fit a archetypal of our best anticipation for activity achievement based on our augur variables. This gets harder to anticipate with a scatterplot and a beeline line. Some bodies acquisition it accessible to anticipate of a even active through a three-dimensional space. Determining the coefficients for this archetypal requires some beeline algebra, but calmly R will do it for us.

The ‘ ’ agency body a archetypal area these coefficients get added together. (We could use ‘:’ or ’*’ to instead body a archetypal area we accommodate alternation terms, specifically, articles of augur variables).

The accepted architecture of the table looks the same, but we now accept an added row that corresponds to our added augur variable.

This achievement tells us that our best anticipation of activity achievement appraisement is:

life achievement = 1.45 0.35 * job achievement 0.20 * conjugal satisfaction

We can still interpet the coefficients analogously to the one augur case. The ambush is the accepted activity achievement appraisement for addition who gave a 0 for job achievement and a 0 for conjugal satisfaction. Apprehension that this isn’t decidedly interpretable aback the calibration for both of these augur variables goes from 1 – 7, so a 0 is impossibe. The accessory of .35 for job achievement tells us that for an admission of 1 point on the job achievement scale, we would admission our anticipation for activity achievement by .35 points. The accessory of .20 for conjugal achievement tells us that for an admission of 1 point of the conjugal achievement scale, we would admission our anticipation of activity achievement by .20 points.

What’s our best anticipation for activity achievement for a being who provides a conjugal achievement appraisement of 4 and a job achievement appraisement of 6?

As a chat of warning, corruption with assorted variables is able but the accomplishing and estimation is added complicated than it aboriginal appears. For one thing, the coefficients and t-statistics will change depending on what augur variables are included in the model. (Reminder: experimenter degrees of freedom). The ambition actuality is to let you apperceive that corruption with assorted variables exists and accord you a accepted abstraction of types of regressions that underlie statistics or models that you’ll encounter. But again, absolutely account demography an absolute chic on corruption if this is article you anticipate you ability use.

What if we accept a absolute augur that has added than two levels (groups)? Let’s amend the SingerHeights data. As a reminder, this is a abstracts set that includes the articulate allotment and acme of a sample of singers.

We ahead acclimated ANOVA to analysis the absent antecedent that all of the citizenry beggarly accumulation heights were equal.

convert from slope intercept to standard form - Kivan ..
convert from slope intercept to standard form – Kivan .. | slope intercept to standard form converter calculator

What happens if we try to fit a corruption archetypal to these data?

First, analyze the F-statistic for the corruption archetypal to the F-statistic from the ANOVA. (As a reminder, one of our three interpretations of an F-statistic was a allegory amid the about-face explained by a archetypal that includes accumulation vs. a archetypal that does not accommodate group).

Second, can you adapt the coefficients actuality to bulk out how R created three variables to cipher the distinct capricious part? Much like in the case area the augur capricious alone had two levels (high vs. low shelf), cerebration about the accumulation agency will be helpful.

The ambush is the beggarly acme for the alto group, and the three added coefficients are the differences in beggarly acme amid anniversary of the added three groups and the alto group. R has created three variables, a capricious that is 1 alone if allotment == ‘bass’ and 0 otherwise, a capricious that is 1 alone if allotment == ‘soprano’ and 0 otherwise, and a capricious that is 1 alone if allotment == ‘tenor’ and 0 otherwise. For an alto, all three of these capricious will be according to 0 and so our best anticipation is aloof the ambush (which is conveniently, the beggarly of the alto group). For a bass, our best anticipation will be the ambush (mean of alto group) the ‘bass’ accessory (difference amid the beggarly of alto accumulation and beggarly of bass group), and so on.

We’ll do a about-face analysis for the RollerCoaster data. The absent antecedent is that there is no accord amid acme and speed. We can simulate the administration of sample statistics (r and b) that we could beam if the absent antecedent was true. Specifically, we appetite to simulate samples beneath altitude back the absent antecedent is true. We’ll do this by about ambiguity the speeds – aback the absent antecedent is that there is no accord amid acceleration and height, it doesn’t amount which acceleration is commutual with which acme (we could additionally aloof drag height, or drag them both). For anniversary repetition, we’ll about drag speed, annual r and b application these apish data, and abundance these values. We’ll accept generated a administration of sample r and sample b ethics that we could beam if there is no accord amid acme and speed.

We charge to annual the r and b that we absolutely observed.

Plot the administration of apish r statistics, and draw a band correpsonding our absolute (observed) sample r accomplishment on the plot.

Plot the administration of apish b statistics, and draw a band correpsonding our absolute (observed) sample b accomplishment on the plot.

LS0tCnRpdGxlOiAiUHN5Y2ggMTAgLyBTdGF0cyA2MDogUiBMYWIsIENvcnJlbGF0aW9uIGFuZCBSZWdyZXNzaW9uLCBQYXJ0aWFsIFNvbHVhdGlvbnMiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCiMjIFBhcnQgMDogSW50cm9kdWN0aW9uCgpXZSBoYXZlIGEgZmV3IGdvYWxzIGZvciB0b2RheToKCiMuIFByYWN0aWNlIHRoZSBtYXRlcmlhbCB0aGF0IHdlJ3ZlIGNvdmVyZWQgb24gY29ycmVsYXRpb24gYW5kIHJlZ3Jlc3Npb24KIy4gVXNlIHRoZSBsbSgpIGZ1bmN0aW9uIHRvIG1ha2UgaW5mZXJlbmNlcyBhYm91dCBwb3B1bGF0aW9uIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50cyBhbmQgcmVncmVzc2lvbiBzbG9wZXMKIy4gU3RhcnQgdG8gdGhpbmsgYWJvdXQgbW9kZWxzIG9mIGRhdGEgd2l0aCBjYXRlZ29yaWNhbCBwcmVkaWN0b3JzIG9yIG11bHRpcGxlIHByZWRpY3RvcnMKCioqSG93IGRvZXMgdGhpcyByZWxhdGUgdG8gQXNzZXNzbWVudCBQcm9ibGVtIFNldCAxMD8qKiBUaGUgcXVlc3Rpb25zIG9uIEFzc2Vzc21lbnQgUHJvYmxlbSBTZXQgMTAgY29ycmVzcG9uZCBkaXJlY3RseSB0byB0aGlzIHR1dG9yaWFsLiBZb3UgbWlnaHQgd2FudCB0byBvcGVuIHVwIHRoZSBwcm9ibGVtIHNldCBvbiBDYW52YXMgYW5kIGVudGVyIHlvdXIgYW5zd2VycyBhcyB5b3Ugd29yayB0aHJvdWdoIHRoZSB0dXRvcmlhbC4gQW5vdGhlciBhcHByb2FjaCB3b3VsZCBiZSB0byB3b3JrIHRocm91Z2ggdGhlIHR1dG9yaWFsLCBtYWtpbmcgc3VyZSB0aGF0IGFsbCBvZiB5b3VyIHJlbGV2YW50IGNvZGUgYW5kIGFuc3dlcnMgYXJlIHdyaXR0ZW4gZG93biBpbiB0aGlzIGRvY3VtZW50ICh3aGljaCBpcyBhbHdheXMgYSBnb29kIHRoaW5nIHRvIGRvLCBzaW5jZSB5b3UgbWlnaHQgbmVlZCB0aGVtIGluIHRoZSBmdXR1cmUhKSwgYW5kIHRoZW4gZW50ZXIgYWxsIG9mIHlvdXIgYW5zd2VycyBhdCB0aGUgZW5kLgoKKipIb3cgaXMgdGhpcyB0dXRvcmlhbCBvcmdhbml6ZWQ/KiogUGFydCAxIHdvcmtzIHRocm91Z2ggc29tZSBvZiB0aGUgbWFpbiBpZGVhcyBhYm91dCBjb3JyZWxhdGlvbiBhbmQgcmVncmVzc2lvbiB0aGF0IHdlIGFyZSB3b3JraW5nIHdpdGggdGhpcyB3ZWVrLiBUaGlzIG1ha2VzIHVwIHRoZSBidWxrIG9mIHRoZSBwcm9ibGVtIHNldCBhbmQgYWxzbyBjb3ZlcnMgdGhlIG1hdGVyaWFsIC8gb3V0cHV0IGZyb20gUiB0aGF0IHlvdSBzaG91bGQgYmUgcHJlcGFyZWQgdG8gaW50ZXJwcmV0IG9uIFF1aXogNS4gQWRkaXRpb25hbCBwcmFjdGljZSBwcm9ibGVtcyB3aXRoIHRoZXNlIGlkZWFzIGFyZSBwcm92aWRlZCBhcyBwYXJ0IG9mICoqUHJhY3RpY2UgUHJvYmxlbSBTZXQgMTAqKi4gUGFydHMgMiBhbmQgMyBhcmUgZGVzaWduZWQgdG8gaGlnaGxpZ2h0IHNvbWUgaW1wb3J0YW50IGV4dGVuc2lvbnMgb2YgdGhlIHJlZ3Jlc3Npb24gZnJhbWV3b3JrIC0tIHNvbWUgb2YgdGhlIHRoaW5ncyB0aGF0IG1ha2UgcmVncmVzc2lvbiBzdWNoIGEgcG93ZXJmdWwgdG9vbCwgYW5kIGxpbmsgcmVncmVzc2lvbiBhbmQgdC10ZXN0cy4gVGhleSBlYWNoIGNvcnJlc3BvbmQgdG8gYSBzaW5nbGUgcXVlc3Rpb24gb24gdGhlIHByb2JsZW0gc2V0LCBidXQgd2lsbCBub3QgYXBwZWFyIG9uIFF1aXogNS4gUGFydCA0IGlzIG9wdGlvbmFsIGFuZCBsaW5rcyByZWdyZXNzaW9uIGFuZCBBTk9WQS4gUGFydCA1IHByb3ZpZGVzIHRoZSBjb2RlIHVzZWQgaW4gbGVjdHVyZSB0byBzaW11bGF0ZSBhIHNhbXBsaW5nIGRpc3RyaWJ1dGlvbiBmb3IgciBhbmQgYiAobG9va2luZyB0aHJvdWdoIHRoZSBjb2RlIGlzIG9wdGlvbmFsLCB1bmRlcnN0YW5kaW5nIHRoZSBiYXNpYyBpZGVhIG9mIHRoZSBzaW11bGF0aW9uIHByZXNlbnRlZCBpbiBsZWN0dXJlIGlzIG5vdCkuCgpCZWZvcmUgc3RhcnRpbmcsIGxldCdzIGxvYWQgdGhlIHBhY2thZ2VzIHRoYXQgd2UnbGwgbmVlZCB0b2RheS4gWW91IHdpbGwgbmVlZCB0byBpbnN0YWxsIGBnZ3Bsb3QyYCBpZiB5b3UgaGF2ZW4ndCBhbHJlYWR5LiAoWW91IGNhbiBhbHNvIGNvbXBsZXRlIHRoaXMgdHV0b3JpYWwgd2l0aG91dCBnZ3Bsb3QyLCBpZiBuZWNlc3NhcnkpLgoKYGBge3J9CiMgaW5zdGFsbC5wYWNrYWdlcygnZ2dwbG90MicpCmxpYnJhcnkoZHBseXIpCmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShJU0l3aXRoUikKYGBgCgojIyBQYXJ0IDE6IE9uZSBxdWFudGl0YXRpdmUgcHJlZGljdG9yIHZhcmlhYmxlLCBvbmUgcXVhbnRpdGF0aXZlIHJlc3BvbnNlIHZhcmlhYmxlCgpGaXJzdCwgd2UnbGwgbG9vayBhdCB0aGUgZnVsbCBzZXQgb2Ygb2JzZXJ2YXRpb25zIGZyb20gdGhlIGBSb2xsZXJDb2FzdGVyc2AgZGF0YXNldCBpbiB0aGUgYElTSXdpdGhSYCBwYWNrYWdlLiBFYWNoIHJvdyBpcyBhbiBvYnNlcnZhdGlvbiAoYSByb2xsZXJjb2FzdGVyKSwgYW5kIHRoZSB2YXJpYWJsZXMgcmVjb3JkIHRoZSBoZWlnaHQgKGluIGZlZXQpIGF0IHRoZSBoaWdoZXN0IHBvaW50IG9mIHRoZSByb2xsZXJjb2FzdGVyLCBhbmQgdGhlIHNwZWVkIChpbiBtcGgpIGF0IHRoZSBmYXN0ZXN0IHBvaW50IG9mIHRoZSByb2xsZXJjb2FzdGVyLgoKSXQncyBhbHdheXMgZ29vZCB0byB0YWtlIGEgbG9vayBhdCB0aGUgb3JnYW5pemF0aW9uIG9mIHRoZSBkYXRhLgoKYGBge3J9CiMgcHJpbnQgdGhlIGZpcnN0IDYgcm93cwpoZWFkKFJvbGxlckNvYXN0ZXJzKQpgYGAKCmBgYHtyfQojIGdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGF0YSBmcmFtZQojIGhvdyBtYW55IG9ic2VydmF0aW9ucyBhcmUgdGhlcmU/CnN0cihSb2xsZXJDb2FzdGVycykKYGBgCgpJdCdzIGFsc28gYSBnb29kIGlkZWEgdG8gcGxvdCB0aGUgZGF0YSB0byBnZXQgYW4gaW5pdGlhbCBzZW5zZSBvZiB0aGUgZGlyZWN0aW9uIGFuZCBzdHJlbmd0aCBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdmFyaWFibGVzLCBhbmQgdG8gc2VlIGlmIHRoZSBmb3JtIG9mIHRoZSByZWxhdGlvbnNoaXAgbG9va3MgbGluZWFyIGFuZCBpZiB3ZSBzZWUgYW55IG91dGxpZXJzIG9yIHZlcnkgdW51c3VhbCBvYnNlcnZhdGlvbnMuCgpgYGB7cn0KcGxvdChzcGVlZCB IGhlaWdodCwgUm9sbGVyQ29hc3RlcnMpCiMgcGxvdChSb2xsZXJDb2FzdGVycyRoZWlnaHQsIFJvbGxlckNvYXN0ZXJzJHNwZWVkKSAjIHRoaXMgd291bGQgYWxzbyB3b3JrCiMgaW4gdGhpcyBjYXNlLCBub3RpY2UgdGhhdCB0aGUgb3JkZXIgaXMgZ2l2ZW4gYXMgKHgsIHkpIHJhdGhlciB0aGFuIHRoZSBmb3JtdWxhIG5vdGF0aW9uIG9mIHkgfiB4CmBgYAoKV2UncmUgZ29pbmcgdG8gYmUgd29ya2luZyB3aXRoIHRoZSBgbG0oKWAgZnVuY3Rpb24gLS0gKipsbSoqIHN0YW5kcyBmb3IgKipsaW5lYXIgbW9kZWwqKi4gUmVtZW1iZXIsIGEgcmVncmVzc2lvbiBsaW5lIGlzIGEgbGluZWFyIG1vZGVsIHRoYXQgd2UgY2FuIHVzZSB0byBtYWtlIGEgZ3Vlc3MgZm9yIHkgYmFzZWQgb24geCwgdXNpbmcgdGhlIGJlc3QgZml0dGluZyBzdHJhaWdodCBsaW5lIHRoYXQgZ29lcyB0aHJvdWdoIHRoZSBkYXRhLgoKTXVjaCBsaWtlIGB0LnRlc3QoKWAgYW5kIGBhb3YoKWAsIHRoZSBlYXNpZXN0IHdheSB0byB3b3JrIHdpdGggYGxtKClgIGlzIHRvIHByb3ZpZGUgYSBmb3JtdWxhIGFuZCBhIGRhdGEgZnJhbWUsIHN1Y2ggYXMgYGxtKHkgfiB4LCBkYXRhKWAsIHdoZXJlIHkgYW5kIHggYXJlIHRoZSBuYW1lcyBvZiBjb2x1bW5zIGluIHRoZSBkYXRhIGZyYW1lLCBhbmQgZGF0YSBpcyB0aGUgbmFtZSBvZiB0aGUgZGF0YSBmcmFtZSBpdHNlbGYuCgpgYGB7cn0KbG0oc3BlZWQgfiBoZWlnaHQsIFJvbGxlckNvYXN0ZXJzKQpgYGAKCldlJ3ZlIGdvdHRlbiBiYWNrIHRoZSBpbmZvcm1hdGlvbiB0aGF0IHdlIG5lZWQgZm9yIHRoZSByZWdyZXNzaW9uIGxpbmUgZm9yIHlfaGF0ID0gYSArIGJ4LiBUaGUgaW50ZXJjZXB0IGlzICphKiBhbmQgdGhlICdoZWlnaHQnIHRlcm0gaXMgKmIqLCB0aGUgc2xvcGUsIGFuZCBib3RoIG9mIHRoZXNlIGFyZSByZWZlcnJlZCB0byBhcyAqY29lZmZpY2llbnRzKiBvZiB0aGUgbW9kZWwuIFRoaXMgbW9kZWwgc3VnZ2VzdHMgdGhhdCBvdXIgYmVzdCBwcmVkaWN0aW9uIGZvciB0aGUgbWF4aW11bSBzcGVlZCBvZiBhIHJvbGxlciBjb2FzdGVyIGlzIHlfaGF0ID0gMzQuMTQgKyAuMTkgKiBoZWlnaHQuCgpNdWNoIGxpa2UgY2FsbGluZyBgc3VtbWFyeShhb3YoKSlgIGdhdmUgdXMgc29tZSBoZWxwZnVsLCBvcmdhbml6ZWQgaW5mb3JtYXRpb24gKHNwZWNpZmljYWxseSwgYW4gQU5PVkEgdGFibGUpLCB3ZSBjYW4gY2FsbCBgc3VtbWFyeSgpYCBvbiBvdXIgYGxtKClgIG1vZGVsIG9iamVjdCB0byBnZXQgc29tZSBoZWxwZnVsLCBvcmdhbml6ZWQgaW5mb3JtYXRpb24uCgpgYGB7cn0Kc3VtbWFyeShsbShzcGVlZCB IGhlaWdodCwgUm9sbGVyQ29hc3RlcnMpKQoKIyBvciB3ZSBjb3VsZCBkbyBzb21ldGhpbmcgbGlrZSBiZWxvdywgaWYgeW91IHByZWZlciB0byBicmVhayBpdCBpbnRvIHR3byBzdGVwcyBhbmQgc2F2ZSB0aGUgbW9kZWwgb2JqZWN0IHRoYXQgaXMgcmV0dXJuZWQgYnkgbG0oKQojIG1vZGVsIDwtIGxtKHNwZWVkIH4gaGVpZ2h0LCBSb2xsZXJDb2FzdGVycykgIyBzdG9yZXMgdGhlIG1vZGVsIG9iamVjdCByZXR1cm5lZCBieSBsbSgpCiMgc3VtbWFyeShtb2RlbCkKYGBgCgpUaGVyZSdzIGEgbG90IGdvaW5nIG9uIGhlcmUuIEZpcnN0LCBub3RpY2UgdGhhdCB0aGUgaW50ZXJjZXB0IGFuZCBzbG9wZSAqY29lZmZpY2llbnRzKiAoYSBhbmQgYikgYXJlIGluIHRoZSAqRXN0aW1hdGUqIGNvbHVtbi4gVGhlIG5leHQgY29sdW1uICgqU3RkLiBFcnJvciopLCBwcm92aWRlcyB0aGUgc3RhbmRhcmQgZXJyb3IgZm9yIHRoZXNlIGNvZWZmaWNpZW50cywgaS5lLiwgdGhlIHN0YW5kYXJkIGRldmlhdGlvbiBvZiB0aGUgc2FtcGxpbmcgZGlzdHJpYnV0aW9uIGZvciB0aGVzZSBjb2VmZmljaWVudHMuIFRoZSB0aGlyZCBjb2x1bW4gZ2l2ZXMgdXMgYSAqdCB2YWx1ZSogY29ycmVzcG9uZGluZyB0byBlYWNoIGNvZWZmaWNpZW50LCB3aGVyZSAqKnQgPSAob2JzZXJ2ZWQgZXN0aW1hdGUgLSAwKSAvIChzdGFuZGFyZCBlcnJvciBvZiB0aGUgZXN0aW1hdGUpKiosIGluIG90aGVyIHdvcmRzLCBpdCdzIHRoZSBlc3RpbWF0ZSBpbiB0aGUgZmlyc3QgY29sdW1uIGRpdmlkZWQgYnkgdGhlIHN0YW5kYXJkIGVycm9yIHRlcm0gaW4gdGhlIHNlY29uZCBjb2x1bW4uIEFuZCB0aGUgZmluYWwgY29sdW1uIGdpdmVzIHVzIHRoZSBwcm9iYWJpbGl0eSBvZiBvYnNlcnZpbmcgfHR8ID4gKHRoZSB0IHRoYXQgd2Ugb2JzZXJ2ZWQpIGlmIHRoZSBwb3B1bGF0aW9uIGNvZWZmaWNpZW50IHdhcyAwICh3aGljaCBpcyB0aGUgc3RhbmRhcmQgbnVsbCBoeXBvdGhlc2lzKSwgaS5lLiwgaXQncyBnaXZpbmcgdXMgYSB0d28tdGFpbGVkIHAtdmFsdWUuCgpGaW5hbGx5LCB0YWtlIGEgbG9vayBhdCB0aGUgYm90dG9tLiBXZSBjYW4gc2VlIHRoYXQgd2UgaGF2ZSAqMTI3IGRlZ3JlZXMgb2YgZnJlZWRvbSogKGRmID0gbiAtIDI7IHJlbWVtYmVyLCBuIGlzIHRoZSBudW1iZXIgb2Ygb2JzZXJ2YXRpb25zLCBub3QgdGhlIG51bWJlciBvZiBudW1lcmljYWwgdmFsdWVzKS4gV2UgY2FuIGFsc28gc2VlICptdWx0aXBsZSByLXNxdWFyZWQ6IDAuODAwNS4qIFdlIGNhbiB0YWtlIHRoZSBzcXVhcmUgcm9vdCBvZiB0aGlzIHRvIGdldCByLCB0aGUgY29ycmVsYXRpb24gY29lZmZpY2llbnQuCgpgYGB7cn0Kc3FydCguODAwNSkgIyB0YWtlIHNxdWFyZSByb290IG9mIHJeMiB0byBnZXQgciwgdGhlIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50CmBgYAoKVGhlcmUgYXJlIGEgZmV3IG90aGVyIHdheXMgdGhhdCB3ZSBjb3VsZCBoYXZlIGdvdHRlbiByLiBPbmUgaXMgdXNpbmcgYGNvci50ZXN0KClgLiBUaGlzIGlzIGhlbHBmdWwgYmVjYXVzZSBpdCBnaXZzIHVzIGEgY29uZmlkZW5jZSBpbnRlcnZhbCBmb3IgdGhlIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50IChyKS4gKFRoZSBjb25maWRlbmNlIGxldmVsIGNhbiBiZSBzcGVjaWZpZWQgd2l0aCB0aGUgYGNvbmYubGV2ZWxgIGFyZ3VtZW50LCBpZiB5b3Ugd2FudGVkIHNvbWV0aGluZyBvdGhlciB0aGFuIDk1JSkuIAoKYGBge3J9CmNvci50ZXN0KFJvbGxlckNvYXN0ZXJzJHNwZWVkLCBSb2xsZXJDb2FzdGVycyRoZWlnaHQpCmBgYAoKKipZb3VyIFR1cm4qKgoKVGhlIG5leHQgZGF0YSBzZXQgd2UnbGwgbG9vayBhdCBleGFtaW5lcyB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gc3F1YXJlIGZvb3RhZ2Ugb2YgYSBob3VzZSBhbmQgdGhlIHNhbGVzIHByaWNlIG9mIGEgaG91c2UuIEZpcnN0LCB0YWtlIGEgbG9vayBhdCB0aGUgZGF0YSB0byBmaWd1cmUgb3V0IHRoZSB2YXJpYWJsZSBuYW1lcyBhbmQgdGhlIG51bWJlciBvZiBvYnNlcnZhdGlvbnMuCgpgYGB7cn0KaGVhZChIb3VzZVByaWNlcykKYGBgCgpgYGB7cn0Kc3RyKEhvdXNlUHJpY2VzKQpgYGAKCkJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlLCBpdCdzIGEgZ29vZCBpZGVhIHRvIHRoaW5rIGFib3V0ICgxKSB3aGV0aGVyIHlvdSBleHBlY3QgdGhlc2UgdmFyaWFibGVzIHRvIGJlIHJlbGF0ZWQsIGFuZCAoYikgd2hhdCB5b3UgdGhpbmsgdGhlIGRpcmVjdGlvbiwgc3RyZW5ndGgsIGFuZCBmb3JtIG9mIHRoZSByZWxhdGlvbnNoaXAgbWlnaHQgYmUuCgpOb3cgdGhhdCB5b3UgaGF2ZSBhIHByZWRpY3Rpb24sIHBsb3QgdGhlIGRhdGEgYW5kIHNlZSBob3cgd2VsbCB0aGUgZGF0YSBtYXRjaGVzIHlvdXIgcHJlZGljdGlvbiwgYW5kIHRvIHNlZSBpZiBpdCBzZWVtcyByZWFzb25hYmxlIHRvIGZpdCBhIHN0cmFpZ2h0IGxpbmUgdG8gdGhlIGRhdGEuCgpgYGB7cn0KcGxvdChwcmljZSB IHNxRnQsIEhvdXNlUHJpY2VzKQpgYGAKCk5leHQsIHVzZSBgbG0oKWAgdG8gY3JlYXRlIGEgcmVncmVzc2lvbiBtb2RlbCB0aGF0IHByZWRpY3RzIHNhbGVzIHByaWNlIGZyb20gc3F1YXJlIGZvb3RhZ2UuIFlvdSdsbCB3YW50IHRvIGNvbWJpbmUgdGhpcyB3aXRoIGBzdW1tYXJ5KClgIHRvIHZpZXcgdGhlIG1vc3QgaGVscGZ1bCBkaXNwbGF5IG9mIHRoZSBvdXRwdXQuCgpgYGB7cn0KIyB5b3VyIGNvZGUgaGVyZQpgYGAKClVzaW5nIHRoaXMgb3V0cHV0IHRvIGFuc3dlciB0aGUgZm9sbG93aW5nIHF1ZXN0aW9ucy4KCihhKSBGaW5kIHRoZSBjb2VmZmljaWVudHMgYSBhbmQgYiBmb3IgdGhlIGJlc3QgbW9kZWwgb2YgdGhlIGRhdGEgKGJlc3QgZml0dGluZyByZWdyZXNzaW9uIGxpbmUpLiBXaGF0IGRvIHRoZXNlIGNvZWZmaWNpZW50cyBtZWFuPwoKPHNwYW4gc3R5bGU9ImNvbG9yOnJlZCI VGhlIGludGVyY2VwdCAoYSkgaXMgdGhlIGV4cGVjdGVkIHNhbGVzIHByaWNlIGZvciBhIGhvbWUgd2l0aCAwIHNxdWFyZSBmZWV0IC0tIG5vdGljZSB0aGF0IHRoaXMgaXMgbm90IHBhcnRpY3VsYXJseSBpbnRlcnByZXRhYmxlLCBhbmQgaXMgYWxzbyBnZW5lcmFsaXppbmcgb3V0c2lkZSBvZiB0aGUgcmFuZ2Ugb2Ygb3VyIGRhdGEuIFRoZSBzbG9wZSAoYikgdGVsbHMgdXMgdGhlIGluY3JlYXNlIGluIGV4cGVjdGVkIHNhbGVzIHByaWNlIGZvciBldmVyeSBhZGRpdGlvbmFsIHNxdWFyZSBmb290IG9mIHNwYWNlLjwvc3Bhbj4KCihiKSBGaW5kIGEgdC1zdGF0aXN0aWMgY29ycmVzcG9uZGluZyB0byB0aGUgb2JzZXJ2ZWQgc2xvcGUgb2YgdGhlIGxpbmUuIEhvdyB3b3VsZCB5b3UgdXNlIHRoaXMgdC1zdGF0aXN0aWMgdG8gbWFrZSBhbiBpbmZlcmVuY2UgYWJvdXQgd2hldGhlciB0aGVyZSBpcyBhIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHNxdWFyZSBmb290YWdlIGFuZCBzYWxlcyBwcmljZT8KCjxzcGFuIHN0eWxlPSJjb2xvcjpyZWQiPnQoMTgpID0gNS4yOSwgcCA9IC4wMDAwNS4gSWYgdGhlIHAtdmFsdWUgY29ycmVzcG9uZGluZyB0byB0aGUgdC1zdGF0aXN0aWMgaXMgbGVzcyB0aGFuIGFscGhhIChvciBpZiB0aGUgb2JzZXJ2ZWQgdC1zdGF0aXN0aWMgaXMgZ3JlYXRlciB0aGFuIHRoZSBjcml0aWNhbCB0LXZhbHVlKSwgd2UgY291bGQgcmVqZWN0IHRoZSBudWxsIGh5cG90aGVzaXMgdGhhdCBiZXRhID0gMCBhbmQgaW5mZXIgdGhhdCB0aGVyZSBpcyBhIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHNxdWFyZSBmb290YWdlIGFuZCBwcmljZS4gKFdpdGggdGhhdCBzYWlkLCBhIGh5cG90aGVzaXMgdGVzdCBtaWdodCBub3QgYmUgdGhlIG1vc3QgaW50ZXJlc3RpbmcgcXVlc3Rpb24gaGVyZSAtLSB0aGlzIGlzIGEgY2FzZSB3aGVyZSB3ZSBwcm9iYWJseSBzdGFydGVkIG9mZiBhbG1vc3QgY2VydGFpbiB0aGF0IHRoZXJlIHdhcyBhIHJlbGF0aW9uc2hpcCwgYW5kIGRlc2NyaWJpbmcgdGhlIG5hdHVyZSBvZiB0aGUgcmVsYXRpb25zaGlwIG1pZ2h0IGJlIHRoZSBtb3N0IGludGVyZXN0aW5nIG9yIGluZm9ybWF0aXZlIHBhcnQpLjwvc3Bhbj4KCihjKSBDYWxjdWxhdGUgYSA5NSUgY29uZmlkZW5jZSBpbnRlcnZhbCBmb3IgdGhlIHNsb3BlIG9mIHRoZSByZWdyZXNzaW9uIGxpbmUuIChZb3Ugc2hvdWxkIGJlIGFibGUgdG8gZG8gdGhpcyB1c2luZyB0aGUgb3V0cHV0IG9mIGBsbSgpYCBhbmQgdXNpbmcgYHF0KClgIHRvIGZpbmQgYSBjcml0aWNhbCB0IHZhbHVlLiBJZiB5b3UncmUgaW50ZXJlc3RlZCwgeW91IGNvdWxkIGFsc28gbG9vayBpbnRvIHRoZSBgY29uZmludCgpYCBmdW5jdGlvbiB0aGF0IHRha2VzIGEgKmZpdHRlZCBtb2RlbCogYW5kIHJldHVybnMgY29uZmlkZW5jZSBpbnRlcnZhbHMgZm9yIHRoZSBjb2VmZmljaWVudHMpLgoKYGBge3J9CiMgeW91ciBjb2RlIGhlcmUKYGBgCgooZCkgRmluZCB0aGUgY29ycmVsYXRpb24gY29lZmZpY2llbnQgdGhhdCBkZXNjcmliZXMgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHNxdWFyZSBmb290YWdlIGFuZCBzYWxlcyBwcmljZS4gKFBhdXNlOiB3aHkgd291bGQgaXQgYmUgcmVkdW5kYW50IHRvIGNhbGN1bGF0ZSBhIHQtc3RhdGlzdGljIHRvIG1ha2UgYW4gaW5mZXJlbmNlIGFib3V0IHJobz8pCgo8c3BhbiBzdHlsZT0iY29sb3I6cmVkIj5XZSBhbHJlYWR5IHRlc3RlZCB0aGUgbnVsbCBoeXBvdGhlc2lzIHRoYXQgYmV0YSA9IDAsIGFuZCB0aGlzIGlzIGVxdWl2YWxlbnQgdG8gdGVzdGluZyB0aGUgbnVsbCBoeXBvdGhlc2lzIHRoYXQgcmhvID0gMC48L3NwYW4 CgpgYGB7cn0KIyB5b3VyIGNvZGUgaGVyZQpgYGAKCihlKSBGaW5kIG91ciBiZXN0IGd1ZXNzIGZvciB0aGUgc2FsZXMgcHJpY2Ugb2YgYSBob21lIHRoYXQgaGFzIDEwMDAgc3F1YXJlIGZlZXQuIChQYXVzZTogd2hhdCBzaG91bGQgd2UgZG91YmxlIGNoZWNrIGJlZm9yZSB3ZSBkbyB0aGlzPykKCjxzcGFuIHN0eWxlPSJjb2xvcjpyZWQiPldlIHNob3VsZCBtYWtlIHN1cmUgdGhhdCAxMDAwIHNxdWFyZSBmZWV0IGlzIHdpdGhpbiB0aGUgcmFuZ2Ugb2YgdGhlIGRhdGEgdGhhdCB3ZSB1c2VkIHRvIGNyZWF0ZSB0aGUgcmVncmVzc2lvbiBsaW5lLiBJZiBpdCdzIG5vdCwgd2UgZG9uJ3QgcmVhbGx5IGtub3cgd2hhdCB3aWxsIGhhcHBlbiBhdCAxMDAwIHNxdWFyZSBmZWV0Ljwvc3Bhbj4KCmBgYHtyfQojIHlvdXIgY29kZSBoZXJlCmBgYAoKKGYpIEZpbmQgb3VyIGJlc3QgZ3Vlc3MgZm9yIHRoZSB6LXNjb3JlZCBzYWxlcyBwcmljZSBvZiBhIGhvbWUgdGhhdCBoYXMgYSBzcXVhcmUgZm9vdGFnZSB0aGF0IGlzIG9uZSBzdGFuZGFyZCBkZXZpYXRpb24gYWJvdmUgdGhlIG1lYW4gc3F1YXJlIGZvb3RhZ2Ugb2Ygb3VyIHNhbXBsZSAoaS5lLiwgaG93IG1hbnkgc3RhbmRhcmQgZGV2aWF0aW9ucyBhYm92ZSBvciBiZWxvdyB0aGUgbWVhbiBzYWxlcyBwcmljZSB3b3VsZCB3ZSBndWVzcyB0aGF0IHRoZSBzYWxlcyBwcmljZSBvZiB0aGlzIGhvdXNlIGlzKS4KCllvdSBkb24ndCBuZWVkIHRvIHJ1biBhIG5ldyByZWdyZXNzaW9uIG1vZGVsIChvciBkbyBhbnkgYWRkaXRpb25hbCBjYWxjdWxhdGlvbnMpIHRvIGFuc3dlciB0aGlzIHF1ZXN0aW9uLCBidXQgaWYgaXQncyBoZWxwZnVsIGZvciB0aGlua2luZyB0aGlzIHRocm91Z2gsIHdlIGNhbiB6LXNjb3JlIGFsbCBvZiB0aGUgc2FsZXMgcHJpY2VzIGFuZCBzcXVhcmUgZm9vdGFnZXMgYXMgYmVsb3csIGFuZCB0aGVuIGZpdCBhIG5ldyByZWdyZXNzaW9uIG1vZGVsLiBJZiB5b3UgZ28gdGhpcyByb3V0ZSwgbWFrZSBzdXJlIHRoYXQgeW91IGxvb3AgYmFjayBhbmQgdGhpbmsgYWJvdXQgaG93IHlvdSBjb3VsZCBoYXZlIGdvdHRlbiB0aGUgYW5zd2VyIGZyb20gdGhlIG9yaWdpbmFsIHNldCBvZiBxdWVzdGlvbnMgKGluIG90aGVyIHdvcmRzLCBiZSBwcmVwYXJlZCB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiAqd2l0aG91dCogZml0dGluZyBhIG5ldyByZWdyZXNzaW9uIG1vZGVsIG9uIHRoZSB6LXNjb3JlZCB2YWx1ZXMpLgoKYGBge3J9CiMgbWFrZSBzdXJlIHlvdSBoYXZlIGxvYWRlZCBkcGx5cgpkIDwtIEhvdXNlUHJpY2VzICU JQogICAgIG11dGF0ZSh6X3ByaWNlID0gKHByaWNlIC0gbWVhbihwcmljZSkpIC8gc2QocHJpY2UpLAogICAgICAgICAgICB6X3NxZnQgPSAoc3FGdCAtIG1lYW4oc3FGdCkpIC8gc2Qoc3FGdCkpCgojIHlvdXIgY29kZSBoZXJlCiMgc3BlY2lmaWNhbGx5LCBmaXQgYSBtb2RlbCBwcmVkaWN0aW5nIHpfcHJpY2UgYnkgel9zcWZ0CiMgdGhlbiB1c2UgdGhlIHJlZ3Jlc3Npb24gZXF1YXRpb24gdG8gcHJlZGljdCB6X3ByaWNlIHdpdGggel9zcWZ0CmBgYAoKPHNwYW4gc3R5bGU9ImNvbG9yOnJlZCI QXMgYW4gYWRkaXRpb25hbCBub3RlLCBtYW55IG9mIHlvdSBoYWQgYW4gaW50dWl0aW9uIGR1cmluZyB0aGUgbGFiIHRoYXQgd2UgbWlnaHQgd2FudCB0byB1c2UgdGhlIG1lYW4gYW5kIHN0YW5kYXJkIGRldmlhdGlvbiBvZiBYIChzcXVhcmUgZm9vdGFnZSkgYW5kIFkgKHByaWNlKSB0byBjb252ZXJ0IGJldHdlZW4gcmVhbCB3b3JsZCB1bml0cyBhbmQgei4gVGhpcyBpcyBub3QgdGhlICpmYXN0ZXN0IHdheSogdG8gc29sdmUgdGhlIHByb2JsZW0gaW4gdGhpcyBjb250ZXh0IChhbmQgSSBjYW4ndCBndWFyYW50ZWUgeW91IHdvdWxkIGhhdmUgYWNjZXNzIHRvIHRoZSBuZWNlc3NhcnkgaW5mb3JtYXRpb24gb24gdGhlIHF1aXopLCBidXQgaXQncyBhIGdvb2QgaWRlYSBhbmQgY29kZSBmb3IgaG93IEkgd291bGQgZG8gdGhpcyBpcyBiZWxvdy4gTm90ZSB0aGF0IHdlIHdvdWxkICoqbm90KiogdXNlIHNlKGIpIGJlY2F1c2UgdGhpcyBpcyB0aGUgc3RhbmRhcmQgZGV2aWF0aW9uIG9mIHRoZSBkaXN0cmlidXRpb24gb2YgYiB0aGF0IHdlIHdvdWxkIGV4cGVjdCB0byBzZWUgaWYgdGhlcmUgd2FzIG5vIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIFggYW5kIFksIG5vdCB0aGUgc3RhbmRhcmQgZGV2YXRpb24gb2YgWCBvciB0aGUgc3RhbmRhcmQgZGV2aWF0aW9uIG9mIFkuIChOb3RlIHRoYXQgdGhpcyBhbHNvIG1pZ2h0IGJlIGEgZ29vZCB3YXkgdG8gZmluZCByIGlmIHlvdSBoYWQgYSByZWdyZXNzaW9uIGVxdWF0aW9uIGJ1dCBub3QgdGhlIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50ISk8L3NwYW4 CgpgYGB7cn0KIyBmaW5kIHRoZSBzcXVhcmUgZm9vdGFnZSB0aGF0IGlzIG9uZSBkZXZpYXRpb24gYWJvdmUgdGhlIG1lYW4KdGhpc19zcWZ0IDwtIG1lYW4oSG91c2VQcmljZXMkc3FGdCkgKyAxICogc2QoSG91c2VQcmljZXMkc3FGdCkgIyB3aGVyZSB6ID0gMQoKIyB1c2UgdGhlIHJlZ3Jlc3Npb24gZXF1YXRpb24gdG8gZ2V0IGJlc3QgcHJlZGljdGlvbiBmb3Igc2FsZXMgcHJpY2UKdGhpc19wcmljZSA8LSAyNjUyMjIuMTIgKyB0aGlzX3NxZnQgKiAxNjguNTkKCiMgbm93IHdlIG5lZWQgdG8gY29udmVydCB0aGlzX3ByaWNlIGJhY2sgdG8gYSB6LXNjb3JlCnRoaXNfcHJpY2VfeiA8LSAodGhpc19wcmljZSAtIG1lYW4oSG91c2VQcmljZXMkcHJpY2UpKSAvIHNkKEhvdXNlUHJpY2VzJHByaWNlKQpgYGAKCiMjIFBhcnQgMjogT25lIGNhdGVnb3JpY2FsIHByZWRpY3RvciB2YXJpYWJsZSwgb25lIHF1YW50aXRhdGl2ZSByZXNwb25zZSB2YXJpYWJsZQoKTGV0J3MgcmV0dXJuIHRvIHRoaW5raW5nIGFib3V0IG91ciBjZXJlYWwgZGF0YSBpbiBgQ2VyZWFsU3VnYXJgLiBBcyBhIHJlbWluZGVyLCBlYWNoIG9ic2VydmF0aW9uIGlzIGEgYm94IG9mIGNlcmVhbCwgYW5kIHRoZSB2YXJpYWJsZXMgcmVjb3JkIHdoZXRoZXIgdGhlIGJveCB3YXMgZm91bmQgb24gYSBoaWdoIHZzLiBsb3cgc2hlbGYgKGEgY2F0ZWdvcmljYWwgdmFyaWFibGUpIGFuZCBob3cgbWFueSBncmFtcyBvZiBzdWdhciBhcmUgaW4gYSBzZXJ2aW5nIChhIHF1YW50aXRhdGl2ZSB2YXJpYWJsZSkuCgpgYGB7cn0KaGVhZChDZXJlYWxTdWdhcikKYGBgCgpgYGB7cn0Kc3RyKENlcmVhbFN1Z2FyKQpgYGAKClByZXZpb3VzbHkgd2UgZGlkIGEgdC10ZXN0IHRvIHNlZSBpZiBzdWdhciBkaWZmZXJlZCBmb3IgdGhlIGNlcmVhbCBvbiB0aGUgaGlnaCBzaGVsZiB2cy4gdGhlIGxvdyBzaGVsZi4gTGV0J3MgcmVmcmVzaCwgYW5kIHRoaXMgdGltZSB1c2UgYSBTdHVkZW50J3MgdC10ZXN0IHRoYXQgYXNzdW1lcyBlcXVhbCB2YXJpYW5jZSBiZXR3ZWVuIHRoZSBncm91cHMuCgpgYGB7cn0KdC50ZXN0KHN1Z2FyIH4gc2hlbHZlcywgQ2VyZWFsU3VnYXIsIHZhci5lcXVhbCA9IFRSVUUpCmBgYAoKV2UgY291bGQgdXNlIHRoaXMgdC1zdGF0aXN0aWMgdG8gY2FsY3VsYXRlIHJeMiB1c2luZzoKJCRyXjIgPSBcZnJhY3t0XjJ9e3ReMiArIGRmfSQkCgpgYGB7cn0KKC0yLjMxMzMpXjIgLyAoKC0yLjMxMzMpXjIgKyA3OCkKYGBgCgpXZSBoYWQgYWxzbyBzdGFydGVkIHRvIGJ1aWxkIGEgbW9kZWwgb2Ygb3VyIGJlc3QgcHJlZGljdGlvbiBmb3IgdGhlIGFtb3VudCBzdWdhciAoZ3JhbXMpIHBlciBzZXJ2aW5nIG9mIGNlcmVhbC4gSWYgd2Uga25vdyB0aGF0IGEgYm94IGlzIG9uIGEgaGlnaCBzaGVsZiwgb3VyIGJlc3QgcHJlZGljdGlvbiBmb3IgZ3JhbXMgb2Ygc3VnYXIgcGVyIHNlcnZpbmcgaXMgdGhlIG1lYW4gb2YgdGhlIGJveGVzIG9uIHRoZSBoaWdoIHNoZWx2ZXMgKDkuNjI1KSwgYW5kIGlmIHdlIGtub3cgdGhhdCBhIGJveCBpcyBvbiBhIGxvdyBzaGVsZiwgb3VyIGJlc3QgcHJlZGljdGlvbiBmb3IgZ3JhbXMgb2Ygc3VnYXIgcGVyIHNlcnZpbmcgaXMgdGhlIG1lYW4gb2YgdGhlIGJveGVzIG9uIHRoZSBsb3cgc2hlbHZlcyAoMTEuOTI1KS4KCldlIHRoZW4gdHJpZWQgdG8gc3VtIHRoaXMgdXAgaW4gYSBzaW5nbGUgbW9kZWw6CmBwcmVkaWN0ZWQgc3VnYXIgPSA5LjYyNSArIGxvd3NoZWxmICogKDExLjkyNSAtIDkuNjI1KSA9IDkuNjI1ICsgbG93c2hlbGYgKiAyLjNgCndoZXJlIGxvd3NoZWxmID0gMCBpZiB0aGUgY2VyZWFsIGlzIG5vdCBvbiBhIGxvdyBzaGVsZiBhbmQgbG93c2hlbGYgPSAxIGlmIHRoZSBjZXJlYWwgaXMgb24gYSBsb3cgc2hlbGYKCkxldCdzIHJlY29kZSB0aGUgZGF0YSB0byBoYXZlIGEgY29sdW1uIGZvciAgdGhpcyB2YXJpYWJsZSBgbG93c2hlbGZgLgoKYGBge3J9CmQgPC0gQ2VyZWFsU3VnYXIgJT4lCiAgICAgbXV0YXRlKGxvd3NoZWxmID0gaWZlbHNlKHNoZWx2ZXMgPT0gJ0xvdycsIDEsIDApKQoKZApgYGAKCkFuZCBub3cgbGV0J3MgcGxvdCBgbG93c2hlbGZgIG9uIHRoZSB4LWF4aXMgYW5kIGBzdWdhcmAgb24gdGhlIHktYXhpcy4KCmBgYHtyfQpwbG90KHN1Z2FyIH4gbG93c2hlbGYsIGQpCmBgYAoKV2UgY2FuIG1ha2UgYSBuaWNlciBwbG90IHVzaW5nIGBnZ3Bsb3RgIHRoYXQgKmppdHRlcnMqIHRoZSBwb2ludHMgYSBsaXR0bGUgYml0IGFuZCBtYWtlcyB0aGVtIHNsaWdodGx5IHRyYW5zcGFyZW50IHNvIHRoYXQgd2UgY2FuIHNlZSBhbGwgb2YgdGhlIHBvaW50cy4KCmBgYHtyfQpnZ3Bsb3QoZCwgYWVzKHggPSBsb3dzaGVsZiwgeSA9IHN1Z2FyKSkgKyBnZW9tX3BvaW50KHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKC4wMSksIGFscGhhID0gLjUpCmBgYAoKVGhpcyBsb29rcyBsaWtlIGEgKHN0cmFuZ2UpIHNjYXR0ZXJwbG90LCB3aXRoIGEgcXVhbnRpdGF0aXZlIHZhcmlhYmxlIG9uIHRoZSB4LWF4aXMgYW5kIGEgcXVhbnRpdGF0aXZlIHZhcmlhYmxlIG9uIHRoZSB5LWF4aXMuIFdoYXQgaGFwcGVucyBpZiB3ZSB0cnkgdG8gZml0IGEgcmVncmVzc2lvbiBsaW5lIHRvIHRoZXNlIHBvaW50cz8KCmBgYHtyfQpzdW1tYXJ5KGxtKHN1Z2FyIH4gbG93c2hlbGYsIGQpKQpgYGAKCkhvdyBkb2VzIHRoaXMgcmVsYXRlIHRvIHdoYXQgd2UgZm91bmQgZnJvbSB0aGUgdC10ZXN0PyBTcGVjaWZpY2FsbHksIGhvdyBkb2VzIHRoZSB0LXN0YXRpc3RpYyBmb3IgYGxvd3NoZWxmYCByZWxhdGUgdG8gdGhlIHQtc3RhdGlzdGljIGZyb20gdGhlIHQtdGVzdD8gSG93IGRvIHRoZSBgaW50ZXJjZXB0YCBhbmQgYHNsb3BlYCB0ZXJtcyByZWxhdGUgdG8gdGhlIHNhbXBsZSBtZWFucyB0aGF0IHdlcmUgb3V0cHV0IGFzIHBhcnQgb2YgdGhlIHQtdGVzdD8KCjxzcGFuIHN0eWxlPSJjb2xvcjpyZWQiPlRoZSBpbnRlcmNlcHQgaXMgdGhlIHNhbXBsZSBtZWFuIGZvciBoaWdoIHNoZWxmIChleHBlY3RlZCB2YWx1ZSBvZiB5IHdoZW4geCA9IDApIGFuZCB0aGUgc2xvcGUgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvIHNhbXBsZSBtZWFucyAoY2hhbmdlIGluIGV4cGVjdGVkIHZhbHVlIG9mIHkgZm9yIGEgY2hhbmdlIG9mIG9uZSB1bml0IG9mIHgsIGkuZS4sIGNoYW5naW5nIGZyb20geCA9IDAgdG8geCA9IDEsIGkuZS4sIGNoYW5naW5nIGZyb20gaGlnaCBzaGVsZiB0byBsb3cgc2hlbGYpLjwvc3Bhbj4KCihJZiB5b3Ugd2FudCwgeW91IGNhbiBydW4gYW4gQU5PVkEgb24gdGhlc2UgZGF0YSB1c2luZyBgc3VtbWFyeShhb3Yoc3VnYXIgfiBsb3dzaGVsZiwgZCkpYCBhbmQgY29tcGFyZSB0aGUgRi1zdGF0aXN0aWMgYW5kIHJeMiB0byB0aGUgcmVncmVzc2lvbiBvdXRwdXQgYW5kIHQtdGVzdCBvdXRwdXQgYW5kIHJlYWxseSBzZWUgYWxsIG9mIG91ciB3b3JsZHMgY29sbGlkZSkuCgpJdCB0dXJucyBvdXQgdGhhdCBSIGF1dG9tYXRpY2FsbHkgZG9lcyB0aGlzIHJlY29kaW5nIGZvciB1cyBpZiB3ZSAgdXNlIHRoZSBvcmlnaW5hbCBkYXRhZnJhbWUgYW5kIHNwZWNpZnkgYHNoZWx2ZXNgIGFzIHRoZSBwcmVkaWN0b3IgdmFyaWFibGUuCgpgYGB7cn0Kc3VtbWFyeShsbShzdWdhciB IHNoZWx2ZXMsIENlcmVhbFN1Z2FyKSkKYGBgCgpUYWtlIGEgbG9vayBhdCB0aGUgb3V0cHV0LiBJZiB3ZSBrbmV3IG5vdGhpbmcgYWJvdXQgdGhlIHNhbXBsZSBtZWFucyBpbiBhZHZhbmNlIGFuZCBhbGwgd2UgaGFkIHdhcyB0aGlzIG91dHB1dCwgaG93IGNvdWxkIHdlIGZpZ3VyZSBvdXQgd2hpY2ggZ3JvdXAgY29ycmVzcG9uZGVkIHRvIHRoZSBpbnRlcmNlcHQ/IChIaW50LCBpdCBoYXMgdG8gZG8gd2l0aCB0aGUgbmFtZXMgb2YgdGhlIGNvZWZmaWNpZW50cykuIFtUaGVyZSBhbHNvICphcmUqIHdheXMgdG8gY29udHJvbCBob3cgUiBjb2RlcyB0aGUgZ3JvdXBzLCBidXQgd2Ugd29uJ3QgY292ZXIgdGhlbSBpbiB0aGlzIGNsYXNzXS4KCjxzcGFuIHN0eWxlPSJjb2xvcjpyZWQiPlRoZSBzbG9wZSBuYW1lIG9mICdzaGVsZkxvdycgdGVsbHMgdXMgdGhhdCB0aGlzIGlzIHRoZSAqY2hhbmdlKiBpbiBzdWdhciB3ZSB3b3VsZCBleHBlY3QgdG8gc2VlIGlmIHNoZWxmID09ICdMb3cnLiBJZiBpbnN0ZWFkIHRoZSBzbG9wZSBoYWQgYmVlbiBsYWJlbGxlZCAnc2hlbGZIaWdoJyB0aGVuIHdlIHdvdWxkIGtub3cgdGhhdCB0aGUgc2xvcGUgaXMgdGhlICpjaGFuZ2UqIHdlIHdvdWxkIGV4cGVjdCB0byBzZWUgaWYgc2hlbGYgPT0gJ0hpZ2gnLjwvc3Bhbj4KCioqVGhlIHRha2Vob21lIGZyb20gdGhpcyBzZWN0aW9uPyoqIFdlIGNhbiB1c2UgYSByZWdyZXNzaW9uIGZyYW1ld29yayB0byBkbyBhIHQtdGVzdC4gSW4gdGhpcyBjYXNlIHRoZSAqKmludGVyY2VwdCoqIG9mIHRoZSBtb2RlbCBjb3JyZXNwb25kcyB0byB0aGUgbWVhbiBvZiBvbmUgZ3JvdXAsIGFuZCB0aGUgKipzbG9wZSoqIG9mIHRoZSBtb2RlbCB0ZWxscyB1cyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28gZ3JvdXAgbWVhbnMuIFVzaW5nIGEgdC10ZXN0IHRvIGFzayBob3cgbGlrZWx5IG91ciBvYnNlcnZlZCBzbG9wZSB3b3VsZCBiZSBpZiB0aGUgc2xvcGUgaXMgMCBpbiB0aGUgcG9wdWxhdGlvbiBpcyBpZGVudGljYWwgdG8gdXNpbmcgYSBTdHVkZW50J3MgdC10ZXN0IHRvIGFzayBob3cgbGlrZWx5IG91ciBvYnNlcnZlZCBkaWZmZXJlbmNlIGluIG1lYW5zIHdvdWxkIGJlIGlmIHRoZSBkaWZmZXJlbmNlIGluIG1lYW5zIGlzIDAgaW4gdGhlIHBvcHVsYXRpb24uCgoqKldoeSBpcyB0aGUgdXNlZnVsPyoqIEluIGFkZGl0aW9uIHRvIGJlaW5nIGludGVyZXN0aW5nLCB0aGUgZmFjdCB0aGF0IHdlICpjYW4qIHVzZSBjYXRlZ29yaWNhbCBwcmVkaWN0b3JzIGluIGEgcmVncmVzc2lvbiBtb2RlbCBiZWNvbWVzIHBhcnRpY3VsYXJseSB1c2VmdWwgaWYgd2Ugd2FudCB0byBoYXZlICptdWx0aXBsZSogcHJlZGljdG9ycyBpbiBvdXIgbW9kZWwsIHN1Y2ggYXMgaW5jbHVkaW5nIG11bHRpcGxlIGNhdGVnb3JpY2FsIHByZWRpY3RvcnMgb3IgY29tYmluaW5nIGNhdGVnb3JpY2FsIHByZWRpY3RvciB2YXJpYWJsZXMgd2l0aCBxdWFudGl0YXRpdmUgcHJlZGljdG9yIHZhcmlhYmxlcy4KCiMjIFBhcnQgMzogTXVsdGlwbGUgcHJlZGljdG9yIHZhcmlhYmxlcwoKT25lIG9mIHRoZSByZWFzb25zIHRoYXQgcmVncmVzc2lvbiBpcyBzbyBwb3dlcmZ1bCBpcyB0aGF0IHdlIGNhbiBidWlsZCBtb2RlbHMgdGhhdCBoYXZlIG11bHRpcGxlIHByZWRpY3RvciB2YXJpYWJsZXMuIFRoaXMgaXMgdXNlZnVsIGZvciBhIGZldyByZWFzb25zLiBGaXJzdCwgdGFraW5nIG1vcmUgdmFyaWFibGVzIGludG8gYWNjb3VudCBjYW4gc29tZXRpbWVzIGhlbHAgdXMgbWFrZSBtb3JlIGFjY3VyYXRlIHByZWRpY3Rpb25zLiBTZWNvbmQsIHRoaXMgYWxsb3dzIHVzIHRvIHRyeSB0byB0aGluayBhYm91dCB0aGUgaW5mbHVlbmNlIG9mIG9uZSBwcmVkaWN0b3IgdmFyaWFibGUgb24gYSByZXNwb25zZSB2YXJpYWJsZSB3aGlsZSB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBpbmZsdWVuY2Ugb2Ygb3RoZXIgdmFyaWFibGVzLiBUaGlzIGlzIG9mdGVuIHdoYXQgcGVvcGxlIG1lYW4gd2hlbiB0aGV5IHNheSAndGhlIGVmZmVjdCBvZiBbc29tZSB2YXJpYWJsZV0sIGNvbnRyb2xsaW5nIGZvciBbc29tZSBvdGhlciB2YXJpYWJsZV0uJyBUaGlzIGludGVycHJldGF0aW9uIGlzIGEgYml0IGJleW9uZCBvdXIgc2NvcGUsIGJ1dCByZWdyZXNzaW9uIGlzIGNvbXBsaWNhdGVkIChhbmQgaW50ZXJlc3RpbmcpIGVub3VnaCB0aGF0IGl0J3Mgd29ydGggdGFraW5nIGFuIGVudGlyZSBjbGFzcyBvbiByZWdyZXNzaW9uIGlmIHlvdSB0aGluayB5b3UgbWlnaHQgdXNlIGl0IG9yIHNwZW5kIGEgbG90IG9mIHRpbWUgaW50ZXJwcmV0aW5nIGl0IGluIHRoZSBmdXR1cmUuIAoKV2UncmUgZ29pbmcgdG8gbG9vayBhdCBhIGRhdGEgc2V0IHByZWRpY3RpbmcgKmxpZmUgc2F0aXNmYWN0aW9uKiBpbiA2MiB3b3JraW5nLCBtYXJyaWVkIG1lbiBmcm9tIHNldmVyYWwgdmFyaWFibGVzIChib3Jyb3dlZCBmcm9tIFBzeWNoIDI1MiwgYSBncmFkdWF0ZSBzdGF0aXN0aWNzIGNsYXNzIGluIHRoZSBQc3ljaG9sb2d5IERlcGFydG1lbnQpOgoKLSBpZDogU3ViamVjdCBJRCAoMS02MikKLSBhZ2U6IEFnZSAoMjEtNjgpCi0ga2lkczogbnVtYmVyIG9mIGNoaWxkcmVuICgwLTgpCi0gam9ic2F0aXM6IGN1cnJlbnQgam9iIHNhdGlzZmFjdGlvbiAoMSB0byA3KQotIG1hcnNhdGlzOiBjdXJyZW50IG1hcml0YWwgc2F0aXNmYWN0aW9uICgxIHRvIDcpCi0gbGlmc2F0aXM6IGN1cnJlbnQgb3ZlcmFsbCBsaWZlIHNhdGlzZmFjdGlvbiAoMSB0byA3KQoKV2UncmUgZ29pbmcgdG8gZm9jdXMgb24gdGhlIGxhc3QgdGhyZWUgdmFyaWFibGVzLCBgam9ic2F0aXNgLCBgbWFyc2F0aXNgLCBhbmQgYGxpZnNhdGlzYC4gCgpGaXJzdCwgd2UgbmVlZCB0byBnZXQgdGhlIGRhdGEuIEEgbmljZSB0aGluZyBhYm91dCBSIGlzIHRoYXQgdXN1YWxseSB3ZSBjYW4gcmVhZCBpbiBkYXRhIGRpcmVjdGx5IGZyb20gYSB3ZWJzaXRlLgoKYGBge3J9CmQgPC0gcmVhZC5jc3YoJ2h0dHBzOi8vc3RhbmZvcmQuZWR1L2NsYXNzL3BzeWNoMjUyL19kb3dubG9hZHMvbGlmZXNhdGlzLmNzdicpCmhlYWQoZCkKYGBgCgpOZXh0LCB3ZSdsbCBmaXQgYSBtb2RlbCBvZiBvdXIgYmVzdCBwcmVkaWN0aW9uIGZvciBsaWZlIHNhdGlzZmFjdGlvbiBiYXNlZCBvbiBvdXIgcHJlZGljdG9yIHZhcmlhYmxlcy4gVGhpcyBnZXRzIGhhcmRlciB0byB2aXN1YWxpemUgd2l0aCBhIHNjYXR0ZXJwbG90IGFuZCBhIHN0cmFpZ2h0IGxpbmUuIFNvbWUgcGVvcGxlIGZpbmQgaXQgaGVscGZ1bCB0byB0aGluayBvZiBhIHBsYW5lIHJ1bm5pbmcgdGhyb3VnaCBhIHRocmVlLWRpbWVuc2lvbmFsIHNwYWNlLiBEZXRlcm1pbmluZyB0aGUgY29lZmZpY2llbnRzIGZvciB0aGlzIG1vZGVsIHJlcXVpcmVzIHNvbWUgbGluZWFyIGFsZ2VicmEsIGJ1dCBjb252ZW5pZW50bHkgUiB3aWxsIGRvIGl0IGZvciB1cy4KClRoZSAnKycgbWVhbnMgYnVpbGQgYSBtb2RlbCB3aGVyZSB0aGVzZSBjb2VmZmljaWVudHMgZ2V0IGFkZGVkIHRvZ2V0aGVyLiAoV2UgY291bGQgdXNlICc6JyBvciAnKicgdG8gaW5zdGVhZCBidWlsZCBhIG1vZGVsIHdoZXJlIHdlIGluY2x1ZGUgaW50ZXJhY3Rpb24gdGVybXMsIHNwZWNpZmljYWxseSwgcHJvZHVjdHMgb2YgcHJlZGljdG9yIHZhcmlhYmxlcykuCgpgYGB7cn0Kc3VtbWFyeShsbShsaWZzYXRpcyB IGpvYnNhdGlzICsgbWFyc2F0aXMsIGQpKQpgYGAKClRoZSBnZW5lcmFsIGZvcm1hdCBvZiB0aGUgdGFibGUgbG9va3MgdGhlIHNhbWUsIGJ1dCB3ZSBub3cgaGF2ZSBhbiBleHRyYSByb3cgdGhhdCBjb3JyZXNwb25kcyB0byBvdXIgZXh0cmEgcHJlZGljdG9yIHZhcmlhYmxlLiAKClRoaXMgb3V0cHV0IHRlbGxzIHVzIHRoYXQgb3VyIGJlc3QgcHJlZGljdGlvbiBvZiBsaWZlIHNhdGlzZmFjdGlvbiByYXRpbmcgaXM6CgpgbGlmZSBzYXRpc2ZhY3Rpb24gPSAxLjQ1ICsgMC4zNSAqIGpvYiBzYXRpc2ZhY3Rpb24gKyAwLjIwICogbWFyaXRhbCBzYXRpc2ZhY3Rpb25gCgpXZSBjYW4gc3RpbGwgaW50ZXJwZXQgdGhlIGNvZWZmaWNpZW50cyBzaW1pbGFybHkgdG8gdGhlIG9uZSBwcmVkaWN0b3IgY2FzZS4gVGhlIGludGVyY2VwdCBpcyB0aGUgZXhwZWN0ZWQgbGlmZSBzYXRpc2ZhY3Rpb24gcmF0aW5nIGZvciBzb21lb25lIHdobyBnYXZlIGEgMCBmb3Igam9iIHNhdGlzZmFjdGlvbiBhbmQgYSAwIGZvciBtYXJpdGFsIHNhdGlzZmFjdGlvbi4gTm90aWNlIHRoYXQgdGhpcyBpc24ndCBwYXJ0aWN1bGFybHkgaW50ZXJwcmV0YWJsZSBzaW5jZSB0aGUgc2NhbGUgZm9yIGJvdGggb2YgdGhlc2UgcHJlZGljdG9yIHZhcmlhYmxlcyBnb2VzIGZyb20gMSAtIDcsIHNvIGEgMCBpcyBpbXBvc3NpYmUuIFRoZSBjb2VmZmljaWVudCBvZiAuMzUgZm9yIGpvYiBzYXRpc2ZhY3Rpb24gdGVsbHMgdXMgdGhhdCBmb3IgYW4gaW5jcmVhc2Ugb2YgMSBwb2ludCBvbiB0aGUgam9iIHNhdGlzZmFjdGlvbiBzY2FsZSwgd2Ugd291bGQgaW5jcmVhc2Ugb3VyIHByZWRpY3Rpb24gZm9yIGxpZmUgc2F0aXNmYWN0aW9uIGJ5IC4zNSBwb2ludHMuIFRoZSBjb2VmZmljaWVudCBvZiAuMjAgZm9yIG1hcml0YWwgc2F0aXNmYWN0aW9uIHRlbGxzIHVzIHRoYXQgZm9yIGFuIGluY3JlYXNlIG9mIDEgcG9pbnQgb2YgdGhlIG1hcml0YWwgc2F0aXNmYWN0aW9uIHNjYWxlLCB3ZSB3b3VsZCBpbmNyZWFzZSBvdXIgcHJlZGljdGlvbiBvZiBsaWZlIHNhdGlzZmFjdGlvbiBieSAuMjAgcG9pbnRzLgoKV2hhdCdzIG91ciBiZXN0IHByZWRpY3Rpb24gZm9yIGxpZmUgc2F0aXNmYWN0aW9uIGZvciBhIHBlcnNvbiB3aG8gcHJvdmlkZXMgYSBtYXJpdGFsIHNhdGlzZmFjdGlvbiByYXRpbmcgb2YgNCBhbmQgYSBqb2Igc2F0aXNmYWN0aW9uIHJhdGluZyBvZiA2PwoKYGBge3J9CiMgeW91ciBjb2RlIGhlcmUKYGBgCgpBcyBhIHdvcmQgb2Ygd2FybmluZywgcmVncmVzc2lvbiB3aXRoIG11bHRpcGxlIHZhcmlhYmxlcyBpcyBwb3dlcmZ1bCBidXQgdGhlIGltcGxlbWVudGF0aW9uIGFuZCBpbnRlcnByZXRhdGlvbiBpcyBtb3JlIGNvbXBsaWNhdGVkIHRoYW4gaXQgZmlyc3QgYXBwZWFycy4gRm9yIG9uZSB0aGluZywgdGhlIGNvZWZmaWNpZW50cyBhbmQgdC1zdGF0aXN0aWNzIHdpbGwgY2hhbmdlIGRlcGVuZGluZyBvbiB3aGF0IHByZWRpY3RvciB2YXJpYWJsZXMgYXJlIGluY2x1ZGVkIGluIHRoZSBtb2RlbC4gKFJlbWluZGVyOiBleHBlcmltZW50ZXIgZGVncmVlcyBvZiBmcmVlZG9tKS4gVGhlIGdvYWwgaGVyZSBpcyB0byBsZXQgeW91IGtub3cgdGhhdCByZWdyZXNzaW9uIHdpdGggbXVsdGlwbGUgdmFyaWFibGVzICpleGlzdHMqIGFuZCBnaXZlIHlvdSBhIGdlbmVyYWwgaWRlYSBvZiB0eXBlcyBvZiByZWdyZXNzaW9ucyB0aGF0IHVuZGVybGllIHN0YXRpc3RpY3Mgb3IgbW9kZWxzIHRoYXQgeW91J2xsIGVuY291bnRlci4gQnV0IGFnYWluLCBkZWZpbml0ZWx5IHdvcnRoIHRha2luZyBhbiBlbnRpcmUgY2xhc3Mgb24gcmVncmVzc2lvbiBpZiB0aGlzIGlzIHNvbWV0aGluZyB5b3UgdGhpbmsgeW91IG1pZ2h0IHVzZS4KCiMjIFBhcnQgNDogRXh0ZW5zaW9uIHRvIEFOT1ZBIChvcHRpb25hbCkKCldoYXQgaWYgd2UgaGF2ZSBhIGNhdGVnb3JpY2FsIHByZWRpY3RvciB0aGF0IGhhcyBtb3JlIHRoYW4gdHdvIGxldmVscyAoZ3JvdXBzKT8gTGV0J3MgcmVjb25zaWRlciB0aGUgYFNpbmdlckhlaWdodHNgIGRhdGEuIEFzIGEgcmVtaW5kZXIsIHRoaXMgaXMgYSBkYXRhIHNldCB0aGF0IGluY2x1ZGVzIHRoZSB2b2NhbCBwYXJ0IGFuZCBoZWlnaHQgb2YgYSBzYW1wbGUgb2Ygc2luZ2Vycy4gCgpgYGB7cn0KaGVhZChTaW5nZXJIZWlnaHRzKQpgYGAKCldlIHByZXZpb3VzbHkgdXNlZCBBTk9WQSB0byB0ZXN0IHRoZSBudWxsIGh5cG90aGVzaXMgdGhhdCBhbGwgb2YgdGhlIHBvcHVsYXRpb24gbWVhbiBncm91cCBoZWlnaHRzIHdlcmUgZXF1YWwuCgpgYGB7cn0Kc3VtbWFyeShhb3YoaGVpZ2h0IH4gcGFydCwgU2luZ2VySGVpZ2h0cykpCmBgYAoKV2hhdCBoYXBwZW5zIGlmIHdlIHRyeSB0byBmaXQgYSByZWdyZXNzaW9uIG1vZGVsIHRvIHRoZXNlIGRhdGE/CgpgYGB7cn0Kc3VtbWFyeShsbShoZWlnaHQgfiBwYXJ0LCBTaW5nZXJIZWlnaHRzKSkKYGBgCgpGaXJzdCwgY29tcGFyZSB0aGUgRi1zdGF0aXN0aWMgZm9yIHRoZSByZWdyZXNzaW9uIG1vZGVsIHRvIHRoZSBGLXN0YXRpc3RpYyBmcm9tIHRoZSBBTk9WQS4gKEFzIGEgcmVtaW5kZXIsIG9uZSBvZiBvdXIgdGhyZWUgaW50ZXJwcmV0YXRpb25zIG9mIGFuIEYtc3RhdGlzdGljIHdhcyBhIGNvbXBhcmlzb24gYmV0d2VlbiB0aGUgdmFyaWFuY2UgZXhwbGFpbmVkIGJ5IGEgKm1vZGVsKiB0aGF0IGluY2x1ZGVzIGdyb3VwIHZzLiBhICptb2RlbCogdGhhdCBkb2VzIG5vdCBpbmNsdWRlIGdyb3VwKS4KClNlY29uZCwgY2FuIHlvdSBpbnRlcnByZXQgdGhlIGNvZWZmaWNpZW50cyBoZXJlIHRvIGZpZ3VyZSBvdXQgaG93IFIgY3JlYXRlZCAqdGhyZWUqIHZhcmlhYmxlcyB0byBjb2RlIHRoZSAqc2luZ2xlKiB2YXJpYWJsZSBgcGFydGA/IE11Y2ggbGlrZSBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgcHJlZGljdG9yIHZhcmlhYmxlIG9ubHkgaGFkIHR3byBsZXZlbHMgKGhpZ2ggdnMuIGxvdyBzaGVsZiksIHRoaW5raW5nIGFib3V0IHRoZSBncm91cCBtZWFucyB3aWxsIGJlIGhlbHBmdWwuCgpgYGB7cn0KU2luZ2VySGVpZ2h0cyAlPiUKICBncm91cF9ieShwYXJ0KSAlPiUKICBzdW1tYXJpc2UobWVhbihoZWlnaHQpKQpgYGAKCjxzcGFuIHN0eWxlPSJjb2xvcjpyZWQiPlRoZSBpbnRlcmNlcHQgaXMgdGhlIG1lYW4gaGVpZ2h0IGZvciB0aGUgYWx0byBncm91cCwgYW5kIHRoZSB0aHJlZSBvdGhlciBjb2VmZmljaWVudHMgYXJlIHRoZSBkaWZmZXJlbmNlcyBpbiBtZWFuIGhlaWdodCBiZXR3ZWVuIGVhY2ggb2YgdGhlIG90aGVyIHRocmVlIGdyb3VwcyAqYW5kIHRoZSBhbHRvIGdyb3VwKi4gUiBoYXMgY3JlYXRlZCB0aHJlZSB2YXJpYWJsZXMsIGEgdmFyaWFibGUgdGhhdCBpcyAxIG9ubHkgaWYgcGFydCA9PSAnYmFzcycgYW5kIDAgb3RoZXJ3aXNlLCBhIHZhcmlhYmxlIHRoYXQgaXMgMSBvbmx5IGlmIHBhcnQgPT0gJ3NvcHJhbm8nIGFuZCAwIG90aGVyd2lzZSwgYW5kIGEgdmFyaWFibGUgdGhhdCBpcyAxIG9ubHkgaWYgcGFydCA9PSAndGVub3InIGFuZCAwIG90aGVyd2lzZS4gRm9yIGFuIGFsdG8sIGFsbCB0aHJlZSBvZiB0aGVzZSB2YXJpYWJsZSB3aWxsIGJlIGVxdWFsIHRvIDAgYW5kIHNvIG91ciBiZXN0IHByZWRpY3Rpb24gaXMganVzdCB0aGUgaW50ZXJjZXB0ICh3aGljaCBpcyBjb252ZW5pZW50bHksIHRoZSBtZWFuIG9mIHRoZSBhbHRvIGdyb3VwKS4gRm9yIGEgYmFzcywgb3VyIGJlc3QgcHJlZGljdGlvbiB3aWxsIGJlIHRoZSBpbnRlcmNlcHQgKG1lYW4gb2YgYWx0byBncm91cCkgKyB0aGUgJ2Jhc3MnIGNvZWZmaWNpZW50IChkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG1lYW4gb2YgYWx0byBncm91cCBhbmQgbWVhbiBvZiBiYXNzIGdyb3VwKSwgYW5kIHNvIG9uLjwvc3Bhbj4KCgojIyBQYXJ0IDU6IFBlcm11dGF0aW9uIHRlc3QgKG9wdGlvbmFsKQoKV2UnbGwgZG8gYSBwZXJtdXRhdGlvbiB0ZXN0IGZvciB0aGUgUm9sbGVyQ29hc3RlciBkYXRhLiBUaGUgbnVsbCBoeXBvdGhlc2lzIGlzIHRoYXQgdGhlcmUgaXMgbm8gcmVsYXRpb25zaGlwIGJldHdlZW4gaGVpZ2h0IGFuZCBzcGVlZC4gV2UgY2FuIHNpbXVsYXRlIHRoZSBkaXN0cmlidXRpb24gb2Ygc2FtcGxlIHN0YXRpc3RpY3MgKHIgYW5kIGIpIHRoYXQgd2UgKmNvdWxkKiBvYnNlcnZlIGlmIHRoZSBudWxsIGh5cG90aGVzaXMgd2FzIHRydWUuIFNwZWNpZmljYWxseSwgd2Ugd2FudCB0byBzaW11bGF0ZSBzYW1wbGVzIHVuZGVyIGNvbmRpdGlvbnMgd2hlbiB0aGUgbnVsbCBoeXBvdGhlc2lzIGlzIHRydWUuIFdlJ2xsIGRvIHRoaXMgYnkgcmFuZG9tbHkgc2h1ZmZsaW5nIHRoZSBzcGVlZHMgLS0gc2luY2UgdGhlIG51bGwgaHlwb3RoZXNpcyBpcyB0aGF0IHRoZXJlIGlzIG5vIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHNwZWVkIGFuZCBoZWlnaHQsIGl0IGRvZXNuJ3QgbWF0dGVyIHdoaWNoIHNwZWVkIGlzIHBhaXJlZCB3aXRoIHdoaWNoIGhlaWdodCAod2UgY291bGQgYWxzbyBqdXN0IHNodWZmbGUgaGVpZ2h0LCBvciBzaHVmZmxlIHRoZW0gYm90aCkuIEZvciBlYWNoIHJlcGV0aXRpb24sIHdlJ2xsIHJhbmRvbWx5IHNodWZmbGUgc3BlZWQsIGNhbGN1bGF0ZSByIGFuZCBiIHVzaW5nIHRoZXNlIHNpbXVsYXRlZCBkYXRhLCBhbmQgc3RvcmUgdGhlc2UgdmFsdWVzLiBXZSdsbCBoYXZlIGdlbmVyYXRlZCBhIGRpc3RyaWJ1dGlvbiBvZiBzYW1wbGUgciBhbmQgc2FtcGxlIGIgdmFsdWVzIHRoYXQgd2UgY291bGQgb2JzZXJ2ZSBpZiB0aGVyZSBpcyBubyByZWxhdGlvbnNoaXAgYmV0d2VlbiBoZWlnaHQgYW5kIHNwZWVkLgoKYGBge3J9Cm5fcmVwZXRpdGlvbnMgPC0gMTAwMAoKIyBzZXQgdXAgdmVjdG9ycyB0byBzdG9yZSBvdXIgc2ltdWxhdGUgc2FtcGxlIHN0YXRpc3RpY3MKc2ltdWxhdGVkX3IgPC0gYygpCnNpbXVsYXRlZF9iIDwtIGMoKQoKIyByZXBlYXQgbl9yZXBldGl0aW9ucyBudW1iZXIgb2YgdGltZXMKZm9yIChpIGluIDE6bl9yZXBldGl0aW9ucyl7CiAgCiAgIyBzaHVmZmxlIGRhdGEKICB0aGlzX3NhbXBsZSA8LSBSb2xsZXJDb2FzdGVycyAlPiUKICAgICAgICAgICAgICAgICBtdXRhdGUoc3BlZWQgPSBzYW1wbGUoc3BlZWQsIGxlbmd0aChzcGVlZCkpKSAjIHRoaXMgc2h1ZmZsZXMgc3BlZWQgdmFsdWVzCiAgCiAgIyBjYWxjdWxhdGUgciB1c2luZyBjb3IudGVzdCgpCiAgIyBpJ20gdXNpbmcgdGhlIGZhY3QgdGhhdCB0aGUgbW9kZWwgb2JqZWN0IGlzIGEgbGlzdAogICMgYW5kIGknbSB1c2luZyB0aGUgJCB0byBleHRyYWN0IHRoZSBwaWVjZSBvZiB0aGUgb3V0cHV0IHRoYXQgaSBuZWVkCiAgdGhpc19yIDwtIGNvci50ZXN0KHRoaXNfc2FtcGxlJHNwZWVkLCB0aGlzX3NhbXBsZSRoZWlnaHQpJGVzdGltYXRlCiAgc2ltdWxhdGVkX3IgPC0gYyhzaW11bGF0ZWRfciwgdGhpc19yKQogIAogICMgY2FsY3VsYXRlIGIgdXNpbmcgbG0oKQogICMgaSdtIHVzaW5nIHRoZSBmYWN0IHRoYXQgdGhlIG1vZGVsIG9iamVjdCBpcyBhIGxpc3QKICAjIGFuZCBpJ20gdXNpbmcgdGhlICQgdG8gZXh0cmFjdCB0aGUgcGllY2Ugb2YgdGhlIG91dHB1dCB0aGF0IGkgbmVlZAogIHRoaXNfYiA8LSBsbShzcGVlZCB IGhlaWdodCwgdGhpc19zYW1wbGUpJGNvZWZbJ2hlaWdodCddCiAgc2ltdWxhdGVkX2IgPC0gYyhzaW11bGF0ZWRfYiwgdGhpc19iKQogIAp9CmBgYApXZSBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgciBhbmQgYiB0aGF0IHdlIGFjdHVhbGx5IG9ic2VydmVkLgoKYGBge3J9CnNhbXBsZV9yIDwtIGNvci50ZXN0KFJvbGxlckNvYXN0ZXJzJHNwZWVkLCBSb2xsZXJDb2FzdGVycyRoZWlnaHQpJGVzdGltYXRlCnNhbXBsZV9iIDwtIGxtKHNwZWVkIH4gaGVpZ2h0LCBSb2xsZXJDb2FzdGVycykkY29lZlsnaGVpZ2h0J10KYGBgCgpQbG90IHRoZSBkaXN0cmlidXRpb24gb2Ygc2ltdWxhdGVkIHIgc3RhdGlzdGljcywgYW5kIGRyYXcgYSBsaW5lIGNvcnJlcHNvbmRpbmcgb3VyIGFjdHVhbCAob2JzZXJ2ZWQpIHNhbXBsZSByIHN0YXRpc3RpYyBvbiB0aGUgcGxvdC4KCmBgYHtyfQpnZ3Bsb3QoZGF0YS5mcmFtZShzaW11bGF0ZWRfciA9IHNpbXVsYXRlZF9yKSwgYWVzKHggPSBzaW11bGF0ZWRfcikpICsgZ2VvbV9oaXN0b2dyYW0oYmlucz01MCkgKyBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPSBzYW1wbGVfciwgY29sb3I9J3JlZCcpCmBgYAoKUGxvdCB0aGUgZGlzdHJpYnV0aW9uIG9mIHNpbXVsYXRlZCBiIHN0YXRpc3RpY3MsIGFuZCBkcmF3IGEgbGluZSBjb3JyZXBzb25kaW5nIG91ciBhY3R1YWwgKG9ic2VydmVkKSBzYW1wbGUgYiBzdGF0aXN0aWMgb24gdGhlIHBsb3QuCgpgYGB7cn0KZ2dwbG90KGRhdGEuZnJhbWUoc2ltdWxhdGVkX2IgPSBzaW11bGF0ZWRfYiksIGFlcyh4ID0gc2ltdWxhdGVkX2IpKSArIGdlb21faGlzdG9ncmFtKGJpbnM9NTApICsgZ2VvbV92bGluZSh4aW50ZXJjZXB0ID0gc2FtcGxlX2IsIGNvbG9yPSdyZWQnKQpgYGAK

Top Seven Fantastic Experience Of This Year’s Slope Intercept To Standard Form Converter Calculator | Slope Intercept To Standard Form Converter Calculator – slope intercept to standard form converter calculator
| Delightful to help my personal blog, on this occasion I will show you with regards to slope intercept to standard form converter calculator
.

The Converting from Slope-Intercept to Standard Form (A) math ..
The Converting from Slope-Intercept to Standard Form (A) math .. | slope intercept to standard form converter calculator
Convert To Slope Intercept Form Calculator Choice Image – free form ..
Convert To Slope Intercept Form Calculator Choice Image – free form .. | slope intercept to standard form converter calculator
standard to slope intercept form converter - Kivan ..
standard to slope intercept form converter – Kivan .. | slope intercept to standard form converter calculator
standard to slope intercept form converter - Kivan ..
standard to slope intercept form converter – Kivan .. | slope intercept to standard form converter calculator
Convert from the Slope Intercept Form to the Standard Form - YouTube - slope intercept to standard form converter calculator
Convert from the Slope Intercept Form to the Standard Form – YouTube – slope intercept to standard form converter calculator | slope intercept to standard form converter calculator
standard to slope intercept form converter - Kivan ..
standard to slope intercept form converter – Kivan .. | slope intercept to standard form converter calculator

Gallery for Top Seven Fantastic Experience Of This Year’s Slope Intercept To Standard Form Converter Calculator | Slope Intercept To Standard Form Converter Calculator