{"id":29417,"date":"2018-06-02T22:39:05","date_gmt":"2018-06-02T19:39:05","guid":{"rendered":"http:\/\/kamil-abzalov.com\/tutorials\/create-php-mvc-app-add-user-and-send-email-via-php\/"},"modified":"2020-04-11T11:47:21","modified_gmt":"2020-04-11T08:47:21","slug":"create-php-mvc-app-add-user-and-send-email-via-php","status":"publish","type":"post","link":"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-add-user-and-send-email-via-php\/","title":{"rendered":"Create php MVC app. Add user and send email via php"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;3.22&#8243;][et_pb_fullwidth_header title=&#8221;Create php MVC app. Add user and send email via php&#8221; _builder_version=&#8221;3.16&#8243; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221;][\/et_pb_fullwidth_header][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;3.22&#8243;][et_pb_row admin_label=&#8221;row&#8221; _builder_version=&#8221;3.25&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; custom_padding=&#8221;0px|||&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_dcsbcm_divi_breadcrumbs_module homebreadcrumbtext=&#8221;Home&#8221; hide_currentbreadcrumb=&#8221;off&#8221; _builder_version=&#8221;4.4.3&#8243; custom_padding=&#8221;0px|||&#8221; hover_enabled=&#8221;0&#8243; fontsbreadcrumbs_font_size_tablet=&#8221;51&#8243; fontsbreadcrumbs_line_height_tablet=&#8221;2&#8243; fontsseperator_font_size_tablet=&#8221;51&#8243; fontsseperator_line_height_tablet=&#8221;2&#8243; fontsbreadcrumblinks_font_size_tablet=&#8221;51&#8243; fontsbreadcrumblinks_line_height_tablet=&#8221;2&#8243;][\/et_pb_dcsbcm_divi_breadcrumbs_module][et_pb_text _builder_version=&#8221;3.27.4&#8243; border_color_all=&#8221;#ffffff&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221;]Today we will make add new use feature in our application. Also we consider capability sending mails via php<br \/>\n[\/et_pb_text][et_pb_video src=&#8221;https:\/\/www.youtube.com\/watch?v=_l6rOm6oj7Y&#8221; _builder_version=&#8221;3.5.1&#8243;][\/et_pb_video][et_pb_text _builder_version=&#8221;3.27.4&#8243; border_color_all=&#8221;#ffffff&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221;]To send email via php you need to use mail() function. It is important to notice that actually SMTP sends mails. That&#8217;s why you can&#8217;t send mails in your local computer. If you send html mail, you must pass headers parameter to mail() function besides email receiver, subject and mail text. Headers &#8220;help&#8221; mail apps and services display html email correctly, not html source code. You can make html mails nice with inline css.<br \/>\n[\/et_pb_text][et_pb_dmb_code_snippet title=&#8221;Code lesson (IndexModel)&#8221; code=&#8221;PD9waHAKCmNsYXNzIEluZGV4TW9kZWwgZXh0ZW5kcyBNb2RlbCB7CgoJCglwdWJsaWMgZnVuY3Rpb24gY2hlY2tVc2VyKCkgewoKCQkkbG9naW4gPSAkX1BPU1RbJ2xvZ2luJ107CgkJJHBhc3N3b3JkID0gbWQ1KCRfUE9TVFsncGFzc3dvcmQnXSk7CgoJCSRzcWwgPSAiU0VMRUNUICogRlJPTSB1c2VycyBXSEVSRSBsb2dpbiA9IDpsb2dpbiBBTkQgcGFzc3dvcmQgPSA6cGFzc3dvcmQiOwoKCQkkc3RtdCA9ICR0aGlzLT5kYi0+cHJlcGFyZSgkc3FsKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6bG9naW4iLCAkbG9naW4sIFBETzo6UEFSQU1fU1RSKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6cGFzc3dvcmQiLCAkcGFzc3dvcmQsIFBETzo6UEFSQU1fU1RSKTsKCQkkc3RtdC0+ZXhlY3V0ZSgpOwoKCgkJJHJlcyA9ICRzdG10LT5mZXRjaChQRE86OkZFVENIX0FTU09DKTsKCgoJCWlmKCFlbXB0eSgkcmVzKSkgewoJCQkkX1NFU1NJT05bJ3VzZXInXSA9ICRfUE9TVFsnbG9naW4nXTsKCQkJJF9TRVNTSU9OWyd1c2VySWQnXSA9ICRyZXNbJ2lkJ107CgkJCSRfU0VTU0lPTlsncm9sZV9pZCddID0gJHJlc1sncm9sZV9pZCddOwoJCQloZWFkZXIoIkxvY2F0aW9uOiAvY2FiaW5ldCIpOwoJCX0gZWxzZSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJfQoKfQ==&#8221; admin_label=&#8221;\u041a\u043e\u0434 \u0443\u0440\u043e\u043a\u0430&#8221; style=&#8221;docco&#8221; linenums=&#8221;on&#8221; usetabwidth=&#8221;on&#8221; tabwidth=&#8221;4&#8243; _builder_version=&#8221;3.5.1&#8243; body_font_size_tablet=&#8221;51&#8243; body_line_height_tablet=&#8221;2&#8243; header_font_size_tablet=&#8221;51&#8243; header_line_height_tablet=&#8221;2&#8243;]PD9waHAKCmNsYXNzIEluZGV4TW9kZWwgZXh0ZW5kcyBNb2RlbCB7CgoJCglwdWJsaWMgZnVuY3Rpb24gY2hlY2tVc2VyKCkgewoKCQkkbG9naW4gPSAkX1BPU1RbJ2xvZ2luJ107CgkJJHBhc3N3b3JkID0gbWQ1KCRfUE9TVFsncGFzc3dvcmQnXSk7CgoJCSRzcWwgPSAiU0VMRUNUICogRlJPTSB1c2VycyBXSEVSRSBsb2dpbiA9IDpsb2dpbiBBTkQgcGFzc3dvcmQgPSA6cGFzc3dvcmQiOwoKCQkkc3RtdCA9ICR0aGlzLT5kYi0+cHJlcGFyZSgkc3FsKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6bG9naW4iLCAkbG9naW4sIFBETzo6UEFSQU1fU1RSKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6cGFzc3dvcmQiLCAkcGFzc3dvcmQsIFBETzo6UEFSQU1fU1RSKTsKCQkkc3RtdC0+ZXhlY3V0ZSgpOwoKCgkJJHJlcyA9ICRzdG10LT5mZXRjaChQRE86OkZFVENIX0FTU09DKTsKCgoJCWlmKCFlbXB0eSgkcmVzKSkgewoJCQkkX1NFU1NJT05bJ3VzZXInXSA9ICRfUE9TVFsnbG9naW4nXTsKCQkJJF9TRVNTSU9OWyd1c2VySWQnXSA9ICRyZXNbJ2lkJ107CgkJCSRfU0VTU0lPTlsncm9sZV9pZCddID0gJHJlc1sncm9sZV9pZCddOwoJCQloZWFkZXIoIkxvY2F0aW9uOiAvY2FiaW5ldCIpOwoJCX0gZWxzZSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJfQoKfQ==[\/et_pb_dmb_code_snippet][et_pb_dmb_code_snippet title=&#8221;Code lesson (UsersController)&#8221; code=&#8221;PD9waHAKCgpjbGFzcyBVc2Vyc0NvbnRyb2xsZXIgZXh0ZW5kcyBDb250cm9sbGVyIHsKCglwcml2YXRlICRwYWdlVHBsID0gIi92aWV3cy91c2Vycy50cGwucGhwIjsKCXByaXZhdGUgJG1haWxUcGwgPSAiL3ZpZXdzL21haWwvbmV3VXNlci50cGwuaHRtbCI7CgoKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsKCQkkdGhpcy0+bW9kZWwgPSBuZXcgVXNlcnNNb2RlbCgpOwoJCSR0aGlzLT52aWV3ID0gbmV3IFZpZXcoKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gc2VuZFJlZ2lzdGVyRW1haWwoJGZ1bGxOYW1lLCAkbG9naW4sICRwYXNzd29yZCwgJGVtYWlsKSB7CgoJCSRoZWFkZXJzID0gJ01JTUUtVmVyc2lvbjogMS4wJy4gIlxyXG4iOwoJCSRoZWFkZXJzIC49ICdDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCcuICJcclxuIjsKCgkJJGVtYWlsVGV4dCA9IGZpbGVfZ2V0X2NvbnRlbnRzKFJPT1QuICR0aGlzLT5tYWlsVHBsKTsKCQkkZW1haWxUZXh0ID0gc3RyX3JlcGxhY2UoJyVmdWxsTmFtZSUnLCAkZnVsbE5hbWUsICRlbWFpbFRleHQpOwoJCSRlbWFpbFRleHQgPSBzdHJfcmVwbGFjZSgnJWxvZ2luJScsICRsb2dpbiwgJGVtYWlsVGV4dCk7CgkJJGVtYWlsVGV4dCA9IHN0cl9yZXBsYWNlKCclcGFzc3dvcmQlJywgJHBhc3N3b3JkLCAkZW1haWxUZXh0KTsKCQkkZW1haWxUZXh0ID0gc3RyX3JlcGxhY2UoJyVlbWFpbCUnLCAkZW1haWwsICRlbWFpbFRleHQpOwoKCQltYWlsKCRlbWFpbCwgItCU0LvRjyDQstCw0YEg0YHQvtC30LTQsNC90LAg0YPRh9C10YLQvdCw0Y8g0LfQsNC\/0LjRgdGMIiwgJGVtYWlsVGV4dCwgJGhlYWRlcnMpOwoKCX0KCglwdWJsaWMgZnVuY3Rpb24gaW5kZXgoKSB7CgoJCWlmKCEkX1NFU1NJT05bJ3VzZXInXSkgewoJCQloZWFkZXIoIkxvY2F0aW9uOiAvIik7CgkJfQoJCSR0aGlzLT5wYWdlRGF0YVsncGVybWlzc2lvbiddID0gJF9TRVNTSU9OWydyb2xlX2lkJ107CgkJJHRoaXMtPnBhZ2VEYXRhWyd0aXRsZSddID0gItCf0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCI7CgkJJHRoaXMtPnBhZ2VEYXRhWyd1c2Vyc0xpc3QnXSA9ICR0aGlzLT5tb2RlbC0+Z2V0VXNlcnMoKTsKCQkkdGhpcy0+dmlldy0+cmVuZGVyKCR0aGlzLT5wYWdlVHBsLCAkdGhpcy0+cGFnZURhdGEpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRVc2VyQnlJZCgpIHsKCgkJaWYoISRfU0VTU0lPTlsndXNlciddKSB7CgkJCWhlYWRlcigiTG9jYXRpb246IC8iKTsKCQl9CgoJCWlmKGlzc2V0KCRfUE9TVFsnaWQnXSkgJiYgJF9QT1NUWydpZCddICE9ICcnKSB7CgkJCSR1c2VySWQgPSAkX1BPU1RbJ2lkJ107CgkJCSR1c2VySW5mbyA9IGpzb25fZW5jb2RlKCR0aGlzLT5tb2RlbC0+Z2V0VXNlckJ5SWQoJHVzZXJJZCkpOwoJCQllY2hvICR1c2VySW5mbzsKCQl9IGVsc2UgewoJCQllY2hvIGpzb25fZW5jb2RlKGFycmF5KCJzdWNjZXNzIiA9PiBmYWxzZSwgInRleHQiID0+ICLQvtGI0LjQsdC60LAiKSk7CgkJfQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRVc2Vyc1JvbGVzKCkgewoKCQlpZighJF9TRVNTSU9OWyd1c2VyJ10pIHsKCQkJaGVhZGVyKCJMb2NhdGlvbjogLyIpOwoJCX0KCgkJJHJvbGVzID0gJHRoaXMtPm1vZGVsLT5nZXRSb2xlcygpOwoJCWlmKGVtcHR5KCRyb2xlcykpIHsKCQkJZWNobyBqc29uX2VuY29kZShhcnJheSgic3VjY2VzcyIgPT4gZmFsc2UsICJ0ZXh0IiA9PiAi0L7RiNC40LHQutCwIikpOwoJCX0gZWxzZSB7CgkJCWVjaG8ganNvbl9lbmNvZGUoJHJvbGVzKTsKCQl9CgoJfQoKCXB1YmxpYyBmdW5jdGlvbiB1cGRhdGVVc2VyRGF0YSgpIHsKCQlpZighJF9TRVNTSU9OWyd1c2VyJ10pIHsKCQkJaGVhZGVyKCJMb2NhdGlvbjogLyIpOwoJCX0KCgkJaWYoIWVtcHR5KCRfUE9TVCkgJiYgIWVtcHR5KCRfUE9TVFsnaWQnXSkgJiYgIWVtcHR5KCRfUE9TVFsnZnVsbE5hbWUnXSkgJiYgIWVtcHR5KCRfUE9TVFsnbG9naW4nXSkgJiYgIWVtcHR5KCRfUE9TVFsnZW1haWwnXSkgJiYgIWVtcHR5KCRfUE9TVFsncm9sZSddKSkgewoJCQkkdXNlcklkID0gJF9QT1NUWydpZCddOwoJCQkkdXNlckZ1bGxOYW1lID0gJF9QT1NUWydmdWxsTmFtZSddOwoJCQkkdXNlckxvZ2luID0gJF9QT1NUWydsb2dpbiddOwoJCQkkdXNlckVtYWlsID0gJF9QT1NUWydlbWFpbCddOwoJCQkkdXNlclJvbGUgPSAkX1BPU1RbJ3JvbGUnXTsKCgkJCWlmKCR0aGlzLT5tb2RlbC0+dXBkYXRlVXNlckRhdGEoJHVzZXJJZCwgJHVzZXJGdWxsTmFtZSwgJHVzZXJMb2dpbiwgJHVzZXJFbWFpbCwgJHVzZXJSb2xlKSkgewoJCQkJZWNobyBqc29uX2VuY29kZShhcnJheSgic3VjY2VzcyIgPT4gdHJ1ZSwgInRleHQiID0+ICLQlNCw0L3QvdGL0LUg0L\/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC+0LHQvdC+0LLQu9C10L3RiyIpKTsJCgkJCX0gZWxzZXsKCQkJCWVjaG8ganNvbl9lbmNvZGUoYXJyYXkoInN1Y2Nlc3MiID0+IGZhbHNlLCAidGV4dCIgPT4gItCe0YjQuNCx0LrQsCDRgdC+0YXRgNCw0L3QtdC90LjRjyIpKTsKCQkJfQoKCQl9IGVsc2UgewoJCQllY2hvIGpzb25fZW5jb2RlKGFycmF5KCJzdWNjZXNzIiA9PiBmYWxzZSwgInRleHQiID0+ICLQl9Cw0L\/QvtC70L3QuNGC0LUg0LLRgdC1INC\/0L7Qu9GPIikpOwoJCX0JCQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBkZWxldGVVc2VyKCkgewoJCWlmKCEkX1NFU1NJT05bJ3VzZXInXSkgewoJCQloZWFkZXIoIkxvY2F0aW9uOiAvIik7CgkJfQoKCQlpZighZW1wdHkoJF9QT1NUKSAmJiAhZW1wdHkoJF9QT1NUWydpZCddKSkgewoJCQkkdXNlcklkID0gJF9QT1NUWydpZCddOwoKCQkJaWYoJHRoaXMtPm1vZGVsLT5kZWxldGVVc2VyKCR1c2VySWQpKSB7CgkJCQllY2hvIGpzb25fZW5jb2RlKGFycmF5KCJzdWNjZXNzIiA9PiB0cnVlLCAidGV4dCIgPT4gItCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDRg9C00LDQu9C10L0iKSk7CQoJCQl9IGVsc2V7CgkJCQllY2hvIGpzb25fZW5jb2RlKGFycmF5KCJzdWNjZXNzIiA9PiBmYWxzZSwgInRleHQiID0+ICLQntGI0LjQsdC60LAg0YPQtNCw0LvQtdC90LjRjyIpKTsKCQkJfQoKCQl9IGVsc2UgewoJCQllY2hvIGpzb25fZW5jb2RlKGFycmF5KCJzdWNjZXNzIiA9PiBmYWxzZSwgInRleHQiID0+ICLQn9GA0L7QuNC30L7RiNC70LAg0L7RiNC40LHQutCwINC\/0YDQuCDRg9C00LDQu9C10L3QuNC4IikpOwoJCX0JCQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBhZGROZXdVc2VyKCkgewoJCWlmKCEkX1NFU1NJT05bJ3VzZXInXSkgewoJCQloZWFkZXIoIkxvY2F0aW9uOiAvIik7CgkJfQoKCQlpZighZW1wdHkoJF9QT1NUKSAmJiAhZW1wdHkoJF9QT1NUWydmdWxsTmFtZSddKSAmJiAhZW1wdHkoJF9QT1NUWydsb2dpbiddKSAmJiAhZW1wdHkoJF9QT1NUWydlbWFpbCddKSAmJiAhZW1wdHkoJF9QT1NUWydwYXNzd29yZCddKSAmJiAhZW1wdHkoJF9QT1NUWydyb2xlJ10pKSB7CgkJCSRuZXdVc2VyID0gJF9QT1NUWydmdWxsTmFtZSddOwoJCQkkbmV3TG9naW4gPSAkX1BPU1RbJ2xvZ2luJ107CgkJCSRuZXdFbWFpbCA9ICRfUE9TVFsnZW1haWwnXTsKCQkJJG5ld1Bhc3N3b3JkID0gbWQ1KCRfUE9TVFsncGFzc3dvcmQnXSk7CgkJCSRwYXNzd29yZEZvckVtYWlsID0gJF9QT1NUWydwYXNzd29yZCddOwoJCQkkbmV3Um9sZSA9ICRfUE9TVFsncm9sZSddOwoKCQkJaWYoJHRoaXMtPm1vZGVsLT5hZGROZXdVc2VyKCRuZXdVc2VyLCAkbmV3TG9naW4sICRuZXdFbWFpbCwgJG5ld1Bhc3N3b3JkLCAkbmV3Um9sZSkpIHsKCQkJCWVjaG8ganNvbl9lbmNvZGUoYXJyYXkoInN1Y2Nlc3MiID0+IHRydWUsICJ0ZXh0IiA9PiAi0J\/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC00L7QsdCw0LLQu9C10L0iKSk7CgkJCQkkdGhpcy0+c2VuZFJlZ2lzdGVyRW1haWwoJG5ld1VzZXIsICRuZXdMb2dpbiwgJHBhc3N3b3JkRm9yRW1haWwsICRuZXdFbWFpbCk7CgkJCX0gZWxzZSB7CgkJCQllY2hvIGpzb25fZW5jb2RlKGFycmF5KCJzdWNjZXNzIiA9PiBmYWxzZSwgInRleHQiID0+ICLQntGI0LjQsdC60LAg0LTQvtCx0LDQstC70LXQvdC40Y8iKSk7CgkJCX0KCgkJfSBlbHNlIHsKCQkJZWNobyBqc29uX2VuY29kZShhcnJheSgic3VjY2VzcyIgPT4gZmFsc2UsICJ0ZXh0IiA9PiAi0J3QtdC60L7RgNGA0LXQutGC0L3Ri9C1INC00LDQvdC90YvQtSIpKTsKCQl9Cgl9CgoKfQ==&#8221; admin_label=&#8221;\u041a\u043e\u0434 \u0443\u0440\u043e\u043a\u0430&#8221; style=&#8221;docco&#8221; linenums=&#8221;on&#8221; usetabwidth=&#8221;on&#8221; tabwidth=&#8221;4&#8243; _builder_version=&#8221;3.5.1&#8243; body_font_size_tablet=&#8221;51&#8243; body_line_height_tablet=&#8221;2&#8243; header_font_size_tablet=&#8221;51&#8243; header_line_height_tablet=&#8221;2&#8243;]PD9waHAKCgpjbGFzcyBVc2Vyc0NvbnRyb2xsZXIgZXh0ZW5kcyBDb250cm9sbGVyIHsKCglwcml2YXRlICRwYWdlVHBsID0gIi92aWV3cy91c2Vycy50cGwucGhwIjsKCXByaXZhdGUgJG1haWxUcGwgPSAiL3ZpZXdzL21haWwvbmV3VXNlci50cGwuaHRtbCI7CgoKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsKCQkkdGhpcy0+bW9kZWwgPSBuZXcgVXNlcnNNb2RlbCgpOwoJCSR0aGlzLT52aWV3ID0gbmV3IFZpZXcoKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gc2VuZFJlZ2lzdGVyRW1haWwoJGZ1bGxOYW1lLCAkbG9naW4sICRwYXNzd29yZCwgJGVtYWlsKSB7CgoJCSRoZWFkZXJzID0gJ01JTUUtVmVyc2lvbjogMS4wJy4gIlxyXG4iOwoJCSRoZWFkZXJzIC49ICdDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCcuICJcclxuIjsKCgkJJGVtYWlsVGV4dCA9IGZpbGVfZ2V0X2NvbnRlbnRzKFJPT1QuICR0aGlzLT5tYWlsVHBsKTsKCQkkZW1haWxUZXh0ID0gc3RyX3JlcGxhY2UoJyVmdWxsTmFtZSUnLCAkZnVsbE5hbWUsICRlbWFpbFRleHQpOwoJCSRlbWFpbFRleHQgPSBzdHJfcmVwbGFjZSgnJWxvZ2luJScsICRsb2dpbiwgJGVtYWlsVGV4dCk7CgkJJGVtYWlsVGV4dCA9IHN0cl9yZXBsYWNlKCclcGFzc3dvcmQlJywgJHBhc3N3b3JkLCAkZW1haWxUZXh0KTsKCQkkZW1haWxUZXh0ID0gc3RyX3JlcGxhY2UoJyVlbWFpbCUnLCAkZW1haWwsICRlbWFpbFRleHQpOwoKCQltYWlsKCRlbWFpbCwgItCU0LvRjyDQstCw0YEg0YHQvtC30LTQsNC90LAg0YPRh9C10YLQvdCw0Y8g0LfQsNC\/0LjRgdGMIiwgJGVtYWlsVGV4dCwgJGhlYWRlcnMpOwoKCX0KCglwdWJsaWMgZnVuY3Rpb24gaW5kZXgoKSB7CgoJCWlmKCEkX1NFU1NJT05bJ3VzZXInXSkgewoJCQloZWFkZXIoIkxvY2F0aW9uOiAvIik7CgkJfQoJCSR0aGlzLT5wYWdlRGF0YVsncGVybWlzc2lvbiddID0gJF9TRVNTSU9OWydyb2xlX2lkJ107CgkJJHRoaXMtPnBhZ2VEYXRhWyd0aXRsZSddID0gItCf0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCI7CgkJJHRoaXMtPnBhZ2VEYXRhWyd1c2Vyc0xpc3QnXSA9ICR0aGlzLT5tb2RlbC0+Z2V0VXNlcnMoKTsKCQkkdGhpcy0+dmlldy0+cmVuZGVyKCR0aGlzLT5wYWdlVHBsLCAkdGhpcy0+cGFnZURhdGEpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRVc2VyQnlJZCgpIHsKCgkJaWYoISRfU0VTU0lPTlsndXNlciddKSB7CgkJCWhlYWRlcigiTG9jYXRpb246IC8iKTsKCQl9CgoJCWlmKGlzc2V0KCRfUE9TVFsnaWQnXSkgJiYgJF9QT1NUWydpZCddICE9ICcnKSB7CgkJCSR1c2VySWQgPSAkX1BPU1RbJ2lkJ107CgkJCSR1c2VySW5mbyA9IGpzb25fZW5jb2RlKCR0aGlzLT5tb2RlbC0+Z2V0VXNlckJ5SWQoJHVzZXJJZCkpOwoJCQllY2hvICR1c2VySW5mbzsKCQl9IGVsc2UgewoJCQllY2hvIGpzb25fZW5jb2RlKGFycmF5KCJzdWNjZXNzIiA9PiBmYWxzZSwgInRleHQiID0+ICLQvtGI0LjQsdC60LAiKSk7CgkJfQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRVc2Vyc1JvbGVzKCkgewoKCQlpZighJF9TRVNTSU9OWyd1c2VyJ10pIHsKCQkJaGVhZGVyKCJMb2NhdGlvbjogLyIpOwoJCX0KCgkJJHJvbGVzID0gJHRoaXMtPm1vZGVsLT5nZXRSb2xlcygpOwoJCWlmKGVtcHR5KCRyb2xlcykpIHsKCQkJZWNobyBqc29uX2VuY29kZShhcnJheSgic3VjY2VzcyIgPT4gZmFsc2UsICJ0ZXh0IiA9PiAi0L7RiNC40LHQutCwIikpOwoJCX0gZWxzZSB7CgkJCWVjaG8ganNvbl9lbmNvZGUoJHJvbGVzKTsKCQl9CgoJfQoKCXB1YmxpYyBmdW5jdGlvbiB1cGRhdGVVc2VyRGF0YSgpIHsKCQlpZighJF9TRVNTSU9OWyd1c2VyJ10pIHsKCQkJaGVhZGVyKCJMb2NhdGlvbjogLyIpOwoJCX0KCgkJaWYoIWVtcHR5KCRfUE9TVCkgJiYgIWVtcHR5KCRfUE9TVFsnaWQnXSkgJiYgIWVtcHR5KCRfUE9TVFsnZnVsbE5hbWUnXSkgJiYgIWVtcHR5KCRfUE9TVFsnbG9naW4nXSkgJiYgIWVtcHR5KCRfUE9TVFsnZW1haWwnXSkgJiYgIWVtcHR5KCRfUE9TVFsncm9sZSddKSkgewoJCQkkdXNlcklkID0gJF9QT1NUWydpZCddOwoJCQkkdXNlckZ1bGxOYW1lID0gJF9QT1NUWydmdWxsTmFtZSddOwoJCQkkdXNlckxvZ2luID0gJF9QT1NUWydsb2dpbiddOwoJCQkkdXNlckVtYWlsID0gJF9QT1NUWydlbWFpbCddOwoJCQkkdXNlclJvbGUgPSAkX1BPU1RbJ3JvbGUnXTsKCgkJCWlmKCR0aGlzLT5tb2RlbC0+dXBkYXRlVXNlckRhdGEoJHVzZXJJZCwgJHVzZXJGdWxsTmFtZSwgJHVzZXJMb2dpbiwgJHVzZXJFbWFpbCwgJHVzZXJSb2xlKSkgewoJCQkJZWNobyBqc29uX2VuY29kZShhcnJheSgic3VjY2VzcyIgPT4gdHJ1ZSwgInRleHQiID0+ICLQlNCw0L3QvdGL0LUg0L\/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC+0LHQvdC+0LLQu9C10L3RiyIpKTsJCgkJCX0gZWxzZXsKCQkJCWVjaG8ganNvbl9lbmNvZGUoYXJyYXkoInN1Y2Nlc3MiID0+IGZhbHNlLCAidGV4dCIgPT4gItCe0YjQuNCx0LrQsCDRgdC+0YXRgNCw0L3QtdC90LjRjyIpKTsKCQkJfQoKCQl9IGVsc2UgewoJCQllY2hvIGpzb25fZW5jb2RlKGFycmF5KCJzdWNjZXNzIiA9PiBmYWxzZSwgInRleHQiID0+ICLQl9Cw0L\/QvtC70L3QuNGC0LUg0LLRgdC1INC\/0L7Qu9GPIikpOwoJCX0JCQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBkZWxldGVVc2VyKCkgewoJCWlmKCEkX1NFU1NJT05bJ3VzZXInXSkgewoJCQloZWFkZXIoIkxvY2F0aW9uOiAvIik7CgkJfQoKCQlpZighZW1wdHkoJF9QT1NUKSAmJiAhZW1wdHkoJF9QT1NUWydpZCddKSkgewoJCQkkdXNlcklkID0gJF9QT1NUWydpZCddOwoKCQkJaWYoJHRoaXMtPm1vZGVsLT5kZWxldGVVc2VyKCR1c2VySWQpKSB7CgkJCQllY2hvIGpzb25fZW5jb2RlKGFycmF5KCJzdWNjZXNzIiA9PiB0cnVlLCAidGV4dCIgPT4gItCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDRg9C00LDQu9C10L0iKSk7CQoJCQl9IGVsc2V7CgkJCQllY2hvIGpzb25fZW5jb2RlKGFycmF5KCJzdWNjZXNzIiA9PiBmYWxzZSwgInRleHQiID0+ICLQntGI0LjQsdC60LAg0YPQtNCw0LvQtdC90LjRjyIpKTsKCQkJfQoKCQl9IGVsc2UgewoJCQllY2hvIGpzb25fZW5jb2RlKGFycmF5KCJzdWNjZXNzIiA9PiBmYWxzZSwgInRleHQiID0+ICLQn9GA0L7QuNC30L7RiNC70LAg0L7RiNC40LHQutCwINC\/0YDQuCDRg9C00LDQu9C10L3QuNC4IikpOwoJCX0JCQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBhZGROZXdVc2VyKCkgewoJCWlmKCEkX1NFU1NJT05bJ3VzZXInXSkgewoJCQloZWFkZXIoIkxvY2F0aW9uOiAvIik7CgkJfQoKCQlpZighZW1wdHkoJF9QT1NUKSAmJiAhZW1wdHkoJF9QT1NUWydmdWxsTmFtZSddKSAmJiAhZW1wdHkoJF9QT1NUWydsb2dpbiddKSAmJiAhZW1wdHkoJF9QT1NUWydlbWFpbCddKSAmJiAhZW1wdHkoJF9QT1NUWydwYXNzd29yZCddKSAmJiAhZW1wdHkoJF9QT1NUWydyb2xlJ10pKSB7CgkJCSRuZXdVc2VyID0gJF9QT1NUWydmdWxsTmFtZSddOwoJCQkkbmV3TG9naW4gPSAkX1BPU1RbJ2xvZ2luJ107CgkJCSRuZXdFbWFpbCA9ICRfUE9TVFsnZW1haWwnXTsKCQkJJG5ld1Bhc3N3b3JkID0gbWQ1KCRfUE9TVFsncGFzc3dvcmQnXSk7CgkJCSRwYXNzd29yZEZvckVtYWlsID0gJF9QT1NUWydwYXNzd29yZCddOwoJCQkkbmV3Um9sZSA9ICRfUE9TVFsncm9sZSddOwoKCQkJaWYoJHRoaXMtPm1vZGVsLT5hZGROZXdVc2VyKCRuZXdVc2VyLCAkbmV3TG9naW4sICRuZXdFbWFpbCwgJG5ld1Bhc3N3b3JkLCAkbmV3Um9sZSkpIHsKCQkJCWVjaG8ganNvbl9lbmNvZGUoYXJyYXkoInN1Y2Nlc3MiID0+IHRydWUsICJ0ZXh0IiA9PiAi0J\/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC00L7QsdCw0LLQu9C10L0iKSk7CgkJCQkkdGhpcy0+c2VuZFJlZ2lzdGVyRW1haWwoJG5ld1VzZXIsICRuZXdMb2dpbiwgJHBhc3N3b3JkRm9yRW1haWwsICRuZXdFbWFpbCk7CgkJCX0gZWxzZSB7CgkJCQllY2hvIGpzb25fZW5jb2RlKGFycmF5KCJzdWNjZXNzIiA9PiBmYWxzZSwgInRleHQiID0+ICLQntGI0LjQsdC60LAg0LTQvtCx0LDQstC70LXQvdC40Y8iKSk7CgkJCX0KCgkJfSBlbHNlIHsKCQkJZWNobyBqc29uX2VuY29kZShhcnJheSgic3VjY2VzcyIgPT4gZmFsc2UsICJ0ZXh0IiA9PiAi0J3QtdC60L7RgNGA0LXQutGC0L3Ri9C1INC00LDQvdC90YvQtSIpKTsKCQl9Cgl9CgoKfQ==[\/et_pb_dmb_code_snippet][et_pb_dmb_code_snippet title=&#8221;Code lesson (UsersModel)&#8221; code=&#8221;PD9waHAKCmNsYXNzIFVzZXJzTW9kZWwgZXh0ZW5kcyBNb2RlbCB7CgoKCXB1YmxpYyBmdW5jdGlvbiBnZXRVc2VycygpIHsKCgkJJHNxbCA9ICJTRUxFQ1QgdXNlcnMuaWQsIHVzZXJzLmxvZ2luLCB1c2Vycy5mdWxsTmFtZSwgdXNlcnMuZW1haWwsIHJvbGUubmFtZSBhcyByb2xlIEZST00gdXNlcnMgCgkJCQlJTk5FUiBKT0lOIHJvbGUgT04gdXNlcnMucm9sZV9pZCA9IHJvbGUuaWQiOwoKCQkkc3RtdCA9ICR0aGlzLT5kYi0+cHJlcGFyZSgkc3FsKTsKCQkkc3RtdC0+ZXhlY3V0ZSgpOwoJCSRyZXN1bHQgPSBhcnJheSgpOwoJCXdoaWxlKCRyb3cgPSAkc3RtdC0+ZmV0Y2goUERPOjpGRVRDSF9BU1NPQykpIHsKCQkJJHJlc3VsdFskcm93WydpZCddXSA9ICRyb3c7CgkJfQoKCQlyZXR1cm4gJHJlc3VsdDsJCQoKCX0KCgoJcHVibGljIGZ1bmN0aW9uIGdldFVzZXJCeUlkKCRpZCkgewoJCSRzcWwgPSAiU0VMRUNUIHVzZXJzLmlkLCB1c2Vycy5lbWFpbCwgdXNlcnMuZnVsbE5hbWUsIHVzZXJzLmxvZ2luLCByb2xlLm5hbWUgYXMgcm9sZSBGUk9NIHVzZXJzCQoJCQkJSU5ORVIgSk9JTiByb2xlIE9OIHVzZXJzLnJvbGVfaWQgPSByb2xlLmlkCgkJCQlXSEVSRSB1c2Vycy5pZCA9IDppZCI7CgoKCQkkc3RtdCA9ICR0aGlzLT5kYi0+cHJlcGFyZSgkc3FsKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6aWQiLCAkaWQsIFBETzo6UEFSQU1fSU5UKTsKCQkkc3RtdC0+ZXhlY3V0ZSgpOwoJCSRyZXN1bHQgPSAkc3RtdC0+ZmV0Y2goUERPOjpGRVRDSF9BU1NPQyk7CgkJaWYoIWVtcHR5KCRyZXN1bHQpKSB7CgkJCXJldHVybiAkcmVzdWx0OwoJCX0gZWxzZSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CQkKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0Um9sZXMoKSB7CgkJJHJlc3VsdCA9IGFycmF5KCk7CgkJJHNxbCA9ICJTRUxFQ1QgKiBGUk9NIHJvbGUiOwoJCSRzdG10ID0gJHRoaXMtPmRiLT5wcmVwYXJlKCRzcWwpOwoJCSRzdG10LT5leGVjdXRlKCk7CgkJd2hpbGUoJHJvdyA9ICRzdG10LT5mZXRjaChQRE86OkZFVENIX0FTU09DKSkgewoJCQkkcmVzdWx0W10gPSAkcm93OwoJCX0KCQlyZXR1cm4gJHJlc3VsdDsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdXBkYXRlVXNlckRhdGEoJHVzZXJJZCwgJHVzZXJGdWxsTmFtZSwgJHVzZXJMb2dpbiwgJHVzZXJFbWFpbCwgJHVzZXJSb2xlKSB7CgkJJHNxbCA9ICJVUERBVEUgdXNlcnMKCQkJCVNFVCBsb2dpbiA9OmxvZ2luLCBmdWxsTmFtZSA9IDpmdWxsTmFtZSwgZW1haWwgPSA6ZW1haWwsIHJvbGVfaWQgPSA6cm9sZUlkCgkJCQlXSEVSRSBpZCA9OmlkCgkJCQkiOwoJCSRzdG10ID0gJHRoaXMtPmRiLT5wcmVwYXJlKCRzcWwpOwoJCSRzdG10LT5iaW5kVmFsdWUoIjpsb2dpbiIsICR1c2VyTG9naW4sIFBETzo6UEFSQU1fU1RSKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6ZnVsbE5hbWUiLCAkdXNlckZ1bGxOYW1lLCBQRE86OlBBUkFNX1NUUik7CgkJJHN0bXQtPmJpbmRWYWx1ZSgiOmVtYWlsIiwgJHVzZXJFbWFpbCwgUERPOjpQQVJBTV9TVFIpOwoJCSRzdG10LT5iaW5kVmFsdWUoIjpyb2xlSWQiLCAkdXNlclJvbGUsIFBETzo6UEFSQU1fSU5UKTsJCgkJJHN0bXQtPmJpbmRWYWx1ZSgiOmlkIiwgJHVzZXJJZCwgUERPOjpQQVJBTV9JTlQpOwoJCSRzdG10LT5leGVjdXRlKCk7CgkJcmV0dXJuIHRydWU7CQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBhZGROZXdVc2VyKCR1c2VyRnVsbE5hbWUsICR1c2VyTG9naW4sICR1c2VyRW1haWwsICR1c2VyUGFzc3dvcmQsICR1c2VyUm9sZSkgewoJCSRzcWwgPSAiSU5TRVJUIElOVE8gdXNlcnMgKGxvZ2luLCBmdWxsTmFtZSwgZW1haWwsIHBhc3N3b3JkLCByb2xlX2lkKQoJCQkJVkFMVUVTICg6bG9naW4sIDpmdWxsTmFtZSwgOmVtYWlsLCA6cGFzc3dvcmQsIDpyb2xlX2lkKQoJCQkJIjsKCQkkc3RtdCA9ICR0aGlzLT5kYi0+cHJlcGFyZSgkc3FsKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6bG9naW4iLCAkdXNlckxvZ2luLCBQRE86OlBBUkFNX1NUUik7CgkJJHN0bXQtPmJpbmRWYWx1ZSgiOmZ1bGxOYW1lIiwgJHVzZXJGdWxsTmFtZSwgUERPOjpQQVJBTV9TVFIpOwoJCSRzdG10LT5iaW5kVmFsdWUoIjplbWFpbCIsICR1c2VyRW1haWwsIFBETzo6UEFSQU1fU1RSKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6cm9sZV9pZCIsICR1c2VyUm9sZSwgUERPOjpQQVJBTV9JTlQpOwoJCSRzdG10LT5iaW5kVmFsdWUoIjpwYXNzd29yZCIsICR1c2VyUGFzc3dvcmQsIFBETzo6UEFSQU1fU1RSKTsJCgkJJHN0bXQtPmV4ZWN1dGUoKTsKCQlyZXR1cm4gdHJ1ZTsJCgl9CgoJcHVibGljIGZ1bmN0aW9uIGRlbGV0ZVVzZXIoJGlkKSB7CgkJJHNxbCA9ICJERUxFVEUgRlJPTSB1c2VycyBXSEVSRSBpZCA9OmlkIjsKCQkkc3RtdCA9ICR0aGlzLT5kYi0+cHJlcGFyZSgkc3FsKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6aWQiLCAkaWQsIFBETzo6UEFSQU1fSU5UKTsKCQkkc3RtdC0+ZXhlY3V0ZSgpOwoJCXJldHVybiB0cnVlOwkKCX0KCgp9&#8243; admin_label=&#8221;\u041a\u043e\u0434 \u0443\u0440\u043e\u043a\u0430&#8221; style=&#8221;docco&#8221; linenums=&#8221;on&#8221; usetabwidth=&#8221;on&#8221; tabwidth=&#8221;4&#8243; _builder_version=&#8221;3.5.1&#8243; body_font_size_tablet=&#8221;51&#8243; body_line_height_tablet=&#8221;2&#8243; header_font_size_tablet=&#8221;51&#8243; header_line_height_tablet=&#8221;2&#8243;]PD9waHAKCmNsYXNzIFVzZXJzTW9kZWwgZXh0ZW5kcyBNb2RlbCB7CgoKCXB1YmxpYyBmdW5jdGlvbiBnZXRVc2VycygpIHsKCgkJJHNxbCA9ICJTRUxFQ1QgdXNlcnMuaWQsIHVzZXJzLmxvZ2luLCB1c2Vycy5mdWxsTmFtZSwgdXNlcnMuZW1haWwsIHJvbGUubmFtZSBhcyByb2xlIEZST00gdXNlcnMgCgkJCQlJTk5FUiBKT0lOIHJvbGUgT04gdXNlcnMucm9sZV9pZCA9IHJvbGUuaWQiOwoKCQkkc3RtdCA9ICR0aGlzLT5kYi0+cHJlcGFyZSgkc3FsKTsKCQkkc3RtdC0+ZXhlY3V0ZSgpOwoJCSRyZXN1bHQgPSBhcnJheSgpOwoJCXdoaWxlKCRyb3cgPSAkc3RtdC0+ZmV0Y2goUERPOjpGRVRDSF9BU1NPQykpIHsKCQkJJHJlc3VsdFskcm93WydpZCddXSA9ICRyb3c7CgkJfQoKCQlyZXR1cm4gJHJlc3VsdDsJCQoKCX0KCgoJcHVibGljIGZ1bmN0aW9uIGdldFVzZXJCeUlkKCRpZCkgewoJCSRzcWwgPSAiU0VMRUNUIHVzZXJzLmlkLCB1c2Vycy5lbWFpbCwgdXNlcnMuZnVsbE5hbWUsIHVzZXJzLmxvZ2luLCByb2xlLm5hbWUgYXMgcm9sZSBGUk9NIHVzZXJzCQoJCQkJSU5ORVIgSk9JTiByb2xlIE9OIHVzZXJzLnJvbGVfaWQgPSByb2xlLmlkCgkJCQlXSEVSRSB1c2Vycy5pZCA9IDppZCI7CgoKCQkkc3RtdCA9ICR0aGlzLT5kYi0+cHJlcGFyZSgkc3FsKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6aWQiLCAkaWQsIFBETzo6UEFSQU1fSU5UKTsKCQkkc3RtdC0+ZXhlY3V0ZSgpOwoJCSRyZXN1bHQgPSAkc3RtdC0+ZmV0Y2goUERPOjpGRVRDSF9BU1NPQyk7CgkJaWYoIWVtcHR5KCRyZXN1bHQpKSB7CgkJCXJldHVybiAkcmVzdWx0OwoJCX0gZWxzZSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CQkKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0Um9sZXMoKSB7CgkJJHJlc3VsdCA9IGFycmF5KCk7CgkJJHNxbCA9ICJTRUxFQ1QgKiBGUk9NIHJvbGUiOwoJCSRzdG10ID0gJHRoaXMtPmRiLT5wcmVwYXJlKCRzcWwpOwoJCSRzdG10LT5leGVjdXRlKCk7CgkJd2hpbGUoJHJvdyA9ICRzdG10LT5mZXRjaChQRE86OkZFVENIX0FTU09DKSkgewoJCQkkcmVzdWx0W10gPSAkcm93OwoJCX0KCQlyZXR1cm4gJHJlc3VsdDsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdXBkYXRlVXNlckRhdGEoJHVzZXJJZCwgJHVzZXJGdWxsTmFtZSwgJHVzZXJMb2dpbiwgJHVzZXJFbWFpbCwgJHVzZXJSb2xlKSB7CgkJJHNxbCA9ICJVUERBVEUgdXNlcnMKCQkJCVNFVCBsb2dpbiA9OmxvZ2luLCBmdWxsTmFtZSA9IDpmdWxsTmFtZSwgZW1haWwgPSA6ZW1haWwsIHJvbGVfaWQgPSA6cm9sZUlkCgkJCQlXSEVSRSBpZCA9OmlkCgkJCQkiOwoJCSRzdG10ID0gJHRoaXMtPmRiLT5wcmVwYXJlKCRzcWwpOwoJCSRzdG10LT5iaW5kVmFsdWUoIjpsb2dpbiIsICR1c2VyTG9naW4sIFBETzo6UEFSQU1fU1RSKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6ZnVsbE5hbWUiLCAkdXNlckZ1bGxOYW1lLCBQRE86OlBBUkFNX1NUUik7CgkJJHN0bXQtPmJpbmRWYWx1ZSgiOmVtYWlsIiwgJHVzZXJFbWFpbCwgUERPOjpQQVJBTV9TVFIpOwoJCSRzdG10LT5iaW5kVmFsdWUoIjpyb2xlSWQiLCAkdXNlclJvbGUsIFBETzo6UEFSQU1fSU5UKTsJCgkJJHN0bXQtPmJpbmRWYWx1ZSgiOmlkIiwgJHVzZXJJZCwgUERPOjpQQVJBTV9JTlQpOwoJCSRzdG10LT5leGVjdXRlKCk7CgkJcmV0dXJuIHRydWU7CQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBhZGROZXdVc2VyKCR1c2VyRnVsbE5hbWUsICR1c2VyTG9naW4sICR1c2VyRW1haWwsICR1c2VyUGFzc3dvcmQsICR1c2VyUm9sZSkgewoJCSRzcWwgPSAiSU5TRVJUIElOVE8gdXNlcnMgKGxvZ2luLCBmdWxsTmFtZSwgZW1haWwsIHBhc3N3b3JkLCByb2xlX2lkKQoJCQkJVkFMVUVTICg6bG9naW4sIDpmdWxsTmFtZSwgOmVtYWlsLCA6cGFzc3dvcmQsIDpyb2xlX2lkKQoJCQkJIjsKCQkkc3RtdCA9ICR0aGlzLT5kYi0+cHJlcGFyZSgkc3FsKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6bG9naW4iLCAkdXNlckxvZ2luLCBQRE86OlBBUkFNX1NUUik7CgkJJHN0bXQtPmJpbmRWYWx1ZSgiOmZ1bGxOYW1lIiwgJHVzZXJGdWxsTmFtZSwgUERPOjpQQVJBTV9TVFIpOwoJCSRzdG10LT5iaW5kVmFsdWUoIjplbWFpbCIsICR1c2VyRW1haWwsIFBETzo6UEFSQU1fU1RSKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6cm9sZV9pZCIsICR1c2VyUm9sZSwgUERPOjpQQVJBTV9JTlQpOwoJCSRzdG10LT5iaW5kVmFsdWUoIjpwYXNzd29yZCIsICR1c2VyUGFzc3dvcmQsIFBETzo6UEFSQU1fU1RSKTsJCgkJJHN0bXQtPmV4ZWN1dGUoKTsKCQlyZXR1cm4gdHJ1ZTsJCgl9CgoJcHVibGljIGZ1bmN0aW9uIGRlbGV0ZVVzZXIoJGlkKSB7CgkJJHNxbCA9ICJERUxFVEUgRlJPTSB1c2VycyBXSEVSRSBpZCA9OmlkIjsKCQkkc3RtdCA9ICR0aGlzLT5kYi0+cHJlcGFyZSgkc3FsKTsKCQkkc3RtdC0+YmluZFZhbHVlKCI6aWQiLCAkaWQsIFBETzo6UEFSQU1fSU5UKTsKCQkkc3RtdC0+ZXhlY3V0ZSgpOwoJCXJldHVybiB0cnVlOwkKCX0KCgp9[\/et_pb_dmb_code_snippet][et_pb_dmb_code_snippet title=&#8221;Code lesson (users.js)&#8221; code=&#8221;dmFyIHVzZXJzID0gYW5ndWxhci5tb2R1bGUoJ3VzZXJzJywgW10pOwoKdXNlcnMuY29udHJvbGxlcigidXNlcnNDb250cm9sbGVyIiwgZnVuY3Rpb24oJHNjb3BlLCAkaHR0cCl7CgoJJHNjb3BlLmdldFVzZXJEYXRhID0gZnVuY3Rpb24odXNlcklkKSB7CgkJJGh0dHAoewoJCQltZXRob2Q6ICJQT1NUIiwKCQkJdXJsOiAiaHR0cDovL2NhYmluZXQua2FtaWwtYWJ6YWxvdi5ydS9jYWJpbmV0L3VzZXJzL2dldFVzZXJCeUlkIiwKCQkJZGF0YTogJC5wYXJhbSh7aWQ6IHVzZXJJZH0pLAoJCQloZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfQoJCX0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KXsKCQkJJHNjb3BlLnVzZXJJZCA9IHJlc3VsdC5kYXRhLmlkOwoJCQkkc2NvcGUuZnVsbE5hbWUgPSByZXN1bHQuZGF0YS5mdWxsTmFtZTsKCQkJJHNjb3BlLmxvZ2luID0gcmVzdWx0LmRhdGEubG9naW47CgkJCSRzY29wZS5lbWFpbCA9IHJlc3VsdC5kYXRhLmVtYWlsOwoJCQkkc2NvcGUuZ2V0Um9sZXMoKTsKCQl9KQoJfQoKCSRzY29wZS5nZXRSb2xlcyA9IGZ1bmN0aW9uKCkgewoJCSRodHRwKHsKCQkJbWV0aG9kOiAiUE9TVCIsCgkJCXVybDogImh0dHA6Ly9jYWJpbmV0LmthbWlsLWFiemFsb3YucnUvY2FiaW5ldC91c2Vycy9nZXRVc2Vyc1JvbGVzIiwKCQkJaGVhZGVyczogeydDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ30KCQl9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCl7CgkJCSRzY29wZS5yb2xlcyA9IFtdOwoJCQlmb3IodmFyIGk9MDsgaTxyZXN1bHQuZGF0YS5sZW5ndGg7IGkrKykgewoJCQkJJHNjb3BlLnJvbGVzLnB1c2gocmVzdWx0LmRhdGFbaV0pOwoJCQl9CgkJfSkJCgl9CQoJCgkkc2NvcGUudXBkYXRlVXNlckRhdGEgPSBmdW5jdGlvbigpIHsKCQkkaHR0cCh7CgkJCW1ldGhvZDogIlBPU1QiLAoJCQl1cmw6ICJodHRwOi8vY2FiaW5ldC5rYW1pbC1hYnphbG92LnJ1L2NhYmluZXQvdXNlcnMvdXBkYXRlVXNlckRhdGEiLAoJCQloZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKCQkJZGF0YTogJC5wYXJhbSh7aWQ6ICRzY29wZS51c2VySWQsIGZ1bGxOYW1lOiAkc2NvcGUuZnVsbE5hbWUsIGxvZ2luOiAkc2NvcGUubG9naW4sIHJvbGU6ICRzY29wZS5yb2xlLCBlbWFpbDogJHNjb3BlLmVtYWlsfSkKCQl9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCl7CgkJCWNvbnNvbGUubG9nKHJlc3VsdCk7CgkJfSkKCX0KCgkkc2NvcGUuZGVsZXRlVXNlciA9IGZ1bmN0aW9uKHVzZXJJZCkgewoJCSRodHRwKHsKCQkJbWV0aG9kOiAiUE9TVCIsCgkJCXVybDogImh0dHA6Ly9jYWJpbmV0LmthbWlsLWFiemFsb3YucnUvY2FiaW5ldC91c2Vycy9kZWxldGVVc2VyIiwKCQkJaGVhZGVyczogeydDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ30sCgkJCWRhdGE6ICQucGFyYW0oe2lkOiB1c2VySWR9KQoJCX0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KXsKCQkJY29uc29sZS5sb2cocmVzdWx0KTsKCQl9KQoJfQoKCSRzY29wZS5hZGROZXdVc2VyID0gZnVuY3Rpb24oKSB7CgkJJGh0dHAoewoJCQltZXRob2Q6ICJQT1NUIiwKCQkJdXJsOiAiaHR0cDovL2NhYmluZXQua2FtaWwtYWJ6YWxvdi5ydS9jYWJpbmV0L3VzZXJzL2FkZE5ld1VzZXIiLAoJCQloZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKCQkJZGF0YTogJC5wYXJhbSh7ZnVsbE5hbWU6ICRzY29wZS5uZXdVc2VyLCBsb2dpbjogJHNjb3BlLm5ld0xvZ2luLCBlbWFpbDogJHNjb3BlLm5ld0VtYWlsLCBwYXNzd29yZDogJHNjb3BlLm5ld1Bhc3N3b3JkLCByb2xlOiAkc2NvcGUubmV3Um9sZX0pCgkJfSkudGhlbihmdW5jdGlvbihyZXN1bHQpewoJCQljb25zb2xlLmxvZyhyZXN1bHQpOwoJCX0pCgl9CgoKfSk7Cgp1c2Vycy5kaXJlY3RpdmUoJ2VkaXRVc2VyJywgZnVuY3Rpb24oKXsKCXJldHVybiB7CgkJdGVtcGxhdGVVcmw6ICIvdmlld3MvZWRpdC11c2VyLXRwbC5waHAiLAoJCXJlc3RyaWN0OiAiRSIsCgkJcmVwbGFjZTogdHJ1ZSwKCQl0cmFuc2NsdWRlOiB0cnVlLAoJCWNvbnRyb2xsZXI6ICJ1c2Vyc0NvbnRyb2xsZXIiLAoJCWxpbms6IGZ1bmN0aW9uKHNjb3BlLCBlbGVtZW50LCBhdHRycykgewoJCQlzY29wZS5zaG93RWRpdEZvcm0gPSBmdW5jdGlvbigpIHsKCQkJCXNjb3BlLmlzU2hvd0VkaXRGb3JtID0gdHJ1ZTsKCQkJfQoJCX0KCX0KfSk=&#8221; admin_label=&#8221;\u041a\u043e\u0434 \u0443\u0440\u043e\u043a\u0430&#8221; style=&#8221;docco&#8221; linenums=&#8221;on&#8221; usetabwidth=&#8221;on&#8221; tabwidth=&#8221;4&#8243; _builder_version=&#8221;3.5.1&#8243; hover_enabled=&#8221;0&#8243; body_font_size_tablet=&#8221;51&#8243; body_line_height_tablet=&#8221;2&#8243; header_font_size_tablet=&#8221;51&#8243; header_line_height_tablet=&#8221;2&#8243;]dmFyIHVzZXJzID0gYW5ndWxhci5tb2R1bGUoJ3VzZXJzJywgW10pOwoKdXNlcnMuY29udHJvbGxlcigidXNlcnNDb250cm9sbGVyIiwgZnVuY3Rpb24oJHNjb3BlLCAkaHR0cCl7CgoJJHNjb3BlLmdldFVzZXJEYXRhID0gZnVuY3Rpb24odXNlcklkKSB7CgkJJGh0dHAoewoJCQltZXRob2Q6ICJQT1NUIiwKCQkJdXJsOiAiaHR0cDovL2NhYmluZXQua2FtaWwtYWJ6YWxvdi5ydS9jYWJpbmV0L3VzZXJzL2dldFVzZXJCeUlkIiwKCQkJZGF0YTogJC5wYXJhbSh7aWQ6IHVzZXJJZH0pLAoJCQloZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfQoJCX0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KXsKCQkJJHNjb3BlLnVzZXJJZCA9IHJlc3VsdC5kYXRhLmlkOwoJCQkkc2NvcGUuZnVsbE5hbWUgPSByZXN1bHQuZGF0YS5mdWxsTmFtZTsKCQkJJHNjb3BlLmxvZ2luID0gcmVzdWx0LmRhdGEubG9naW47CgkJCSRzY29wZS5lbWFpbCA9IHJlc3VsdC5kYXRhLmVtYWlsOwoJCQkkc2NvcGUuZ2V0Um9sZXMoKTsKCQl9KQoJfQoKCSRzY29wZS5nZXRSb2xlcyA9IGZ1bmN0aW9uKCkgewoJCSRodHRwKHsKCQkJbWV0aG9kOiAiUE9TVCIsCgkJCXVybDogImh0dHA6Ly9jYWJpbmV0LmthbWlsLWFiemFsb3YucnUvY2FiaW5ldC91c2Vycy9nZXRVc2Vyc1JvbGVzIiwKCQkJaGVhZGVyczogeydDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ30KCQl9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCl7CgkJCSRzY29wZS5yb2xlcyA9IFtdOwoJCQlmb3IodmFyIGk9MDsgaTxyZXN1bHQuZGF0YS5sZW5ndGg7IGkrKykgewoJCQkJJHNjb3BlLnJvbGVzLnB1c2gocmVzdWx0LmRhdGFbaV0pOwoJCQl9CgkJfSkJCgl9CQoJCgkkc2NvcGUudXBkYXRlVXNlckRhdGEgPSBmdW5jdGlvbigpIHsKCQkkaHR0cCh7CgkJCW1ldGhvZDogIlBPU1QiLAoJCQl1cmw6ICJodHRwOi8vY2FiaW5ldC5rYW1pbC1hYnphbG92LnJ1L2NhYmluZXQvdXNlcnMvdXBkYXRlVXNlckRhdGEiLAoJCQloZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKCQkJZGF0YTogJC5wYXJhbSh7aWQ6ICRzY29wZS51c2VySWQsIGZ1bGxOYW1lOiAkc2NvcGUuZnVsbE5hbWUsIGxvZ2luOiAkc2NvcGUubG9naW4sIHJvbGU6ICRzY29wZS5yb2xlLCBlbWFpbDogJHNjb3BlLmVtYWlsfSkKCQl9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCl7CgkJCWNvbnNvbGUubG9nKHJlc3VsdCk7CgkJfSkKCX0KCgkkc2NvcGUuZGVsZXRlVXNlciA9IGZ1bmN0aW9uKHVzZXJJZCkgewoJCSRodHRwKHsKCQkJbWV0aG9kOiAiUE9TVCIsCgkJCXVybDogImh0dHA6Ly9jYWJpbmV0LmthbWlsLWFiemFsb3YucnUvY2FiaW5ldC91c2Vycy9kZWxldGVVc2VyIiwKCQkJaGVhZGVyczogeydDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ30sCgkJCWRhdGE6ICQucGFyYW0oe2lkOiB1c2VySWR9KQoJCX0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KXsKCQkJY29uc29sZS5sb2cocmVzdWx0KTsKCQl9KQoJfQoKCSRzY29wZS5hZGROZXdVc2VyID0gZnVuY3Rpb24oKSB7CgkJJGh0dHAoewoJCQltZXRob2Q6ICJQT1NUIiwKCQkJdXJsOiAiaHR0cDovL2NhYmluZXQua2FtaWwtYWJ6YWxvdi5ydS9jYWJpbmV0L3VzZXJzL2FkZE5ld1VzZXIiLAoJCQloZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKCQkJZGF0YTogJC5wYXJhbSh7ZnVsbE5hbWU6ICRzY29wZS5uZXdVc2VyLCBsb2dpbjogJHNjb3BlLm5ld0xvZ2luLCBlbWFpbDogJHNjb3BlLm5ld0VtYWlsLCBwYXNzd29yZDogJHNjb3BlLm5ld1Bhc3N3b3JkLCByb2xlOiAkc2NvcGUubmV3Um9sZX0pCgkJfSkudGhlbihmdW5jdGlvbihyZXN1bHQpewoJCQljb25zb2xlLmxvZyhyZXN1bHQpOwoJCX0pCgl9CgoKfSk7Cgp1c2Vycy5kaXJlY3RpdmUoJ2VkaXRVc2VyJywgZnVuY3Rpb24oKXsKCXJldHVybiB7CgkJdGVtcGxhdGVVcmw6ICIvdmlld3MvZWRpdC11c2VyLXRwbC5waHAiLAoJCXJlc3RyaWN0OiAiRSIsCgkJcmVwbGFjZTogdHJ1ZSwKCQl0cmFuc2NsdWRlOiB0cnVlLAoJCWNvbnRyb2xsZXI6ICJ1c2Vyc0NvbnRyb2xsZXIiLAoJCWxpbms6IGZ1bmN0aW9uKHNjb3BlLCBlbGVtZW50LCBhdHRycykgewoJCQlzY29wZS5zaG93RWRpdEZvcm0gPSBmdW5jdGlvbigpIHsKCQkJCXNjb3BlLmlzU2hvd0VkaXRGb3JtID0gdHJ1ZTsKCQkJfQoJCX0KCX0KfSk=[\/et_pb_dmb_code_snippet][et_pb_dmb_code_snippet title=&#8221;Code lesson (users.tpl.php)&#8221; code=&#8221;PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InJ1IiBkYXRhLW5nLWFwcD0idXNlcnMiPgoKPGhlYWQ+CgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CgogICAgPHRpdGxlPjw\/cGhwIGVjaG8gJHBhZ2VEYXRhWyd0aXRsZSddOyA\/PjwvdGl0bGU+CgogICAgPCEtLSBCb290c3RyYXAgQ29yZSBDU1MgLS0+CiAgICA8bGluayBocmVmPSIvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDwhLS0gTWV0aXNNZW51IENTUyAtLT4KICAgIDxsaW5rIGhyZWY9Ii9jc3MvYWRtaW4vbWV0aXNNZW51Lm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBDdXN0b20gQ1NTIC0tPgogICAgPGxpbmsgaHJlZj0iL2Nzcy9hZG1pbi9zYi1hZG1pbi0yLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICA8IS0tIE1vcnJpcyBDaGFydHMgQ1NTIC0tPgogICAgPGxpbmsgaHJlZj0iL2Nzcy9hZG1pbi9tb3JyaXMuY3NzIiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDwhLS0gQ3VzdG9tIEZvbnRzIC0tPgogICAgPGxpbmsgaHJlZj0iL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CgogICAgPCEtLSBIVE1MNSBTaGltIGFuZCBSZXNwb25kLmpzIElFOCBzdXBwb3J0IG9mIEhUTUw1IGVsZW1lbnRzIGFuZCBtZWRpYSBxdWVyaWVzIC0tPgogICAgPCEtLSBXQVJOSU5HOiBSZXNwb25kLmpzIGRvZXNuJ3Qgd29yayBpZiB5b3UgdmlldyB0aGUgcGFnZSB2aWEgZmlsZTovLyAtLT4KICAgIDwhLS1baWYgbHQgSUUgOV0+CiAgICAgICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vb3NzLm1heGNkbi5jb20vbGlicy9odG1sNXNoaXYvMy43LjAvaHRtbDVzaGl2LmpzIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9vc3MubWF4Y2RuLmNvbS9saWJzL3Jlc3BvbmQuanMvMS40LjIvcmVzcG9uZC5taW4uanMiPjwvc2NyaXB0PgogICAgPCFbZW5kaWZdLS0+Cgo8L2hlYWQ+Cgo8Ym9keT4KCiAgICA8ZGl2IGlkPSJ3cmFwcGVyIj4KCiAgICAgICAgPCEtLSBOYXZpZ2F0aW9uIC0tPgogICAgICAgIDxuYXYgY2xhc3M9Im5hdmJhciBuYXZiYXItZGVmYXVsdCBuYXZiYXItc3RhdGljLXRvcCIgcm9sZT0ibmF2aWdhdGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2YmFyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdmJhci1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2YmFyLWJyYW5kIiBocmVmPSJpbmRleC5odG1sIj7QmtCw0LHQuNC90LXRgjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gLy5uYXZiYXItaGVhZGVyIC0tPgoKICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLXRvcC1saW5rcyBuYXZiYXItcmlnaHQiPgogICAgICAgICAgICAgICAgPCEtLSAvLmRyb3Bkb3duIC0tPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBocmVmPSIjIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXVzZXIgZmEtZnciPjwvaT4gPGkgY2xhc3M9ImZhIGZhLWNhcmV0LWRvd24iPjwvaT4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IGRyb3Bkb3duLXVzZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2NhYmluZXQvcHJvZmlsZSI+PGkgY2xhc3M9ImZhIGZhLXVzZXIgZmEtZnciPjwvaT4g0J\/RgNC+0YTQuNC70Yw8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZGl2aWRlciI+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9jYWJpbmV0L2xvZ291dCI+PGkgY2xhc3M9ImZhIGZhLXNpZ24tb3V0IGZhLWZ3Ij48L2k+INCS0YvQudGC0Lg8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8IS0tIC8uZHJvcGRvd24tdXNlciAtLT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8IS0tIC8uZHJvcGRvd24gLS0+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwhLS0gLy5uYXZiYXItdG9wLWxpbmtzIC0tPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLWRlZmF1bHQgc2lkZWJhciIgcm9sZT0ibmF2aWdhdGlvbiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLW5hdiBuYXZiYXItY29sbGFwc2UiPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IiBpZD0ic2lkZS1tZW51Ij4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9jYWJpbmV0Ij48aSBjbGFzcz0iZmEgZmEtYXJlYS1jaGFydCI+PC9pPiDQodGC0LDRgtC40YHRgtC40LrQsDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2NhYmluZXQvcHJvZHVjdHMiPjxpIGNsYXNzPSJmYSBmYS1jYXJ0LXBsdXMiPjwvaT4g0KLQvtCy0LDRgNGLPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvY2FiaW5ldC91c2VycyI+PGkgY2xhc3M9ImZhIGZhLXVzZXItbyI+PC9pPiDQn9C+0LvRjNC30L7QstCw0YLQtdC70Lg8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSAvLnNpZGViYXItY29sbGFwc2UgLS0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIC8ubmF2YmFyLXN0YXRpYy1zaWRlIC0tPgogICAgICAgIDwvbmF2PgoKICAgICAgICA8ZGl2IGlkPSJwYWdlLXdyYXBwZXIiIGRhdGEtbmctY29udHJvbGxlcj0idXNlcnNDb250cm9sbGVyIj4KICAgICAgICA8P3BocCBpZigkcGFnZURhdGFbJ3Blcm1pc3Npb24nXSA9PSAxKSB7ID8+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIiPgogICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz0icGFnZS1oZWFkZXIiPtCf0L7Qu9GM0LfQvtCy0LDRgtC10LvQuDwvaDE+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gLy5jb2wtbGctMTIgLS0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIC8ucm93IC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICA8IS0tIC8ucGFuZWwgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWhlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWJhci1jaGFydC1vIGZhLWZ3Ij48L2k+INCf0L7Qu9GM0LfQvtCy0LDRgtC10LvQuAogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAvLnBhbmVsLWhlYWRpbmcgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtYm9yZGVyZWQgdGFibGUtaG92ZXIgdGFibGUtc3RyaXBlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+0JjQvNGPPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD7Qm9C+0LPQuNC9PC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5FbWFpbDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+0KDQvtC70Yw8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw\/cGhwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRwYWdlRGF0YVsndXNlcnNMaXN0J10gYXMgJGtleSA9PiAkdmFsdWUpIHsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBkYXRhLW5nLWNsaWNrPSJzaG93RWRpdEZvcm0oKTsgZ2V0VXNlckRhdGEoPD9waHAgZWNobyAkdmFsdWVbJ2lkJ107ID8+KTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICR2YWx1ZVsnZnVsbE5hbWUnXTsgPz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICR2YWx1ZVsnbG9naW4nXTsgPz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICR2YWx1ZVsnZW1haWwnXTsgPz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICR2YWx1ZVsncm9sZSddOyA\/PjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC8udGFibGUtcmVzcG9uc2l2ZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC8uY29sLWxnLTQgKG5lc3RlZCkgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAvLmNvbC1sZy04IChuZXN0ZWQpIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC8ucm93IC0tPgoKCQkJCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KCQkJCQkJCQkJPGVkaXQtdXNlcj48L2VkaXQtdXNlcj4JCQkJCQkJCQkJCgkJCQkJCQkJPC9kaXY+CgkJCQkJCQk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLy5wYW5lbC1ib2R5IC0tPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwhLS0gLy5wYW5lbCAtLT4KICAgICAgICAgICAgICAgICAgICA8IS0tIC8ucGFuZWwgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gLy5jb2wtbGctOCAtLT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gLy5yb3cgLS0+CgogICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJwYWdlLWhlYWRlciI+0JTQvtCx0LDQstC40YLRjCDQvdC+0LLQvtCz0L4g0L\/QvtC70YzQt9C+0LLQsNGC0LXQu9GPPC9oMT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgbWV0aG9kPSJwb3N0IiBkYXRhLW5nLXN1Ym1pdD0iYWRkTmV3VXNlcigpIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGZpZWxkc2V0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtbWQtNCBjb250cm9sLWxhYmVsIiBmb3I9Im5ld1VzZXIiPtCk0JjQnjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9Im5ld1VzZXIiIG5hbWU9Im5ld1VzZXIiIGRhdGEtbmctbW9kZWw9Im5ld1VzZXIiIGNsYXNzPSJmb3JtLWNvbnRyb2wgaW5wdXQtbWQiIHJlcXVpcmVkPSJ0cnVlIiB0eXBlPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtbWQtNCBjb250cm9sLWxhYmVsIiBmb3I9Im5ld0xvZ2luIj7Qm9C+0LPQuNC9PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0ibmV3TG9naW4iIG5hbWU9Im5ld0xvZ2luIiBkYXRhLW5nLW1vZGVsPSJuZXdMb2dpbiIgY2xhc3M9ImZvcm0tY29udHJvbCAiIHJlcXVpcmVkPSJ0cnVlIiB0eXBlPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtbWQtNCBjb250cm9sLWxhYmVsIiBmb3I9Im5ld0VtYWlsIj5FbWFpbDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9Im5ld0VtYWlsIiBuYW1lPSJuZXdFbWFpbCIgZGF0YS1uZy1tb2RlbD0ibmV3RW1haWwiIGNsYXNzPSJmb3JtLWNvbnRyb2wgaW5wdXQtbWQiIHJlcXVpcmVkPSJ0cnVlIiB0eXBlPSJlbWFpbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLW1kLTQgY29udHJvbC1sYWJlbCIgZm9yPSJuZXdQYXNzd29yZCI+0J\/QsNGA0L7Qu9GMPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0ibmV3UGFzc3dvcmQiIG5hbWU9Im5ld1Bhc3N3b3JkIiBkYXRhLW5nLW1vZGVsPSJuZXdQYXNzd29yZCIgY2xhc3M9ImZvcm0tY29udHJvbCBpbnB1dC1tZCIgcmVxdWlyZWQ9InRydWUiIHR5cGU9InBhc3N3b3JkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtbWQtNCBjb250cm9sLWxhYmVsIiBmb3I9Im5ld1JvbGUiPtCg0L7Qu9GMPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0ibmV3Um9sZSIgZGF0YS1uZy1tb2RlbD0ibmV3Um9sZSIgY2xhc3M9ImZvcm0tY29udHJvbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPtCS0YvQsdC10YDQuNGC0LUg0YDQvtC70Yw8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEiPtCQ0LTQvNC40L3QuNGB0YLRgNCw0YLQvtGAPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIyIj7QnNC10L3QtdC00LbQtdGAPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBjb2wtbWQtb2Zmc2V0LTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXN1Y2Nlc3MiPtCh0L7RhdGA0LDQvdC40YLRjDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgICAgICAgICAgPC9mb3JtPiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8P3BocCB9IGVsc2UgeyA\/PgogICAgICAgICAgICAgICAgPGgxIHN0eWxlPSJtYXJnaW46MDsgcGFkZGluZy10b3A6MTBweDsiPtCjINCy0LDRgSDQvdC10LTQvtGB0YLQsNGC0L7Rh9C90L4g0L\/RgNCw0LIg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y\/QvNC4PC9oMT4KICAgICAgICAgICAgPD9waHAgfSA\/PgogICAgICAgIDwvZGl2PgogICAgICAgIDwhLS0gLyNwYWdlLXdyYXBwZXIgLS0+CgogICAgPC9kaXY+CiAgICA8IS0tIC8jd3JhcHBlciAtLT4KCiAgICA8IS0tIGpRdWVyeSAtLT4KICAgIDxzY3JpcHQgc3JjPSIvanMvanF1ZXJ5LmpzIj48L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iL2pzL2FuZ3VsYXIubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIvanMvL2FkbWluL3VzZXJzLmpzIj48L3NjcmlwdD4KCiAgICA8IS0tIEJvb3RzdHJhcCBDb3JlIEphdmFTY3JpcHQgLS0+CiAgICA8c2NyaXB0IHNyYz0iL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgoKICAgIDwhLS0gTWV0aXMgTWVudSBQbHVnaW4gSmF2YVNjcmlwdCAtLT4KICAgIDxzY3JpcHQgc3JjPSIvanMvYWRtaW4vbWV0aXNNZW51LmpzIj48L3NjcmlwdD4KCiAgICA8IS0tIEN1c3RvbSBUaGVtZSBKYXZhU2NyaXB0IC0tPgogICAgPHNjcmlwdCBzcmM9Ii9qcy9hZG1pbi9zYi1hZG1pbi0yLmpzIj48L3NjcmlwdD4KCjwvYm9keT4KCjwvaHRtbD4K&#8221; admin_label=&#8221;\u041a\u043e\u0434 \u0443\u0440\u043e\u043a\u0430&#8221; style=&#8221;docco&#8221; linenums=&#8221;on&#8221; usetabwidth=&#8221;on&#8221; tabwidth=&#8221;4&#8243; _builder_version=&#8221;3.5.1&#8243; body_font_size_tablet=&#8221;51&#8243; body_line_height_tablet=&#8221;2&#8243; header_font_size_tablet=&#8221;51&#8243; header_line_height_tablet=&#8221;2&#8243;]PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InJ1IiBkYXRhLW5nLWFwcD0idXNlcnMiPgoKPGhlYWQ+CgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CgogICAgPHRpdGxlPjw\/cGhwIGVjaG8gJHBhZ2VEYXRhWyd0aXRsZSddOyA\/PjwvdGl0bGU+CgogICAgPCEtLSBCb290c3RyYXAgQ29yZSBDU1MgLS0+CiAgICA8bGluayBocmVmPSIvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDwhLS0gTWV0aXNNZW51IENTUyAtLT4KICAgIDxsaW5rIGhyZWY9Ii9jc3MvYWRtaW4vbWV0aXNNZW51Lm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBDdXN0b20gQ1NTIC0tPgogICAgPGxpbmsgaHJlZj0iL2Nzcy9hZG1pbi9zYi1hZG1pbi0yLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICA8IS0tIE1vcnJpcyBDaGFydHMgQ1NTIC0tPgogICAgPGxpbmsgaHJlZj0iL2Nzcy9hZG1pbi9tb3JyaXMuY3NzIiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDwhLS0gQ3VzdG9tIEZvbnRzIC0tPgogICAgPGxpbmsgaHJlZj0iL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CgogICAgPCEtLSBIVE1MNSBTaGltIGFuZCBSZXNwb25kLmpzIElFOCBzdXBwb3J0IG9mIEhUTUw1IGVsZW1lbnRzIGFuZCBtZWRpYSBxdWVyaWVzIC0tPgogICAgPCEtLSBXQVJOSU5HOiBSZXNwb25kLmpzIGRvZXNuJ3Qgd29yayBpZiB5b3UgdmlldyB0aGUgcGFnZSB2aWEgZmlsZTovLyAtLT4KICAgIDwhLS1baWYgbHQgSUUgOV0+CiAgICAgICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vb3NzLm1heGNkbi5jb20vbGlicy9odG1sNXNoaXYvMy43LjAvaHRtbDVzaGl2LmpzIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9vc3MubWF4Y2RuLmNvbS9saWJzL3Jlc3BvbmQuanMvMS40LjIvcmVzcG9uZC5taW4uanMiPjwvc2NyaXB0PgogICAgPCFbZW5kaWZdLS0+Cgo8L2hlYWQ+Cgo8Ym9keT4KCiAgICA8ZGl2IGlkPSJ3cmFwcGVyIj4KCiAgICAgICAgPCEtLSBOYXZpZ2F0aW9uIC0tPgogICAgICAgIDxuYXYgY2xhc3M9Im5hdmJhciBuYXZiYXItZGVmYXVsdCBuYXZiYXItc3RhdGljLXRvcCIgcm9sZT0ibmF2aWdhdGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2YmFyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdmJhci1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2YmFyLWJyYW5kIiBocmVmPSJpbmRleC5odG1sIj7QmtCw0LHQuNC90LXRgjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gLy5uYXZiYXItaGVhZGVyIC0tPgoKICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLXRvcC1saW5rcyBuYXZiYXItcmlnaHQiPgogICAgICAgICAgICAgICAgPCEtLSAvLmRyb3Bkb3duIC0tPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBocmVmPSIjIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXVzZXIgZmEtZnciPjwvaT4gPGkgY2xhc3M9ImZhIGZhLWNhcmV0LWRvd24iPjwvaT4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IGRyb3Bkb3duLXVzZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2NhYmluZXQvcHJvZmlsZSI+PGkgY2xhc3M9ImZhIGZhLXVzZXIgZmEtZnciPjwvaT4g0J\/RgNC+0YTQuNC70Yw8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZGl2aWRlciI+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9jYWJpbmV0L2xvZ291dCI+PGkgY2xhc3M9ImZhIGZhLXNpZ24tb3V0IGZhLWZ3Ij48L2k+INCS0YvQudGC0Lg8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8IS0tIC8uZHJvcGRvd24tdXNlciAtLT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8IS0tIC8uZHJvcGRvd24gLS0+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwhLS0gLy5uYXZiYXItdG9wLWxpbmtzIC0tPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLWRlZmF1bHQgc2lkZWJhciIgcm9sZT0ibmF2aWdhdGlvbiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLW5hdiBuYXZiYXItY29sbGFwc2UiPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IiBpZD0ic2lkZS1tZW51Ij4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9jYWJpbmV0Ij48aSBjbGFzcz0iZmEgZmEtYXJlYS1jaGFydCI+PC9pPiDQodGC0LDRgtC40YHRgtC40LrQsDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2NhYmluZXQvcHJvZHVjdHMiPjxpIGNsYXNzPSJmYSBmYS1jYXJ0LXBsdXMiPjwvaT4g0KLQvtCy0LDRgNGLPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvY2FiaW5ldC91c2VycyI+PGkgY2xhc3M9ImZhIGZhLXVzZXItbyI+PC9pPiDQn9C+0LvRjNC30L7QstCw0YLQtdC70Lg8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSAvLnNpZGViYXItY29sbGFwc2UgLS0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIC8ubmF2YmFyLXN0YXRpYy1zaWRlIC0tPgogICAgICAgIDwvbmF2PgoKICAgICAgICA8ZGl2IGlkPSJwYWdlLXdyYXBwZXIiIGRhdGEtbmctY29udHJvbGxlcj0idXNlcnNDb250cm9sbGVyIj4KICAgICAgICA8P3BocCBpZigkcGFnZURhdGFbJ3Blcm1pc3Npb24nXSA9PSAxKSB7ID8+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIiPgogICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz0icGFnZS1oZWFkZXIiPtCf0L7Qu9GM0LfQvtCy0LDRgtC10LvQuDwvaDE+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gLy5jb2wtbGctMTIgLS0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIC8ucm93IC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICA8IS0tIC8ucGFuZWwgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWhlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWJhci1jaGFydC1vIGZhLWZ3Ij48L2k+INCf0L7Qu9GM0LfQvtCy0LDRgtC10LvQuAogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAvLnBhbmVsLWhlYWRpbmcgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtYm9yZGVyZWQgdGFibGUtaG92ZXIgdGFibGUtc3RyaXBlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+0JjQvNGPPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD7Qm9C+0LPQuNC9PC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5FbWFpbDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+0KDQvtC70Yw8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw\/cGhwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRwYWdlRGF0YVsndXNlcnNMaXN0J10gYXMgJGtleSA9PiAkdmFsdWUpIHsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBkYXRhLW5nLWNsaWNrPSJzaG93RWRpdEZvcm0oKTsgZ2V0VXNlckRhdGEoPD9waHAgZWNobyAkdmFsdWVbJ2lkJ107ID8+KTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICR2YWx1ZVsnZnVsbE5hbWUnXTsgPz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICR2YWx1ZVsnbG9naW4nXTsgPz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICR2YWx1ZVsnZW1haWwnXTsgPz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICR2YWx1ZVsncm9sZSddOyA\/PjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC8udGFibGUtcmVzcG9uc2l2ZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC8uY29sLWxnLTQgKG5lc3RlZCkgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAvLmNvbC1sZy04IChuZXN0ZWQpIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC8ucm93IC0tPgoKCQkJCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KCQkJCQkJCQkJPGVkaXQtdXNlcj48L2VkaXQtdXNlcj4JCQkJCQkJCQkJCgkJCQkJCQkJPC9kaXY+CgkJCQkJCQk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLy5wYW5lbC1ib2R5IC0tPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwhLS0gLy5wYW5lbCAtLT4KICAgICAgICAgICAgICAgICAgICA8IS0tIC8ucGFuZWwgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gLy5jb2wtbGctOCAtLT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gLy5yb3cgLS0+CgogICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJwYWdlLWhlYWRlciI+0JTQvtCx0LDQstC40YLRjCDQvdC+0LLQvtCz0L4g0L\/QvtC70YzQt9C+0LLQsNGC0LXQu9GPPC9oMT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgbWV0aG9kPSJwb3N0IiBkYXRhLW5nLXN1Ym1pdD0iYWRkTmV3VXNlcigpIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGZpZWxkc2V0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtbWQtNCBjb250cm9sLWxhYmVsIiBmb3I9Im5ld1VzZXIiPtCk0JjQnjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9Im5ld1VzZXIiIG5hbWU9Im5ld1VzZXIiIGRhdGEtbmctbW9kZWw9Im5ld1VzZXIiIGNsYXNzPSJmb3JtLWNvbnRyb2wgaW5wdXQtbWQiIHJlcXVpcmVkPSJ0cnVlIiB0eXBlPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtbWQtNCBjb250cm9sLWxhYmVsIiBmb3I9Im5ld0xvZ2luIj7Qm9C+0LPQuNC9PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0ibmV3TG9naW4iIG5hbWU9Im5ld0xvZ2luIiBkYXRhLW5nLW1vZGVsPSJuZXdMb2dpbiIgY2xhc3M9ImZvcm0tY29udHJvbCAiIHJlcXVpcmVkPSJ0cnVlIiB0eXBlPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtbWQtNCBjb250cm9sLWxhYmVsIiBmb3I9Im5ld0VtYWlsIj5FbWFpbDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9Im5ld0VtYWlsIiBuYW1lPSJuZXdFbWFpbCIgZGF0YS1uZy1tb2RlbD0ibmV3RW1haWwiIGNsYXNzPSJmb3JtLWNvbnRyb2wgaW5wdXQtbWQiIHJlcXVpcmVkPSJ0cnVlIiB0eXBlPSJlbWFpbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLW1kLTQgY29udHJvbC1sYWJlbCIgZm9yPSJuZXdQYXNzd29yZCI+0J\/QsNGA0L7Qu9GMPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0ibmV3UGFzc3dvcmQiIG5hbWU9Im5ld1Bhc3N3b3JkIiBkYXRhLW5nLW1vZGVsPSJuZXdQYXNzd29yZCIgY2xhc3M9ImZvcm0tY29udHJvbCBpbnB1dC1tZCIgcmVxdWlyZWQ9InRydWUiIHR5cGU9InBhc3N3b3JkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtbWQtNCBjb250cm9sLWxhYmVsIiBmb3I9Im5ld1JvbGUiPtCg0L7Qu9GMPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0ibmV3Um9sZSIgZGF0YS1uZy1tb2RlbD0ibmV3Um9sZSIgY2xhc3M9ImZvcm0tY29udHJvbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPtCS0YvQsdC10YDQuNGC0LUg0YDQvtC70Yw8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEiPtCQ0LTQvNC40L3QuNGB0YLRgNCw0YLQvtGAPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIyIj7QnNC10L3QtdC00LbQtdGAPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBjb2wtbWQtb2Zmc2V0LTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXN1Y2Nlc3MiPtCh0L7RhdGA0LDQvdC40YLRjDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgICAgICAgICAgPC9mb3JtPiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8P3BocCB9IGVsc2UgeyA\/PgogICAgICAgICAgICAgICAgPGgxIHN0eWxlPSJtYXJnaW46MDsgcGFkZGluZy10b3A6MTBweDsiPtCjINCy0LDRgSDQvdC10LTQvtGB0YLQsNGC0L7Rh9C90L4g0L\/RgNCw0LIg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y\/QvNC4PC9oMT4KICAgICAgICAgICAgPD9waHAgfSA\/PgogICAgICAgIDwvZGl2PgogICAgICAgIDwhLS0gLyNwYWdlLXdyYXBwZXIgLS0+CgogICAgPC9kaXY+CiAgICA8IS0tIC8jd3JhcHBlciAtLT4KCiAgICA8IS0tIGpRdWVyeSAtLT4KICAgIDxzY3JpcHQgc3JjPSIvanMvanF1ZXJ5LmpzIj48L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iL2pzL2FuZ3VsYXIubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIvanMvL2FkbWluL3VzZXJzLmpzIj48L3NjcmlwdD4KCiAgICA8IS0tIEJvb3RzdHJhcCBDb3JlIEphdmFTY3JpcHQgLS0+CiAgICA8c2NyaXB0IHNyYz0iL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgoKICAgIDwhLS0gTWV0aXMgTWVudSBQbHVnaW4gSmF2YVNjcmlwdCAtLT4KICAgIDxzY3JpcHQgc3JjPSIvanMvYWRtaW4vbWV0aXNNZW51LmpzIj48L3NjcmlwdD4KCiAgICA8IS0tIEN1c3RvbSBUaGVtZSBKYXZhU2NyaXB0IC0tPgogICAgPHNjcmlwdCBzcmM9Ii9qcy9hZG1pbi9zYi1hZG1pbi0yLmpzIj48L3NjcmlwdD4KCjwvYm9keT4KCjwvaHRtbD4K[\/et_pb_dmb_code_snippet][et_pb_dmb_code_snippet title=&#8221;Code lesson (newUser.tpl.html)&#8221; code=&#8221;PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cgk8aGVhZD4KCQk8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgoJCTx0aXRsZT7QndC+0LLQsNGPINGD0YfQtdGC0L3QsNGPINC30LDQv9C40YHRjDwvdGl0bGU+Cgk8L2hlYWQ+Cgk8Ym9keT4KCQk8ZGl2IHN0eWxlPSJ3aWR0aDo2NDBweDsgbWFyZ2luOjAgYXV0bzsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij4KCQkJPGgxPtCU0LvRjyDQstCw0YEg0YHQvtC30LTQsNC90LAg0L3QvtCy0LDRjyDRg9GH0LXRgtC90LDRjyDQt9Cw0L\/QuNGB0Yw8L2gxPgoJCQk8cD7QktCw0YjQuCDQv9C10YDRgdC+0L3QsNC70YzQvdGL0LUg0LTQsNC90L3Ri9C1OjwvcD4KCQkJPHVsPgoJCQkJPGxpPtCY0LzRjzogJWZ1bGxOYW1lJTwvbGk+CgkJCQk8bGk+0JvQvtCz0LjQvTogJWxvZ2luJTwvbGk+CgkJCQk8bGk+0J\/QsNGA0L7Qu9GMOiAlcGFzc3dvcmQlPC9saT4KCQkJCTxsaT5FbWFpbDogJWVtYWlsJTwvbGk+CgkJCTwvdWw+CgkJPC9kaXY+Cgk8L2JvZHk+CjwvaHRtbD4=&#8221; admin_label=&#8221;\u041a\u043e\u0434 \u0443\u0440\u043e\u043a\u0430&#8221; style=&#8221;docco&#8221; linenums=&#8221;on&#8221; usetabwidth=&#8221;on&#8221; tabwidth=&#8221;4&#8243; _builder_version=&#8221;3.5.1&#8243; body_font_size_tablet=&#8221;51&#8243; body_line_height_tablet=&#8221;2&#8243; header_font_size_tablet=&#8221;51&#8243; header_line_height_tablet=&#8221;2&#8243;]PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cgk8aGVhZD4KCQk8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgoJCTx0aXRsZT7QndC+0LLQsNGPINGD0YfQtdGC0L3QsNGPINC30LDQv9C40YHRjDwvdGl0bGU+Cgk8L2hlYWQ+Cgk8Ym9keT4KCQk8ZGl2IHN0eWxlPSJ3aWR0aDo2NDBweDsgbWFyZ2luOjAgYXV0bzsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij4KCQkJPGgxPtCU0LvRjyDQstCw0YEg0YHQvtC30LTQsNC90LAg0L3QvtCy0LDRjyDRg9GH0LXRgtC90LDRjyDQt9Cw0L\/QuNGB0Yw8L2gxPgoJCQk8cD7QktCw0YjQuCDQv9C10YDRgdC+0L3QsNC70YzQvdGL0LUg0LTQsNC90L3Ri9C1OjwvcD4KCQkJPHVsPgoJCQkJPGxpPtCY0LzRjzogJWZ1bGxOYW1lJTwvbGk+CgkJCQk8bGk+0JvQvtCz0LjQvTogJWxvZ2luJTwvbGk+CgkJCQk8bGk+0J\/QsNGA0L7Qu9GMOiAlcGFzc3dvcmQlPC9saT4KCQkJCTxsaT5FbWFpbDogJWVtYWlsJTwvbGk+CgkJCTwvdWw+CgkJPC9kaXY+Cgk8L2JvZHk+CjwvaHRtbD4=[\/et_pb_dmb_code_snippet][et_pb_comments _builder_version=&#8221;4.4.3&#8243; custom_margin=&#8221;30px||||false|false&#8221; hover_enabled=&#8221;0&#8243;][\/et_pb_comments][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we will make add new use feature in our application. Also we consider capability sending mails via php To send email via php you need to use mail() function. It is important to notice that actually SMTP sends mails. That&#8217;s why you can&#8217;t send mails in your local computer. If you send html mail, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[274,219],"tags":[],"class_list":["post-29417","post","type-post","status-publish","format-standard","hentry","category-phpmysql","category-tutorials"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Create php MVC app. Add user and send email via php - Kamil Abzalov&#039;s site<\/title>\n<meta name=\"description\" content=\"In this lesson we will write method for adding user and also learn how to send mail via php\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create php MVC app. Add user and send email via php - Kamil Abzalov&#039;s site\" \/>\n<meta property=\"og:description\" content=\"In this lesson we will write method for adding user and also learn how to send mail via php\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0441\u0430\u0439\u0442 \u041a\u0430\u043c\u0438\u043b\u044f \u0410\u0431\u0437\u0430\u043b\u043e\u0432\u0430\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/kamabzalov\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-02T19:39:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-04-11T08:47:21+00:00\" \/>\n<meta name=\"author\" content=\"Kamil&#039; Abzalov\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Create php MVC app. Add user and send email via php\" \/>\n<meta name=\"twitter:description\" content=\"In this lesson we will write method for adding user and also learn how to send mail via php\" \/>\n<meta name=\"twitter:creator\" content=\"@kamabzalov\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kamil&#039; Abzalov\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"30 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/phpmysql\\\/create-php-mvc-app-adduser-sendmail\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/phpmysql\\\/create-php-mvc-app-adduser-sendmail\\\/\"},\"author\":{\"name\":\"Kamil' Abzalov\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#\\\/schema\\\/person\\\/9c53360f21b83306ba40c2231573c600\"},\"headline\":\"Create php MVC app. Add user and send email via php\",\"datePublished\":\"2018-06-02T19:39:05+00:00\",\"dateModified\":\"2020-04-11T08:47:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/phpmysql\\\/create-php-mvc-app-adduser-sendmail\\\/\"},\"wordCount\":6078,\"commentCount\":0,\"articleSection\":[\"PHP+MySQL\",\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/phpmysql\\\/create-php-mvc-app-adduser-sendmail\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/phpmysql\\\/create-php-mvc-app-adduser-sendmail\\\/\",\"url\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/phpmysql\\\/create-php-mvc-app-adduser-sendmail\\\/\",\"name\":\"Create php MVC app. Add user and send email via php - Kamil Abzalov's site\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#website\"},\"datePublished\":\"2018-06-02T19:39:05+00:00\",\"dateModified\":\"2020-04-11T08:47:21+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#\\\/schema\\\/person\\\/9c53360f21b83306ba40c2231573c600\"},\"description\":\"In this lesson we will write method for adding user and also learn how to send mail via php\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/phpmysql\\\/create-php-mvc-app-adduser-sendmail\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/phpmysql\\\/create-php-mvc-app-adduser-sendmail\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/phpmysql\\\/create-php-mvc-app-adduser-sendmail\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\\\/\\\/kamil-abzalov.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create php MVC app. Add user and send email via php\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#website\",\"url\":\"https:\\\/\\\/kamil-abzalov.com\\\/\",\"name\":\"\u0441\u0430\u0439\u0442 \u041a\u0430\u043c\u0438\u043b\u044f \u0410\u0431\u0437\u0430\u043b\u043e\u0432\u0430\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/kamil-abzalov.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#\\\/schema\\\/person\\\/9c53360f21b83306ba40c2231573c600\",\"name\":\"Kamil' Abzalov\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g\",\"caption\":\"Kamil' Abzalov\"},\"sameAs\":[\"https:\\\/\\\/kamil-abzalov.com\\\/\",\"https:\\\/\\\/www.facebook.com\\\/kamabzalov\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/kamabzalov\",\"https:\\\/\\\/x.com\\\/kamabzalov\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/kamabzalov\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Create php MVC app. Add user and send email via php - Kamil Abzalov's site","description":"In this lesson we will write method for adding user and also learn how to send mail via php","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/","og_locale":"en_US","og_type":"article","og_title":"Create php MVC app. Add user and send email via php - Kamil Abzalov's site","og_description":"In this lesson we will write method for adding user and also learn how to send mail via php","og_url":"https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/","og_site_name":"\u0441\u0430\u0439\u0442 \u041a\u0430\u043c\u0438\u043b\u044f \u0410\u0431\u0437\u0430\u043b\u043e\u0432\u0430","article_author":"https:\/\/www.facebook.com\/kamabzalov","article_published_time":"2018-06-02T19:39:05+00:00","article_modified_time":"2020-04-11T08:47:21+00:00","author":"Kamil' Abzalov","twitter_card":"summary_large_image","twitter_title":"Create php MVC app. Add user and send email via php","twitter_description":"In this lesson we will write method for adding user and also learn how to send mail via php","twitter_creator":"@kamabzalov","twitter_misc":{"Written by":"Kamil' Abzalov","Est. reading time":"30 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/#article","isPartOf":{"@id":"https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/"},"author":{"name":"Kamil' Abzalov","@id":"https:\/\/kamil-abzalov.com\/#\/schema\/person\/9c53360f21b83306ba40c2231573c600"},"headline":"Create php MVC app. Add user and send email via php","datePublished":"2018-06-02T19:39:05+00:00","dateModified":"2020-04-11T08:47:21+00:00","mainEntityOfPage":{"@id":"https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/"},"wordCount":6078,"commentCount":0,"articleSection":["PHP+MySQL","Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/","url":"https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/","name":"Create php MVC app. Add user and send email via php - Kamil Abzalov's site","isPartOf":{"@id":"https:\/\/kamil-abzalov.com\/#website"},"datePublished":"2018-06-02T19:39:05+00:00","dateModified":"2020-04-11T08:47:21+00:00","author":{"@id":"https:\/\/kamil-abzalov.com\/#\/schema\/person\/9c53360f21b83306ba40c2231573c600"},"description":"In this lesson we will write method for adding user and also learn how to send mail via php","breadcrumb":{"@id":"https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kamil-abzalov.com\/videouroki\/phpmysql\/create-php-mvc-app-adduser-sendmail\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/kamil-abzalov.com\/en\/"},{"@type":"ListItem","position":2,"name":"Create php MVC app. Add user and send email via php"}]},{"@type":"WebSite","@id":"https:\/\/kamil-abzalov.com\/#website","url":"https:\/\/kamil-abzalov.com\/","name":"\u0441\u0430\u0439\u0442 \u041a\u0430\u043c\u0438\u043b\u044f \u0410\u0431\u0437\u0430\u043b\u043e\u0432\u0430","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kamil-abzalov.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/kamil-abzalov.com\/#\/schema\/person\/9c53360f21b83306ba40c2231573c600","name":"Kamil' Abzalov","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g","caption":"Kamil' Abzalov"},"sameAs":["https:\/\/kamil-abzalov.com\/","https:\/\/www.facebook.com\/kamabzalov","https:\/\/www.linkedin.com\/in\/kamabzalov","https:\/\/x.com\/kamabzalov","https:\/\/www.youtube.com\/user\/kamabzalov"]}]}},"_links":{"self":[{"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/posts\/29417","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/comments?post=29417"}],"version-history":[{"count":6,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/posts\/29417\/revisions"}],"predecessor-version":[{"id":32007,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/posts\/29417\/revisions\/32007"}],"wp:attachment":[{"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/media?parent=29417"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/categories?post=29417"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/tags?post=29417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}