Converting from Standard to Slope-Intercept Form (A)
Converting from Standard to Slope-Intercept Form (A) | converting standard form to slope intercept form

11 Facts You Never Knew About Converting Standard Form To Slope Intercept Form | Converting Standard Form To Slope Intercept Form

Posted on

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).

Converting from Standard to Slope-Intercept Form (A) - converting standard form to slope intercept form
Converting from Standard to Slope-Intercept Form (A) – converting standard form to slope intercept form | converting standard form to slope intercept form

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.

Converting Standard Form to Slope-intercept Form | Math, Algebra ..
Converting Standard Form to Slope-intercept Form | Math, Algebra .. | converting standard form to slope intercept form

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].

Converting Standard Form Equation into Slope Intercept Form - YouTube - converting standard form to slope intercept form
Converting Standard Form Equation into Slope Intercept Form – YouTube – converting standard form to slope intercept form | converting standard form to slope intercept form

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):

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

standard form to slope intercept calc - Nuruf.comunicaasl
standard form to slope intercept calc – Nuruf.comunicaasl | converting standard form to slope intercept form

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

Converting from Slope-Intercept to Standard Form (A) - converting standard form to slope intercept form
Converting from Slope-Intercept to Standard Form (A) – converting standard form to slope intercept form | converting standard form to slope intercept form

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.

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

LF 11: Converting From Standard Form to Slope-Intercept Form - MathOps - converting standard form to slope intercept form
LF 11: Converting From Standard Form to Slope-Intercept Form – MathOps – converting standard form to slope intercept form | converting standard form to slope intercept form

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.

Converting From Standard Form to Slope Intercept Form - YouTube - converting standard form to slope intercept form
Converting From Standard Form to Slope Intercept Form – YouTube – converting standard form to slope intercept form | converting standard form to slope intercept form

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

11 Facts You Never Knew About Converting Standard Form To Slope Intercept Form | Converting Standard Form To Slope Intercept Form – converting standard form to slope intercept form
| Allowed to help our blog, within this time period I am going to teach you with regards to converting standard form to slope intercept form
.

Converting from Slope-Intercept to Standard Form (A) - converting standard form to slope intercept form
Converting from Slope-Intercept to Standard Form (A) – converting standard form to slope intercept form | converting standard form to slope intercept form
Converting Standard Form to Slope-Intercept 11 | Slope-Intercept Form ..
Converting Standard Form to Slope-Intercept 11 | Slope-Intercept Form .. | converting standard form to slope intercept form
Converting Linear Equations from Standard Form to Slope Intercept ..
Converting Linear Equations from Standard Form to Slope Intercept .. | converting standard form to slope intercept form
Converting from Standard form to Slope Intercept form (Simplifying ..
Converting from Standard form to Slope Intercept form (Simplifying .. | converting standard form to slope intercept form

Gallery for 11 Facts You Never Knew About Converting Standard Form To Slope Intercept Form | Converting Standard Form To Slope Intercept Form