From 0aea9bd0ec9f5c8ce4360e3e851c4b6c3cdb6e75 Mon Sep 17 00:00:00 2001 From: Jenna Badanowski <29607818+jbadan@users.noreply.github.com> Date: Tue, 21 Apr 2020 07:57:51 -0700 Subject: [PATCH] feat: forms using state proptype migrated to updated options (#968) --- src/Forms/Checkbox.js | 6 +- src/Forms/Checkbox.test.js | 48 ++++++++-- src/Forms/FormRadioItem.js | 4 +- src/Forms/FormRadioItem.test.js | 43 +++++++++ src/Forms/FormSelect.js | 4 +- src/Forms/FormSelect.test.js | 38 ++++++++ src/Forms/FormTextArea.test.js | 48 +++++++++- src/Forms/FormTextarea.js | 17 ++-- src/Forms/__snapshots__/Checkbox.test.js.snap | 84 +++++++++++++++++- .../__snapshots__/FormRadioItem.test.js.snap | 72 +++++++++++++++ .../__snapshots__/FormSelect.test.js.snap | 25 ++++++ .../__snapshots__/FormTextArea.test.js.snap | 37 +++++++- src/Forms/__stories__/Checkbox.stories.js | 20 ++++- .../__stories__/FormRadioItem.stories.js | 20 ++++- src/Forms/__stories__/FormSelect.stories.js | 36 +++++++- src/Forms/__stories__/FormTextarea.stories.js | 34 +++++-- ...components-checkbox-state-error-1-snap.png | Bin 0 -> 5311 bytes ...ents-checkbox-state-information-1-snap.png | Bin 0 -> 5315 bytes ...mponents-checkbox-state-success-1-snap.png | Bin 0 -> 5337 bytes ...mponents-checkbox-state-warning-1-snap.png | Bin 0 -> 5315 bytes ...nts-form-radio-item-state-error-1-snap.png | Bin 0 -> 5915 bytes ...rm-radio-item-state-information-1-snap.png | Bin 0 -> 5945 bytes ...s-form-radio-item-state-success-1-snap.png | Bin 0 -> 5839 bytes ...s-form-radio-item-state-warning-1-snap.png | Bin 0 -> 5921 bytes ...ponents-form-select-state-error-1-snap.png | Bin 0 -> 8232 bytes ...s-form-select-state-information-1-snap.png | Bin 0 -> 8234 bytes ...onents-form-select-state-sucess-1-snap.png | Bin 0 -> 8243 bytes ...nents-form-select-state-warning-1-snap.png | Bin 0 -> 8248 bytes ...nents-form-textarea-state-error-1-snap.png | Bin 0 -> 5155 bytes ...form-textarea-state-information-1-snap.png | Bin 0 -> 5622 bytes ...nts-form-textarea-state-success-1-snap.png | Bin 0 -> 5778 bytes ...nts-form-textarea-state-warning-1-snap.png | Bin 0 -> 5725 bytes 32 files changed, 487 insertions(+), 49 deletions(-) create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-checkbox-state-error-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-checkbox-state-information-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-checkbox-state-success-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-checkbox-state-warning-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-radio-item-state-error-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-radio-item-state-information-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-radio-item-state-success-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-radio-item-state-warning-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-select-state-error-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-select-state-information-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-select-state-sucess-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-select-state-warning-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-textarea-state-error-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-textarea-state-information-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-textarea-state-success-1-snap.png create mode 100644 visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-textarea-state-warning-1-snap.png diff --git a/src/Forms/Checkbox.js b/src/Forms/Checkbox.js index ee4316810..1da1811ea 100644 --- a/src/Forms/Checkbox.js +++ b/src/Forms/Checkbox.js @@ -1,5 +1,5 @@ import classnames from 'classnames'; -import { FORM_STATES } from '../utils/constants'; +import { FORM_MESSAGE_TYPES } from '../utils/constants'; import FormItem from './FormItem'; import FormLabel from './FormLabel'; import PropTypes from 'prop-types'; @@ -40,7 +40,7 @@ const Checkbox = React.forwardRef(({ const inputEl = useRef(); useEffect(() => { - inputEl && (inputEl.current.indeterminate = indeterminate); + inputEl && inputEl.current && (inputEl.current.indeterminate = indeterminate); }); useEffect(() => { @@ -115,7 +115,7 @@ Checkbox.propTypes = { labelClassName: PropTypes.string, labelProps: PropTypes.object, name: PropTypes.string, - state: PropTypes.oneOf(FORM_STATES), + state: PropTypes.oneOf(FORM_MESSAGE_TYPES), value: PropTypes.string, onChange: PropTypes.func }; diff --git a/src/Forms/Checkbox.test.js b/src/Forms/Checkbox.test.js index 977085074..09d249865 100644 --- a/src/Forms/Checkbox.test.js +++ b/src/Forms/Checkbox.test.js @@ -5,7 +5,7 @@ import renderer from 'react-test-renderer'; describe('', () => { const checkbox = ( - + Label ); test('create checkbox', () => { @@ -17,7 +17,7 @@ describe('', () => { describe('Checkbox Tests', () => { let setup = (props) => { - return mount(); + return mount(Label); }; test('should add checked attribute when checked is passed', () => { let element = setup({ @@ -83,7 +83,7 @@ describe('', () => { }); test('should allow props to be spread to the Checkbox component', () => { - const element = mount(); + const element = mount(Label); expect( element.find('.fd-form-item').getDOMNode().attributes['data-sample'].value @@ -91,7 +91,7 @@ describe('', () => { }); test('should allow props to be spread to the Checkbox component input', () => { - const element = mount(); + const element = mount(Label); expect( element.find('.fd-checkbox').getDOMNode().attributes['data-sample'].value @@ -99,13 +99,49 @@ describe('', () => { }); test('should allow props to be spread to the Checkbox component label', () => { - const element = mount(); + const element = mount(Label); expect( element.find('.fd-form-label').getDOMNode().attributes['data-sample'].value ).toBe('Sample'); }); }); + describe('Validation states', () => { + test('should render the correct snapshots', () => { + const checkboxWarning = ( + Label + ); + + let component = renderer.create(checkboxWarning); + let tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + + const checkboxError = ( + Label + ); + + component = renderer.create(checkboxError); + tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + + const checkboxSuccess = ( + Label + ); + + component = renderer.create(checkboxSuccess); + tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + + const checkboxInformation = ( + Label + ); + + component = renderer.create(checkboxInformation); + tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + }); + }); + test('forwards the ref', () => { let ref; class Test extends React.Component { @@ -113,7 +149,7 @@ describe('', () => { super(props); ref = React.createRef(); } - render = () => ; + render = () => Label; } mount(); diff --git a/src/Forms/FormRadioItem.js b/src/Forms/FormRadioItem.js index 4f3485692..3ab7319f8 100644 --- a/src/Forms/FormRadioItem.js +++ b/src/Forms/FormRadioItem.js @@ -1,5 +1,5 @@ import classnames from 'classnames'; -import { FORM_STATES } from '../utils/constants'; +import { FORM_MESSAGE_TYPES } from '../utils/constants'; import FormItem from './FormItem'; import FormLabel from './FormLabel'; import PropTypes from 'prop-types'; @@ -83,7 +83,7 @@ FormRadioItem.propTypes = { inputProps: PropTypes.object, labelProps: PropTypes.object, name: PropTypes.string, - state: PropTypes.oneOf(FORM_STATES), + state: PropTypes.oneOf(FORM_MESSAGE_TYPES), value: PropTypes.string }; diff --git a/src/Forms/FormRadioItem.test.js b/src/Forms/FormRadioItem.test.js index afe0f42e7..d5e616885 100644 --- a/src/Forms/FormRadioItem.test.js +++ b/src/Forms/FormRadioItem.test.js @@ -96,6 +96,49 @@ describe('', () => { ).toBe('Sample'); }); }); + describe('Validation states', () => { + test('should render the correct snapshots', () => { + const formRadioItemWarning = ( + + Option 1 + + ); + + let component = renderer.create(formRadioItemWarning); + let tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + + const formRadioItemError = ( + + Option 1 + + ); + + component = renderer.create(formRadioItemError); + tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + + const formRadioItemSuccess = ( + + Option 1 + + ); + + component = renderer.create(formRadioItemSuccess); + tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + + const formRadioItemInformation = ( + + Option 1 + + ); + + component = renderer.create(formRadioItemInformation); + tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + }); + }); test('forwards the ref', () => { let ref; class Test extends React.Component { diff --git a/src/Forms/FormSelect.js b/src/Forms/FormSelect.js index 8c4056db1..6b1a878ce 100644 --- a/src/Forms/FormSelect.js +++ b/src/Forms/FormSelect.js @@ -1,5 +1,5 @@ import classnames from 'classnames'; -import { FORM_STATES } from '../utils/constants'; +import { FORM_MESSAGE_TYPES } from '../utils/constants'; import PropTypes from 'prop-types'; import React, { useEffect } from 'react'; @@ -37,7 +37,7 @@ FormSelect.propTypes = { compact: PropTypes.bool, disabled: PropTypes.bool, disableStyles: PropTypes.bool, - state: PropTypes.oneOf(FORM_STATES) + state: PropTypes.oneOf(FORM_MESSAGE_TYPES) }; export default FormSelect; diff --git a/src/Forms/FormSelect.test.js b/src/Forms/FormSelect.test.js index e56986ee5..f9e5f329a 100644 --- a/src/Forms/FormSelect.test.js +++ b/src/Forms/FormSelect.test.js @@ -28,6 +28,44 @@ describe('', () => { }); }); + describe('Validation states', () => { + test('should render the correct snapshots', () => { + const formSelectWarning = ( + + ); + + let component = renderer.create(formSelectWarning); + let tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + + const formSelectError = ( + + ); + + component = renderer.create(formSelectError); + tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + + const formSelectSuccess = ( + + ); + + component = renderer.create(formSelectSuccess); + tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + + const formSelectInformation = ( + + ); + + component = renderer.create(formSelectInformation); + tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + }); + }); + test('forwards the ref', () => { let ref; class Test extends React.Component { diff --git a/src/Forms/FormTextArea.test.js b/src/Forms/FormTextArea.test.js index 501fb2937..fb3a1aed8 100644 --- a/src/Forms/FormTextArea.test.js +++ b/src/Forms/FormTextArea.test.js @@ -5,9 +5,7 @@ import renderer from 'react-test-renderer'; describe('', () => { const formTextArea = ( - - Pellentesque metus lacus commodo eget justo ut rutrum varius nunc. - + ); const formTextareaCounter = ( @@ -50,6 +48,50 @@ describe('', () => { expect(ref.current.className).toEqual('fd-textarea'); }); + describe('Validation states', () => { + test('should render the correct snapshots', () => { + const formTextAreaWarning = ( + + ); + + let component = renderer.create(formTextAreaWarning); + let tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + + const formTextAreaError = ( + + ); + + component = renderer.create(formTextAreaError); + tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + + const formTextAreaSuccess = ( + + ); + + component = renderer.create(formTextAreaSuccess); + tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + + const formTextAreaInformation = ( + + ); + + component = renderer.create(formTextAreaInformation); + tree = component.toJSON(); + expect(tree).toMatchSnapshot(); + }); + }); + describe('FormTextArea counter', () => { const setup = props => { return mount(); diff --git a/src/Forms/FormTextarea.js b/src/Forms/FormTextarea.js index c5a49e3e8..0a9195e1d 100644 --- a/src/Forms/FormTextarea.js +++ b/src/Forms/FormTextarea.js @@ -1,11 +1,10 @@ import classnames from 'classnames'; import CustomPropTypes from '../utils/CustomPropTypes/CustomPropTypes'; -import { FORM_STATES } from '../utils/constants'; +import { FORM_MESSAGE_TYPES } from '../utils/constants'; import PropTypes from 'prop-types'; import React, { useEffect, useState } from 'react'; const FormTextarea = React.forwardRef(({ - children, className, compact, counterProps, @@ -30,9 +29,6 @@ const FormTextarea = React.forwardRef(({ if (typeof value === 'boolean' || value) { return Math.min(value.toString().length, maxLength); } - if (typeof children === 'string') { - return Math.min(children.length, maxLength); - } if (defaultValue) { return Math.min(defaultValue.toString().length, maxLength); } @@ -61,7 +57,8 @@ const FormTextarea = React.forwardRef(({ const formTextAreaClasses = classnames( 'fd-textarea', - { 'fd-textarea--compact': compact, + { + 'fd-textarea--compact': compact, [`is-${state}`]: state }, className @@ -73,10 +70,9 @@ const FormTextarea = React.forwardRef(({ ); return ( - + <> + value="Pellentesque metus lacus commodo eget justo ut rutrum varius nunc." +/> `; exports[` create form textarea with counter 1`] = ` diff --git a/src/Forms/__stories__/Checkbox.stories.js b/src/Forms/__stories__/Checkbox.stories.js index 658bef676..b8a001568 100644 --- a/src/Forms/__stories__/Checkbox.stories.js +++ b/src/Forms/__stories__/Checkbox.stories.js @@ -11,10 +11,10 @@ const createProps = (overrides) => ({ compact: boolean('compact', false), disabled: boolean('disabled', false), indeterminate: boolean('indeterminate', false), - state: select('Validation State', { - 'default': null, - 'valid': 'valid', - 'invalid': 'invalid', + state: select('State', { + 'none': '', + 'success': 'success', + 'error': 'error', 'information': 'information', 'warning': 'warning' }), @@ -36,6 +36,18 @@ storiesOf('Components|Checkbox', module) .add('compact', () => ( Text Option )) + .add('State | Error', () => ( + Text Option + )) + .add('State | Warning', () => ( + Text Option + )) + .add('State | Success', () => ( + Text Option + )) + .add('State | Information', () => ( + Text Option + )) .add('disable styles', () => ( Text Option )); diff --git a/src/Forms/__stories__/FormRadioItem.stories.js b/src/Forms/__stories__/FormRadioItem.stories.js index 338a00129..b031a1311 100644 --- a/src/Forms/__stories__/FormRadioItem.stories.js +++ b/src/Forms/__stories__/FormRadioItem.stories.js @@ -10,10 +10,10 @@ import { const createProps = (overrides) => ({ compact: boolean('compact', false), disabled: boolean('disabled', false), - state: select('Validation State', { - 'default': null, - 'valid': 'valid', - 'invalid': 'invalid', + state: select('State', { + 'none': '', + 'success': 'success', + 'error': 'error', 'information': 'information', 'warning': 'warning' }), @@ -32,6 +32,18 @@ storiesOf('Components|FormRadioItem', module) .add('compact', () => ( Text Option )) + .add('State | Error', () => ( + Text Option + )) + .add('State | Warning', () => ( + Text Option + )) + .add('State | Information', () => ( + Text Option + )) + .add('State | Success', () => ( + Text Option + )) .add('disable styles', () => ( Text Option )); diff --git a/src/Forms/__stories__/FormSelect.stories.js b/src/Forms/__stories__/FormSelect.stories.js index aea8ea5a6..f4465b806 100644 --- a/src/Forms/__stories__/FormSelect.stories.js +++ b/src/Forms/__stories__/FormSelect.stories.js @@ -10,10 +10,10 @@ import { const createProps = (overrides) => ({ compact: boolean('compact', false), disabled: boolean('disabled', false), - state: select('Validation State', { - 'default': null, - 'valid': 'valid', - 'invalid': 'invalid', + state: select('State', { + 'none': '', + 'success': 'success', + 'error': 'error', 'information': 'information', 'warning': 'warning' }), @@ -29,6 +29,34 @@ storiesOf('Components|FormSelect', module) )) + .add('State | Error', () => ( + + + + + + )) + .add('State | Warning', () => ( + + + + + + )) + .add('State | Information', () => ( + + + + + + )) + .add('State | Sucess', () => ( + + + + + + )) .add('disable styles', () => ( diff --git a/src/Forms/__stories__/FormTextarea.stories.js b/src/Forms/__stories__/FormTextarea.stories.js index 9dd53cb96..ec773d768 100644 --- a/src/Forms/__stories__/FormTextarea.stories.js +++ b/src/Forms/__stories__/FormTextarea.stories.js @@ -4,17 +4,19 @@ import { storiesOf } from '@storybook/react'; import { boolean, select, + text, withKnobs } from '@storybook/addon-knobs'; const createProps = (overrides) => ({ compact: boolean('compact', false), + defaultValue: text('Default Value', 'Default'), disabled: boolean('disabled', false), readOnly: boolean('readOnly', false), - state: select('Validation State', { - 'default': null, - 'valid': 'valid', - 'invalid': 'invalid', + state: select('State', { + 'none': '', + 'success': 'success', + 'error': 'error', 'information': 'information', 'warning': 'warning' }), @@ -24,11 +26,31 @@ const createProps = (overrides) => ({ storiesOf('Components|FormTextarea', module) .addDecorator(withKnobs) .add('Default', () => ( - Default + )) .add('disable styles', () => ( - Default + )) .add('Max length', () => ( + )) + .add('State | Error', () => ( + + )) + .add('State | Warning', () => ( + + )) + .add('State | Information', () => ( + + )) + .add('State | Success', () => ( + )); diff --git a/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-checkbox-state-error-1-snap.png b/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-checkbox-state-error-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..e0cb9796697ba53ca40f55c6314c65550167f3cf GIT binary patch literal 5311 zcmeHKTTl~O8a{|KI>RF4x+;QPT&mMU|K-MBtswx>I%z9 zK-X1E5YTlbq%nyC0Zf317Z_wn6zH@G2@z3&GzlVvKmuW#ecIQp+I?EiOIP)O`qck_ zm;d~ow?8t>@mrT~0RWDBcJDd>fW0RG3t|_4jlU_PUp#|9?9vZ}{Q!jW)k6UMA!E<3 zodQ>@;4S&CIF#z9r?EoO#*$xl9So|FTo}t-z zY}0~;0Q_~SCjdM0fgJ!x|I@9T>wR-)j;d?OXWoQ}>7RZh-bU-uM8fE+b!AEMQWO-MZqQ@0J?^`9Q%SLF^j6ic$yXYbQA+@+QARqwCoSmL2@;6NA zhlco@j)kJf3WE}LQ@nOKWmI`789Lcf8m+UmhBGN1tnO>HH-3th9sp!{X1z0Jub$$2 zF=tsFg~G}U_KTDrS)<*(X8(Wy$e6A`D@9G@W!`%$&i2zqFnsyS3Pde7(4M9lbygKG zi5MNg84MOPJBr9p&XGEb{bUlU6nhjL^yFoR$U3?Y#%s0NG@?V{;o&4wNmgeb&0xBY zS%W4~$-9QMgW=)nKC$%`Fpn3S?;KTqQo+9$oZD@?z7~0O#K)wDM2I4(1Eygp;#EkD z$>e%axLmIIaNjeRj9;5cBt)xC5Tv9KIL*(fr%v(hCv-A0xu_DRMnMpbVeZZiGse#y z+S1bEKls$1`uUxchO-#}Svm0xV@GdfSXffRSp=c!W}LdeEcaF3&`Bl6dd!Gx0zVEC zSH6;Irq`|>vh$Wx zoY*utTUV2Kv!fmXwLqY(eMuq_&OFT~HysU`LC_{L#dalK|K7p3qVIVQQo@K3os|{} z?iWrUU*v?4w=X0sc{YU zP3Pq*+NV`K^a*9Qm`VHiirjE~DDyMA5M)!dOO|_HA;(qn`FwZwhc^~guoL>X2kkh& z&EiRJ2o~l+JI-|>z#E>7e^DPRJWHEAlADTZ3JMBvW>2q{ApH>$TtuaMV`Yj)`=Po7 zh5&}|1?P0X$g?V|PPF%qZpURM?h#6rgHf|}6|C2HcbeYhEt}KTNYcdHWAR+)P5*%5 z97l+M%_~g#^YV4Im>F+sW;LGKzqnOCe_m>dIj2CHu)35&(F+0`Rp$&>c>|% z#ERa`G_xkqtho8)fo*O8sWN9Ug?Fu~tQEw%*G<-}7i%AMg z8o^rb6^FfkdZDLR>;OO~y#i^I7P`fGh33CK9c3wQ9RJczV6`;TT84OtO!p`8+6YT5 zcU7RpZD1>bfTT)|WT)+u6v7c5Yikc|&hsvVCnhE=+`_D1%#9&e$WT{#1R?n~u6Sxn zT)Z@YRrO0vol5|{jyc&E=9ih){OmG;KAbu-Sq;Ev_M>2}-PDIQi_kf5rhk$P@Mb@! z1nv2;zw3=gq0wlR7%gq4+xtA?ay{tDZt2}oG_C1+rBo_~VHa0d?7^)>A-)81BKF&6 zJ>DBJHRg>vjD13W#@)#2ojr`ZuH5pT&pSP_{;FIklt7kzvW(5@$oixzvTDXmqnDNp z2P%rh&|FvDnyRT+ZJQ{op$Ou|Fxyg{OPwod>~<0)*9_>dUJ4p@pLvO218Ii+j2%n- zKWF<7y-=Wze%g2l=WFMsuTfrMpoGa}QduU{%!f&n@$O1+#QgI7;EeU$aXl!dG`aj0IUn0lK9m6IS?scj|b)khWq=7rEliG7w z3gLvlhMJlxR7@)$_cX?Q1%Ra|yOgN8Z));uVxEup;0|LMX|;5N8sEk4@h+AjIgYM) z<;Ii^TW25OEa>&>M~EWg$wwvAU_!Aw)e5+vKu%3|)>ugo{h+ioQ3+jrsu-VCFdqN_234b_z@t^DZHIo1U literal 0 HcmV?d00001 diff --git a/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-checkbox-state-information-1-snap.png b/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-checkbox-state-information-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..dd43ab738b83f135d5c5cf41dd7f53d62c9420be GIT binary patch literal 5315 zcmeH}SyWSL630KZ-8(MrC<-FZv0KNXBO)RS4G20!hXFSN%@U%ZqJcoum;?ez+;D9c zbs8l!0gP<9CP5*D5CJ_*8)*$uG%F-gKxq;JLP)@D%;n6>oOzo$XWqCk_nf+QzgzXI z|E;QPhaymj#V(5h0Eh$o_Z^%oZ=QZaG0Isgs0KlG~0BlbD zVj%#_H|~KQ*Er1q;2#T@1F#|Vzjd9Plc_j(id~m3$*Mes)G9oTn+i_X-Z;2EdUJ%E z%EJgB-zMb>;fsISFe%RFoi$Z!T%ytFqaq*KMr>Ixa!O z8&K4~s|+sJ^4>?gfT=X^8dT)h@lez3TFpXX>J{6du(phsf5} zx2>lRytX{Ke?Y2Ge80pQ$y#w`T|63%!C<5+S=5r%TUo`$#dPu$Cuw&#Y`+l~2SJcf z6O@<*Q|G(5y6P+D*2tcm9~A_71JHhNChhc-{m%+ohTS<2tRu9Fs0X=~Tc<~UCWtU3 zSQcSnVHk?I5cl*#9vba4svN|r2y%H*}`wL#7q5r zT{qktDUo0gLD5`J)r(?j_?z^h5?@1$tM0nTbX~D0_Ap69AW^LMZs^++r~>#@GC4|} zF{n0Ogs3wxIB{vh)~&Xl(MZog9V}M|mI#3oFCzn&x-OoU-Bm6hsws=bI=Y=xp1sV` zf4GCKd(8}$c9#3sQFHC>kyeX|U`P1MMjc&SOpX;Bb^L?7+G6RYdPPzJ>y6{nvZfMY z?&tBDRKw}JGD?$RiTb1sD{%O@BWSeUYJygIM9Z+h7(ZD0%F8g$RO1B~zZ3h_+47%U zg3?mmCW7zjj)T7reg-nNon@ZwKeiQZF9xtFWruiB+WI+ z#GYHGv8!x8E3W<1L6S7X$^o>;3bbqNsfr11A z!Jzl;&7&A7ip^>bny4&e_-FK8VzJyfJHCx;ON691gD*B|4h1GoeZpbe9e7E@DX~hG zDS4f4(X5a@e8?Om^uJ?otffu6X?aTk=q5tyPFTe3;~kgrye;(TU)7yi|)hO>0^B|)uWSP z2sl+1E4HWjErW?l_ns6#D^Nr0$-m!ZYvP(uAI^6Z%6q7u01PiCLaT}j-GBTc!1kQ! zL()9fjf`++lz{NnM9%z~a4V3<`?CX0ok{vn9ZT6s1%51!fEY_45YT9JQc_auR9~1> zsT8P{$&3tgKoBh$LoqaxsSaDLU_8&lx4J(#BUc|P5Be~`X3Xn;t&Aaw@5Z?9Os%ac zFF_j_6iy)d)%k$I7-1TQ$LGsGic9%^BB!HfE*grKAEcR$GYJLQUp}Dwk1G8J-W9fn zwR^$+93zx2ejdCaf_*!}_BRZvBcDe!s9d%kJ4P8-Fd=wIoYG`s32CZG5yj#Qv2>UE z3!$21F>CE)Z`@{^EQ9d&Ch9GcZ@)i6_iErY58uM4;r*$-3QM=Mqj5wyecs|&#$k1J zb literal 0 HcmV?d00001 diff --git a/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-checkbox-state-success-1-snap.png b/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-checkbox-state-success-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..e3248c59952e3f4a6f133150f23a8ceb88d0fceb GIT binary patch literal 5337 zcmeHLYgAKL7QRR=Dn;9I#1`bCu7PnZFp9wn22fPA3{s4jH$((M!XqjTfk1+f5oqP1 zWrP|O91(;(RY(GX5CtTnAW}#Ifdmi?aPtx&1Op+x%&%GVZ)UCe$N6#ZU3Z`Lt#5y4 z?QidOe){30uf+zd4FCXGoH%~u6abjo1HhV)b)Un3$Z1zEz%P^3Q@)1*#+z-^0Px4+ z6Gsl6PQR;?X8a>aOBBqwyndGNnzzG#$MN4r|L_F!&URn*0eTS1zkd2`K`$YxSpKj( zp{%|Gll(Vw2wif%tondp^VSEVzc_=>t1y=RR=UT#hQ2U;5afNuB<}K^<=(i$yg#$X z=L04HaQ465>e}Fv%i@1LdoQcILcH`|Mcj*h=RBSW#T#2X zH2bOptk3Ics1xtZ8oSq5KJNuK>`Fcg>awAFah|E3oer|Wj zY$-<AkIC!K&wpJk>y<(PqTBX7^V`E$Y zj)bO)Y_;ro-P~ONWfN02Axp~DB2q;(LW*n&nwqLXI-aB%98}?z#|pBBCNq>Xj!<H9b#c&fnAiC0He}TBxlXu*yBD3Hv|}iLOCTR(~r`VdCc4|zWKoJ4h5Z3Gt1O|53MZA8Z2n2jQ;Hc=`oE0-Z9 z^R%Cz9|#hm_RSC_vAQ4Mvgm@79YE7dO5|aWF9d=C0Ty7~$q7x_aF_vHiIj2!eP#p2cPfm)4q7tE#HzN3eWM zLIQ(AIZCGsrBYN={y^gjXhA^%Zq#H^Jo;SIXp92@(jnetkhiQ$uf2zx_KFD9NsZn} zzVbR(`EfT?*i;Q8!-OMoS{5RE`6`7%cGV4%FG;nCBtbN*fyWc!(?n0VMk$fYVb=Ro zD4})n;!a26)BT<#bw7&qNJI}un_D{5C=@|O`qPx=1We?Qo#zm`!FYveNK?bio^2)I zgp{zpC+w1Mi7i~NTYu`TT>R?xZYr_!7j6RN#G9>-!21vvf6k^<`BgAIG~}R><_{0_ z%u+O*onr-|THTNuM%290h_7D10hJ7;FwI+L=un$44*;GSU#D%c@6)tAva-$6( z6!oZpS{KsTEW)79RJ<=O6;B0LLJtG(g?KeAqp2|}33oZiTEQXBPDswR=jjW^i>M`X zxx2p7S5(W_HHCLYa(_%n9&V_0P(Be@3aqTGFuEr(R95mu5VY9#*ZbvYHf?#%4^8Va zj)mf$kK7IR*k~Pummzo^Do=JHdFhr_%XlHKBi;*D?4W8Iq`}7u8b3`1D27wtFh;x# z_1w{=Sk-MMYG2D7xGY^(cjsnblar3<bp1&M1);ur9w&5 z291V@?R_AU)F+@UtoGGVC@^s`qtX|$C0^#RcYHo1 z-0*U{nceA4$fe`m<*tti1OoKw+-oSu8cR{D)hkv&W!^buXB_CoEkx&ve2We~WwgY7 zkHh1GK`bLx7&Gt{qGBNrm?(hfIgu#yJNwRSqM5EP^7pPs~zC(4lK z59_E@HJOB`hjSR^1pS?rs?@)|Vm4PEuO%ady}f~OF%B!YE&5A1L9~caFa1marmxyx z+uzsIuRM^d7`^7Xw9)Va0PbUxgLm7T**?y`m)`0KajjEmLTa%1{-JA%7+*UOc2JxS zsRPA17C7Y|eh>%>?C?oQZI>&;P@bt+Kzp$Z?`9p5UK-+yBl|QAESfN5$zj`Y76=f(7^KV#lPJ4{axk=jrqFf6|st-VKIL9@jpWt5xs+H0qft z{xIetLT71*-RFNrOO;f(Efmt~-W=qmw7h4-hCmk%4@cM;Z&z|MnD7KJ$1y`D<+L(9o|&O^T-&l91d6bB09tj9<4764#$Yj2vhz2V&X@wXTV18H8vy`Hq)yY=Kk`;39O z9`3AI{hV{iX8bqkKKYxex(xVP^HWp4rY-|+{YI$Ie@e9*T~o|7Tb))1 z4zZ~lN2M^7GM96odPcY%0GR{#J2 literal 0 HcmV?d00001 diff --git a/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-checkbox-state-warning-1-snap.png b/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-checkbox-state-warning-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..20a6f6e0cd0210c07c07b457cff2199d43f3de22 GIT binary patch literal 5315 zcmeH}SyWS57KSh4)LJ&!wu&Hvi&mCxQH}v5GB^O*7(pO_2@nwlO(0QH0U?6XQqV%d zZY(GnM6?9C*CZkYB#}g+1Sw^b3=APDM5csH1QHA+>5EVG&@c7SZ=9FA&OXE1_uKp5 zXWt4s?!RhVLnAzM{|;$MZ%flsMHFg{pXSIy{yDfOY52p7pR_6Yh(b!!suz0HE1eECPUEms){b#rCNpQ@fbQn%j1};V?Mw5Zldz}+h+MaRk0FX>ZXj(U4>plne3TH zEmT#dNyH%mAi+vP+3whs=p1HaAlO;e) zxsfuk;$4h`ca2&8KI5`4V((tQ!)4QTlb+4t5R}~={D2(|p;Q$sT)~|sqS34iU5_x; z<&e&(=9@aabTexZGEY^dprnMAGz=EHkus)rI^mmT=?U4|XiZ*eSa^82QE?v!357xs zG>EHO_`~7HA%{6NPF7saji%FGSf>UbfiR_gNoU#$JuCcf+eC*{9ILFY6{dX|E|6EA zti~(YEQ;CEN;tbUkWpS;!_KE5_sTpi$pnm$`~6GTyfUW)Ra1tVQY`xhO^S)_m#w07dV~y8M<*Y1Qwb z7m*t1Ac(`wSn@+w}9W>u|LF3{5?5c+dnGW4uy*f87$WK zy_2%>-k|xcfWqkDmVg4`)CQ5hqbON`m~IF#*XO%nqwBAe`>a4whzxNT>@DuM@UZ6)6ckam! z;fH?Jv-P;kmCbkTu`O4WJ%(|C852bi2?e4^EYD1J=2QK18B$Nf9zoy7VE>FyYLD?; z^SSK$_xUc+9XmI{=c9SG?!um)2oCD!AccK41cEW|?qay7eT{-}ZX|9lyIU^iAuE!J z1PDtkImuDEmgTrl3?Y(6OXPfSV_xCzv!!iuo(Mv+arBTG9bZa`GxlzC7S&7LE9UX` z$4R=pIkB2ghQ{#g5zhPdT8Aq!77Xvihz+cxoX7}|&_4V~ij`^zL z?G6L&b$pLbDAOV$g1y~Po2Ugl7PB8!+f92$*6IZ4!)$m9@8 z3R88($ZgFd%rQ7&Xu-|FCW5L#|LpAh{D$GwKBNa8whMc9nK_l|W1VHwZyNNVuR>ug zz3+ZeKcBC#9#|~lSl461+aK5VPmuxOH8L@4#oh2QCZoN*9j}UroJaIH_M*MID>pPC zAix~2>m%f1>XXhYG*_(>wBnlYX5Go{1`Q z6?B#zf}`3Hdr`5QC|*a#ks7aSDAIJR1fAsCjggpITlQ8MBJbxh^fY4I+IW_y!Z|4R5{n+_1pr+@vJ3<2k zJM7xMrtjs+dsDTr<|+i$+7ZEzYdZuyX*vnTkrf)|{?bCyeS25=-~pR5qJZVaPMf>s z{Ixv!>!eKc{t|*P6s|Oh;+Gez$;V1w1kxi}V1_9hCoD%5$u!Onp6w%-GAylT#*kBX zaM`=cIz*>U@T6SI#I900#Hg?JKq3iaoiWp`PPtFvn$0%maKQMcOb=N%FA9zJzcTVP zZLZasFk+t~?BbC_?K67HD8@V95H?;CE#=HKx)2jNv&1#B0Njk0Emu-yS>EhtX=!Qr z$zN_!<}S7*Xw*&HLUff|0`i5@V#;xZtE;dqYonMa{d~wl%<;<+*P9ITc+rVc6TQtu zAxyx@YdBxQr--Bx-SOfe7Z;c5O6mTjB0UIa*(tk^ZZ!S5bohM&L0kPmyCO+Kpr5QR z$6zp$sn!u@T})GEUrl8SRMdu>$L;B9CsC8TnH+9(#_&%b#+nd<(V)a9Y!sTA5ln$V zfJQ26y2F?xMIVdReH@vnWmy8Rb*Hj07O8ZRH!~Ky7k0RI|J_$*WrHqGPw?`THV|xc zZRV}kSOBk?kL_K3mcGAPzFHve-v9Mc{NW(&y1lmd@v_;!0l=xwZ_d&7-Y$%2fbyqQ z12)T>ngi{hpM?M9ciYZ>b*;U=#9~!u=7}}X@YCw037Y_5=gXy2-$lTU0Vysk&3f~^ z;m>viPCoySK4an51p*5M76>d5SRk-KV1d8_fdv8!1pYSxv*omPf!~3(BlqA&9yscI L{4nF-scZiQ5_vVU literal 0 HcmV?d00001 diff --git a/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-radio-item-state-error-1-snap.png b/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-radio-item-state-error-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..02c5357e5abcb3be15017e46cc7dbb57ec6ac3ac GIT binary patch literal 5915 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 Oj(>adDEsi4~(1X literal 0 HcmV?d00001 diff --git a/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-radio-item-state-information-1-snap.png b/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-radio-item-state-information-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..23927aa5b895e76bb9add3787a5636a3e69e7a64 GIT binary patch literal 5945 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 F>ED|@SGNEF literal 0 HcmV?d00001 diff --git a/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-radio-item-state-warning-1-snap.png b/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-radio-item-state-warning-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..397de8eb21aabd9bd0d9837afd293ea65f3af61b GIT binary patch literal 5921 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 literal 0 HcmV?d00001 diff --git a/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-select-state-information-1-snap.png b/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-select-state-information-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..fa91f9174c6b9eae104a33577d231b647c71e02a GIT binary patch literal 8234 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 literal 0 HcmV?d00001 diff --git a/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-select-state-sucess-1-snap.png b/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-select-state-sucess-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..024aa1b69c2ac4a8fd748a6ebb5e4b91e75c7dea GIT binary patch literal 8243 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 BmEZsX literal 0 HcmV?d00001 diff --git a/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-select-state-warning-1-snap.png b/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-select-state-warning-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..18b2985f2b061d3035be0ca8486e997be4b15c85 GIT binary patch literal 8248 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 Nectz*hI2pM`xn*ThUEYN literal 0 HcmV?d00001 diff --git a/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-textarea-state-error-1-snap.png b/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-textarea-state-error-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..272ccd7e796004a2fd28e691b4d738d97fb67db6 GIT binary patch literal 5155 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 A5&!@I literal 0 HcmV?d00001 diff --git a/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-textarea-state-success-1-snap.png b/visual-regression-testing/__image_snapshots__/storyshots-test-js-storyshots-components-form-textarea-state-success-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..672dd48d6f17fe87abd88bf8163a1cc0c8cc0646 GIT binary patch literal 5778 zcmeHKYfzJC7XFmh8>?(fD{>L+7^I4Vg@u3tqM~93g<2}81R^3t3m72W6B4adWw}HX z1w(FiQL&;>i4yKnK|&xT3W{V2iRBhBKuCauklTLj&g{<`|VZ{C?RXU;t5 z`ObOHdGo&w30l9-ZXEys>k)?!d6mD`(4m}pi1a40RS71 zAP(&NK8rpzc>XCfE@oQgD$dKxJN)@|=i~G>op%MjcRp`hSJZ#%`i{pI;dvL&9J}in zTKV&d(n`nOtG>RrWyiJDU%SG-wLRrZdAfgZ+>x|>FClH@-Dh{iD9^I2UZ)+SY;Fjz z+d-EphjB6yTM1*SQChv9^1*N50ik?RXi`Rl_l((U#YzBpyXKDo@bjUIpv7zDCjju^ zvn>Fyw+L7P06%!2c%P?t(x-3mHOJN`yfGHdgI=P*FzBF%ELXW*oZ1t7hz|WB3VxtY ze_ko%uXdnJ3{0}4ZPoxlQ!+9@yGUQKLdR)XL~L8O!mzF{s$km22>_m7yN_Xu*o%EP z(R%^lqTT<(@d+63+pYg{O`JhW=6aOoEl`OMj087jMH?SR$e&vf+y^k6DXgmE;l`Z{ z>23ziK`K$?FFs2-T4T%@7$wOF$?b)<>>T04ehpDgRYWS^|He<#hM}|FG_O!+P{X4En(V8u9l+qgI-6AP&idxz{ zcdvfjjCXM|b@0Nkw*97rdqkLqtyu4jC2o-=&4f(uPGsG9J<=Nh4B;o0E?Y{Y2yyWa z*$1R4<6j}jnJvSwC8>%eag2V74B<#}BClMzQloH#nR#9jNGc;!@=au-iVWeuJXnz0 zx}MEWe)F>F!qv?+T|(GnCakAFDpS-|1QiMkpu`l76iZ5MQngp|2&t__RDA&|zH@{x zMzfmP6F0Y4Dl@0j-=q2DSKy(+^WcXq>be-Q5CNJ|>0TW|~hR)20p!E5nXqZ#(Eve@|SO zTFf=!L-akrh_R$W3WVpVeM2X-pVSEuEWz;z6m6?%a^_uyhZVeOw|mZ;He_yhI)dCA z&m==mntrnyoxp?{uQY2Up1A3jNYlvRRdgvMvy;%P>88o%+7oNV@d$D`X>o6h_HviH zI8erv!DqS=c;tI;{(YCE#G)62N)8N~Rm~K{@BpmjqNXm$dZ;tCU2W{kU zscf}L+YEK`TYTUZ&7KW`jpcvo>Y=|+!^(2C=yRi;ehaSy6X-CsQ1aP7(h>0!vRp!$ z^gt_LAGBccOx3~*XX>BMQ}DV;Y#-r8FK+|MPkoMwSMv=*WunSH?2uh#-MM3jNRAAc zl1>@Ga6LIP0@~Y-b4=5p%YpE}@hld&nAOC1lL4nTl^63@$K!Vgm+a)<+)kOD!VtEC znw2EGL7>*`mju zPY|zTMf#lSGN^lSsauqy`Teui0Fd?72~c1P9J9~PTSyTe=Rxh`O*f8~C9oD7dh^y= ztDjqNPx+e`hF)b)s(2I#4PzQQa(j0GN178^J2>`CRHr-~8yU(dd-380exxqe6O7PT zR|O3jfMV#i7)RXXlP0++;JTA({Go%P7A_d0aea6KACINa2DvarH*wITyST&;7$n@s z=QdH#aZ&%p<|x?iPjiXT*!Ds`*lM(h=8v~Tx4B?r(upsA@|_4HQsH>TJ_MP{4iQOE zhSVYj&U>kkYrI&c5kmk1C`)=I6F|?88u*1#YHBWTp`==ew{3&ZPvntYLiUGhXz3XT->} zYVjVH-e991FArthT*9MM_09%l51~^BrZ_H$Lq(1Zkd4B@RY<8o}gG02im*suzNmiLsrLwSJi*T4@+snDg=bkqKx@l3&bzu*zHfRBhJc zbLA;ipOm4GS5=rsV=*%0)vZdD7)CH00%cVzp}B-V+LU4i4(R<)qC@w3Gd!Ftawp!> z)vw$~4H$y!<;$1Bdi-v~o^v??X@Wus-wmd`Y1Gn6wifT%7RxK{eiO9$hA)5^b^XuIxhMW}Ee1_lWXbY*uZpeUh} zwF#gqd!&C1*LA3zL?2$CX5v$KuWr&E6%)-y^@qz=W05vdbfZ;PFgQ*r`SuukC~F}i zK{Bu!?Lhs~HGG8P!l3_TX%m0>(xt>_?<%p=Vsur&6Q2>1w4_()ypwAfxdP$eMNmA9&n;2~Pk5v0utZih1E)Fl_ZI!4{L0n$ z8fitvk%0539E}1m^QgVmVEap%q*uYe<_@p4l9P+NW_kvA+`zhOhXxF#+kNC?qlXr*dr}^Z@4V$^yxP9YmyV3 z(56_uYE|E+O$s}EXhxz(#-tr@TPU-sUBoN2oqaUCm48iiu5fc>Onb4BbbFJ3&fGQl zwz~Tro6ax&c)W(*^re;atE^%`kbo8|QU$ya5MoFxB9IsmV+cY*5Q|t9 z(7F``qGD9cgd`$_$R&vgnpVXKW(Xw22*_>iwy$t|zmOIP?fR;}d0l=!A zIY{5ec^?75xny1PHpS0cc&aopx^H;NPg6*bSMd5~DU`D~C~n$?Zg7#Jj1ylxfo?MQ z7gTtRLccix06$=T)cD@=OIqe0vZH4{R57x91J^s~WE5_E*pDJ* z8fq<#4Gmcwis{IkdtoBuJt1PR2_w^0a&=_CUp+nJeb1sLt-c(?) zSS$v!KBm6Xhop?0wwSn112R5U+*eaSJb;Crr4q4n*?QiRqJUWM#6A3JvxX0X*>5NqU|sAEm{sPpEVV;%ol!uWS`gb$}BEq0KXQI(XRV zpvInO{z<(pD}2-UpjH$R@HLM-4v8DrgkRg6FS5Lb-&91T+OGq^yRX``4x19j?_|zQ z4HBQOF6ub#bdfV_?_1VRsLlJH!j`9_DDe_5=wm;S-6CHHC2fYg4PN*AUD1&t5jUfR z>a;|<0jpti#M1=?B9WugKdSbi9Y2Mx9sf`gsQYymX{-2sd+dV;B7c8>kj<_WPyE7% zq_QAkIJ*BmJTg+*ReUHm-{Zt_onY_=x)9xW#=h6hH>HwQ7;rm~`m~r}gdyY9iy%WT z(aq;r5_;^hjM%CapfXMm(W8#CYJ=Nd$+(vxYcqAEv31eCjZ`Z>rmzrB2mAO1#|HAw_{^tGp!Nx0U%A}v5K{` zu=4V1Gnl8l06%to2Ic1IP{U)*@R(v{l%{?hghyv{hnG22p05q|+`>X8!xX7Ic3BxC z#d+nH2P+D8x-)v+v}=Pzl5oG_76OUHeY*Q<2SsrRXC1AMprlhU80b>%=P2vqWsw-D zOcobM?e^o(Qo=so=Y8lglm z+Mu8DpOOpZ7n4Jv%J`!l8@&_d8yZIT(=8M1>L6N_nl2MjM*Te5KQy1kV06bxsizF3 z@N+#)xMAjf9tK0vMCkcj^<~it{8ph-sU$R?bv9aj%l7-KX)k<;jzCT^i#h(+O7@kt ziYKPlM8~CHALFk>UL5+KMX}oMOQU#|cVBo^UhTN*KXK^{2ZVp@!waW|F;vX~1&$Fc z5IFNRwgHK7B-K7`=FrVuiJbVC0hyMoH`j)j?JWwh45bfNi>inUE+>21f{|oTgCL=E z><36Lk8ExAvI$1egh;wQD;iqsWjiRSt?ej#v4OuhJWw#8rt8y-)NhnCo$U#(9k0uS zwNmO^jN(uhPCdpdCGan2LF4_dB&r>$m?zq`iQ7OQ{8>uZpkyx&=LR?RzaX~XQACo- z8RgV+bRL^rV2_u}Y7<&ZE{GaHvhW#p9K9q?VZ)1h%kJD$dSCQu(d42~T z8oFPaBED-CZZ$~slCxsvW#@(wAzP+V(cX+efHF6;(v@~ZC2 zTKBkxOKTPFcV7^mzYoP=P=_bSU>+D&5GJTX>ZGxi>^`)&q(BrH~2Qsi#p?y$1Ii$Tz(WJ`H?X7d80utHK1 zi;aZ^d~|K0U*=Avr06Qyq>YGqO0oK92dXITlM3mcukM8 zFyJu3*)y;*F3T2b9DSp~cm^1zDP3g|P=7S7N<72YC~e})G2Wcio8qn0h$6}P@!qIM zoJxd91BChBha|6!a2S)xgu1&A(X9hBUE(BD1)=3!4`slriN=)5PSEUdo$(hwT{NIh z)4FIRRhF(qqWSY+ke#er*m46e5nD{d)d}m-TwNWCNO=ADG*)dBr|arrjRZeoMYarr zF6hoO(?5Q1=P>LuAL3nBY<{rRD<-yxdno3NlPhoSO&U1hb&TJ$`mA|!TvFbk7pr9- zkJPH7B<7mhpzhTM#vmf^_?sC%4&(bX^bHaG7lGzH|G{npaoS>pd@_!^pBURtG3CoL z*%h-RcQM)=HXVQWxPItKkx2dq!5~?_wSV2gSxvPg2YLRXx&DLt`LjIxFAm*9jBt!K zEyp9Gj)zHf-Sg53Q6kp~UGcP{SxvX;-H!$^VQ47sI-(fIp367U4moe>Y4nhyC`c4J z4LBmX=7Dsr3i*FC>|g83{~@z;0OlB&V_=SfIR@q!m}6j$fjI`|82E#M8K*DL9r