1<!DOCTYPE html> 2<html dir='ltr' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'> 3<head> 4<meta content='width=device-width, initial-scale=1' name='viewport'/> 5<title>Lakmali Erandi Baminiwatta’s blog</title> 6<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> 7<!-- Chrome, Firefox OS and Opera --> 8<meta content='#6dbef3' name='theme-color'/> 9<!-- Windows Phone --> 10<meta content='#6dbef3' name='msapplication-navbutton-color'/> 11<meta content='blogger' name='generator'/> 12<link href='https://blog.lakmali.com/favicon.ico' rel='icon' type='image/x-icon'/> 13<link href='https://blog.lakmali.com/search?updated-max=2018-10-12T17:10:00-07:00&max-results=7' rel='canonical'/> 14<link rel="alternate" type="application/atom+xml" title="Lakmali Erandi Baminiwatta’s blog - Atom" href="https://blog.lakmali.com/feeds/posts/default" /> 15<link rel="alternate" type="application/rss+xml" title="Lakmali Erandi Baminiwatta’s blog - RSS" href="https://blog.lakmali.com/feeds/posts/default?alt=rss" /> 16<link rel="service.post" type="application/atom+xml" title="Lakmali Erandi Baminiwatta’s blog - Atom" href="https://www.blogger.com/feeds/1621989597321372268/posts/default" /> 17<link rel="me" href="https://www.blogger.com/profile/06183648962849727542" /> 18<!--Can't find substitution for tag [blog.ieCssRetrofitLinks]--> 19<meta content='https://blog.lakmali.com/search?updated-max=2018-10-12T17:10:00-07:00&max-results=7' property='og:url'/> 20<meta content='Lakmali Erandi Baminiwattaâs blog' property='og:title'/> 21<meta content='' property='og:description'/> 22<meta content='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB-aeP64dOmAKAunse-Z5SzbEhuEDYjSkryqUurLw3UDxC22-9lGTqUz9mPj54Oq_wlBpYSsVy7KGZxS7ZPRIpzIaS5EKA4zsIO-TsInGPYFqV609HflGAmAvGul0M7uRbMSi-r42Wdc2x/w1200-h630-p-k-no-nu/default-signup.png' property='og:image'/> 23<meta content='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQy5EkJh1Hm9yLmlt3aYZ0_oTOHlJ1l9tlMtnMeWUBgaFT9h5Hqv9dG4RinUTuhA9YBER-iPvspk_MNLulGeR2LPNGWCj0A_AT35zbZfmM9emYYk-hHxgvtBkl5wcAvGeUQ8aHfIoAaIl9/w1200-h630-p-k-no-nu/Lc-1.png' property='og:image'/> 24<meta content='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0AfCb5cboy439r9FDFpQFW7OIjOJ3Hhe1pznKzFXQcu5j_ox7YLT-73rKPIYLEypZDE-JwXPIYW6bf27cEAOJ99UrhxEtSnNPrOpPJa8MDe9cXZ3hIuf74FNaNLgx4n56VvUVTlwyyUu3/w1200-h630-p-k-no-nu/blog-pc-1.png' property='og:image'/> 25<meta content='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirNQ2KRfTIl__84D6IkB1f9MQ79JrnaUUtDJug0r7S-qyIkp2o4m2NBTv_u6kMI8mpXXe3kD7D6JPJUn1taE1pKsMcXd_Xvy27Udxw2Ta9jkAh4L_Bd0kkmjzFd2RP_xQe1wCaZKuSI-Gp/w1200-h630-p-k-no-nu/dynamic_ep.png' property='og:image'/> 26<meta content='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8R6O-4s5fDdzlAQuwzrV8O8NflFHyPvl3YpI_EZRJEnADTjp_nXpGxjmVcSc9caN0YvEcQnXcQMZsCdKApmKQ0Dgs_oOD6-aHzjiCDq8vDdrY8OqGDTK5C3K_xj3Dq9ZmOiXzKBEgh69T/w1200-h630-p-k-no-nu/APICreate-1.png' property='og:image'/> 27<meta content='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicAyWIL6xf13vB6_WrGCU2kuZTnTvqhA-37WEw7e_kyLyvY3XO5sOXYCuFDutZF53zfMaG2f_XHOzJrIzXwT6kz-6hCrZ9bmu8FjFWUJWA-x8cvSXSDjZ0cBmRJLmnUomYu5IbxO3o2leq/w1200-h630-p-k-no-nu/loading-1.png' property='og:image'/> 28<meta content='3a23d322cbcd6fb5' name='yandex-verification'/> 29<style type='text/css'>@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(//fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDTbtPY_Q.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(//fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDYbtPY_Q.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;
29src:url(//fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDZbtPY_Q.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(//fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDXbtM.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAX-k2Qn.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAz-k2Qn.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAT-k2Qn.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAv-k2Qn.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuHT-k2Qn.woff2)format('woff2');unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuGb-k2Qn.woff2)format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;
29src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAf-k2Qn.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAb-k2Qn.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAj-kw.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmZiArmlw.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmQiArmlw.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmYiArmlw.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmXiArmlw.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVnoiArmlw.woff2)format('woff2');unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVn6iArmlw.woff2)format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;
29src:url(//fonts.gstatic.com/s/roboto/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmbiArmlw.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmaiArmlw.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAo.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}</style> 30<style id='page-skin-1' type='text/css'><!-- 31.skip-navigation { 32background-color: #fff; 33box-sizing: border-box; 34color: #000; 35display: block; 36height: 0; 37left: 0; 38line-height: 50px; 39overflow: hidden; 40padding-top: 0; 41position: fixed; 42text-align: center; 43top: 0; 44-webkit-transition: box-shadow .3s , height .3s , padding-top .3s; 45transition: box-shadow .3s , height .3s , padding-top .3s; 46width: 100%; 47z-index: 900; 48} 49.skip-navigation:focus { 50box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14) , 0 1px 10px 0 rgba(0,0,0,0.12) , 0 2px 4px -1px rgba(0,0,0,0.2); 51height: 50px; 52} 53#main { 54outline: none; 55} 56body { 57overflow-wrap: break-word; 58word-break: break-word; 59word-wrap: break-word; 60} 61.hidden { 62display: none; 63} 64.invisible { 65visibility: hidden; 66} 67.container:after, .float-container:after { 68clear: both; 69content: ""; 70display: table; 71} 72.clearboth { 73clear: both; 74} 75.dim-overlay { 76background-color: rgba(0,0,0,0.54); 77height: 100vh; 78left: 0; 79position: fixed; 80top: 0; 81width: 100%; 82} 83#sharing-dim-overlay { 84background-color: transparent; 85} 86.main-heading { 87position: absolute; 88clip: rect(1px,1px,1px,1px); 89padding: 0; 90border: 0; 91height: 1px; 92width: 1px; 93overflow: hidden; 94} 95.loading-spinner-large { 96-webkit-animation: mspin-rotate 1568.63ms infinite linear; 97animation: mspin-rotate 1568.63ms infinite linear; 98height: 48px; 99overflow: hidden; 100position: absolute; 101width: 48px; 102z-index: 200; 103} 104.loading-spinner-large>div { 105-webkit-animation: mspin-revrot 5332ms infinite steps(4); 106animation: mspin-revrot 5332ms infinite steps(4); 107} 108.loading-spinner-large>div>div { 109-webkit-animation: mspin-singlecolor-large-film 1333ms infinite steps(81); 110animation: mspin-singlecolor-large-film 1333ms infinite steps(81); 111background-size: 100%; 112height: 48px; 113width: 3888px; 114} 115.mspin-black-large>div>div, .mspin-grey_54-large>div>div { 116background-image: url(https://www.blogblog.com/indie/mspin_black_large.svg); 117} 118.mspin-white-large>div>div { 119background-image: url(https://www.blogblog.com/indie/mspin_white_large.svg); 120} 121.mspin-grey_54-large { 122opacity: .54; 123} 124@-webkit-keyframes mspin-singlecolor-large-film { 1250% { 126-webkit-transform: translateX(0); 127transform: translateX(0); 128} 129to { 130-webkit-transform: translateX(-3888px); 131transform: translateX(-3888px); 132} 133} 134@keyframes mspin-singlecolor-large-film { 1350% { 136-webkit-transform: translateX(0); 137transform: translateX(0); 138} 139to { 140-webkit-transform: translateX(-3888px); 141transform: translateX(-3888px); 142} 143} 144@-webkit-keyframes mspin-rotate { 1450% { 146-webkit-transform: rotate(0deg); 147transform: rotate(0deg); 148} 149to { 150-webkit-transform: rotate(360deg); 151transform: rotate(360deg); 152} 153} 154@keyframes mspin-rotate { 1550% { 156-webkit-transform: rotate(0deg); 157transform: rotate(0deg); 158} 159to { 160-webkit-transform: rotate(360deg); 161transform: rotate(360deg); 162} 163} 164@-webkit-keyframes mspin-revrot { 1650% { 166-webkit-transform: rotate(0deg); 167transform: rotate(0deg); 168} 169to { 170-webkit-transform: rotate(-360deg); 171transform: rotate(-360deg); 172} 173} 174@keyframes mspin-revrot { 1750% { 176-webkit-transform: rotate(0deg); 177transform: rotate(0deg); 178} 179to { 180-webkit-transform: rotate(-360deg); 181transform: rotate(-360deg); 182} 183} 184input::-ms-clear { 185display: none; 186} 187.blogger-logo, .svg-icon-24.blogger-logo { 188fill: #ff9800; 189opacity: 1; 190} 191.widget.Attribution { 192margin-top: 1em; 193text-align: center; 194} 195.widget.Attribution .blogger img, .widget.Attribution .blogger svg { 196vertical-align: bottom; 197} 198.widget.Attribution .blogger img { 199margin-right: .5em; 200} 201.widget.Attribution div { 202line-height: 24px; 203margin-top: .5em; 204} 205.widget.Attribution .image-attribution, .widget.Attribution .copyright { 206font-size: .7em; 207margin-top: 1.5em; 208} 209.item-control { 210display: none; 211} 212.BLOG_mobile_video_class { 213display: none; 214} 215.bg-photo { 216background-attachment: scroll !important; 217} 218body .CSS_LIGHTBOX { 219z-index: 900; 220} 221.extendable .show-more, .extendable .show-less { 222border-color: #108ee3; 223color: #108ee3; 224margin-top: 8px; 225} 226.extendable .show-more.hidden, .extendable .show-less.hidden { 227display: none; 228} 229.inline-ad { 230display: none; 231max-width: 100%; 232overflow: hidden; 233} 234.adsbygoogle { 235display: block; 236} 237#cookieChoiceInfo { 238bottom: 0; 239top: auto; 240} 241iframe.b-hbp-video { 242border: none; 243} 244.post-body img { 245max-width: 100%; 246} 247.post-body iframe { 248max-width: 100%; 249} 250.post-body a[imageanchor="1"] { 251display: inline-block; 252} 253.byline { 254margin-right: 1em; 255} 256.byline:last-child { 257margin-right: 0; 258} 259.paging-control-container { 260margin-bottom: 16px; 261} 262.paging-control-container .paging-control { 263display: inline-block; 264} 265.paging-control-container .paging-control, .paging-control-container .comment-range-text:after { 266color: #108ee3; 267} 268.paging-control-container .paging-control, .paging-control-container .comment-range-text { 269margin-right: 8px; 270} 271.paging-control-container .comment-range-text:after, .paging-control-container .paging-control:after { 272content: "\b7"; 273cursor: default; 274pointer-events: none; 275} 276.paging-control-container .comment-range-text:last-child:after, .paging-control-container .paging-control:last-child:after { 277content: none; 278} 279.paging-control-container .comment-range-text:after, .paging-control-container .paging-control:after { 280padding-left: 8px; 281} 282.byline.reactions iframe { 283height: 20px; 284} 285.b-notification { 286color: #000; 287background-color: white; 288border-bottom: solid 1px #000; 289box-sizing: border-box; 290padding: 16px 32px; 291text-align: center; 292} 293.b-notification.visible { 294-webkit-transition: margin-top .3s cubic-bezier(0.4,0.0,0.2,1); 295transition: margin-top .3s cubic-bezier(0.4,0.0,0.2,1); 296} 297.b-notification.invisible { 298position: absolute; 299} 300.b-notification-close { 301position: absolute; 302right: 8px; 303top: 8px; 304} 305.no-posts-message { 306line-height: 40px; 307text-align: center; 308} 309@media screen and (max-width: 800px) { 310body.item-view .post-body a[imageanchor="1"][style*="float: left;"], body.item-view .post-body a[imageanchor="1"][style*="float: right;"] { 311float: none !important; 312clear: none !important; 313} 314body.item-view .post-body a[imageanchor="1"] img { 315display: block; 316height: auto; 317margin: 0 auto; 318} 319body.item-view .post-body a[imageanchor="1"][style*="float: left;"] img, body.item-view .post-body .separator[style*="text-align: left"] a[imageanchor="1"] img { 320margin: 0 auto 0 0; 321} 322body.item-view .post-body a[imageanchor="1"][style*="float: right;"] img, body.item-view .post-body .separator[style*="text-align: right"] a[imageanchor="1"] img { 323margin: 0 0 0 auto; 324} 325.post-body a[imageanchor] { 326display: block; 327} 328body.item-view .post-body a[imageanchor="1"] { 329margin-left: 0 !important; 330margin-right: 0 !important; 331} 332body.item-view .post-body a[imageanchor="1"]+a[imageanchor="1"] { 333margin-top: 16px; 334} 335} 336#comments { 337border-top: 1px dashed rgba(0,0,0,0.54); 338margin-top: 20px; 339padding: 20px; 340} 341#comments .comment-thread ol { 342margin: 0; 343padding-left: 0; 344} 345#comments .comment-thread ol { 346padding-left: 0; 347} 348#comments .comment-thread .comment-replies, #comments .comment .comment-replybox-single { 349margin-left: 60px; 350} 351#comments .comment-thread .thread-count { 352display: none; 353} 354#comments .comment {
355list-style-type: none; 356padding: 0 0 30px; 357position: relative; 358} 359#comments .comment .comment { 360padding-bottom: 8px; 361} 362.comment .avatar-image-container { 363position: absolute; 364} 365.comment .avatar-image-container img { 366border-radius: 50%; 367} 368.avatar-image-container svg, .comment .avatar-image-container .avatar-icon { 369border-radius: 50%; 370border: solid 1px #848484; 371box-sizing: border-box; 372fill: #848484; 373height: 35px; 374margin: 0; 375padding: 7px; 376width: 35px; 377} 378.comment .comment-block { 379margin-top: 10px; 380padding-bottom: 0; 381} 382.comment .comment-block { 383margin-left: 60px; 384} 385#comments .comment-author-header-wrapper { 386margin-left: 40px; 387} 388#comments .comment .thread-expanded .comment-block { 389padding-bottom: 20px; 390} 391#comments .comment .comment-header .user, #comments .comment .comment-header .user a { 392color: #626262; 393font-style: normal; 394font-weight: bold; 395} 396#comments .comment .comment-actions { 397background: transparent; 398border: none; 399box-shadow: none; 400color: #108ee3; 401cursor: pointer; 402font-size: 14px; 403font-weight: bold; 404outline: none; 405text-decoration: none; 406text-transform: uppercase; 407width: auto; 408bottom: 0; 409margin-bottom: 15px; 410position: absolute; 411} 412#comments .comment .comment-actions>* { 413margin-right: 8px; 414} 415#comments .comment .comment-header .datetime { 416bottom: 0; 417color: rgba(0,0,0,0.54); 418display: inline-block; 419font-size: 13px; 420font-style: italic; 421} 422#comments .comment .comment-header .datetime { 423margin-left: 8px; 424} 425#comments .comment .comment-header .datetime a, #comments .comment .comment-footer .comment-timestamp a { 426color: rgba(0,0,0,0.54); 427} 428.comment .comment-body, #comments .comment .comment-content { 429margin-top: 12px; 430word-break: break-word; 431} 432.comment-body { 433margin-bottom: 12px; 434} 435#comments.embed[data-num-comments="0"] { 436border: none; 437margin-top: 0; 438padding-top: 0; 439} 440#comments.embed[data-num-comments="0"] #comment-post-message, #comments.embed[data-num-comments="0"] div.comment-form>p, #comments.embed[data-num-comments="0"] p.comment-footer { 441display: none; 442} 443#comment-editor-src { 444display: none; 445} 446.comments .comments-content .loadmore.loaded { 447max-height: 0; 448opacity: 0; 449overflow: hidden; 450} 451.extendable .remaining-items { 452height: 0; 453overflow: hidden; 454-webkit-transition: height .3s cubic-bezier(0.4,0.0,0.2,1); 455transition: height .3s cubic-bezier(0.4,0.0,0.2,1); 456} 457.extendable .remaining-items.expanded { 458height: auto; 459} 460.svg-icon-24, .svg-icon-24-button { 461cursor: pointer; 462height: 24px; 463width: 24px; 464min-width: 24px; 465} 466.touch-icon { 467margin: -12px; 468padding: 12px; 469} 470html[dir=rtl] .rtl-reversible-icon { 471-webkit-transform: scaleX(-1); 472-ms-transform: scaleX(-1); 473transform: scaleX(-1); 474} 475svg:not(:root).touch-icon { 476overflow: visible; 477} 478.touch-icon:focus, .touch-icon:active { 479background-color: rgba(153,153,153,.4); 480border-radius: 50%; 481} 482.touch-icon-button, .svg-icon-24-button { 483background: transparent; 484border: none; 485margin: 0; 486outline: none; 487padding: 0; 488} 489.touch-icon-button .touch-icon:focus, .touch-icon-button .touch-icon:active { 490background-color: transparent; 491} 492.touch-icon-button:focus .touch-icon, .touch-icon-button:active .touch-icon { 493background-color: rgba(153,153,153,.4); 494border-radius: 50%; 495} 496.widget.Profile .default-avatar-wrapper .avatar-icon { 497border-radius: 50%; 498border: solid 1px #848484; 499box-sizing: border-box; 500fill: #848484; 501margin: 0; 502} 503.widget.Profile .individual .profile-img, .widget.Profile .individual .avatar-icon { 504height: 120px; 505width: 120px; 506} 507.widget.Profile .team .profile-img, .widget.Profile .team .avatar-icon, .widget.Profile .team .default-avatar-wrapper { 508height: 40px; 509width: 40px; 510} 511.widget.Profile .individual .default-avatar-wrapper .avatar-icon { 512padding: 25px; 513} 514.widget.Profile .team .default-avatar-wrapper .avatar-icon { 515padding: 8px; 516} 517.snippet-container { 518margin: 0; 519position: relative; 520overflow: hidden; 521} 522.snippet-fade { 523bottom: 0; 524box-sizing: border-box; 525position: absolute; 526width: 96px; 527} 528.snippet-fade { 529right: 0; 530} 531.snippet-fade:after { 532content: '\2026'; 533} 534.snippet-fade:after { 535float: right; 536} 537.post-bottom { 538-webkit-box-align: center; 539-webkit-align-items: center; 540-ms-flex-align: center; 541align-items: center; 542display: -webkit-box; 543display: -webkit-flex; 544display: -ms-flexbox; 545display: flex; 546-webkit-flex-wrap: wrap; 547-ms-flex-wrap: wrap; 548flex-wrap: wrap; 549} 550.post-footer { 551-webkit-box-flex: 1; 552-webkit-flex: 1 1 auto;
553-ms-flex: 1 1 auto; 554flex: 1 1 auto; 555-webkit-flex-wrap: wrap; 556-ms-flex-wrap: wrap; 557flex-wrap: wrap; 558-webkit-box-ordinal-group: 2; 559-webkit-order: 1; 560-ms-flex-order: 1; 561order: 1; 562} 563.post-footer>* { 564-webkit-box-flex: 0; 565-webkit-flex: 0 1 auto; 566-ms-flex: 0 1 auto; 567flex: 0 1 auto; 568} 569.post-footer .byline:last-child { 570margin-right: 1em; 571} 572.jump-link { 573-webkit-box-flex: 0; 574-webkit-flex: 0 0 auto; 575-ms-flex: 0 0 auto; 576flex: 0 0 auto; 577-webkit-box-ordinal-group: 3; 578-webkit-order: 2; 579-ms-flex-order: 2; 580order: 2; 581} 582.centered-top-container.sticky { 583left: 0; 584position: fixed; 585right: 0; 586top: 0; 587width: auto; 588z-index: 50; 589-webkit-transition-property: opacity , -webkit-transform; 590transition-property: opacity , -webkit-transform; 591transition-property: transform , opacity; 592transition-property: transform , opacity , -webkit-transform; 593-webkit-transition-duration: .2s; 594transition-duration: .2s; 595-webkit-transition-timing-function: cubic-bezier(0.4,0.0,0.2,1); 596transition-timing-function: cubic-bezier(0.4,0.0,0.2,1); 597} 598.centered-top-placeholder { 599display: none; 600} 601.collapsed-header .centered-top-placeholder { 602display: block; 603} 604.centered-top-container .Header .replaced h1, .centered-top-placeholder .Header .replaced h1 { 605display: none; 606} 607.centered-top-container.sticky .Header .replaced h1 { 608display: block; 609} 610.centered-top-container.sticky .Header .header-widget { 611background: none; 612} 613.centered-top-container.sticky .Header .header-image-wrapper { 614display: none; 615} 616.centered-top-container img, .centered-top-placeholder img { 617max-width: 100%; 618} 619.collapsible { 620-webkit-transition: height .3s cubic-bezier(0.4,0.0,0.2,1); 621transition: height .3s cubic-bezier(0.4,0.0,0.2,1); 622} 623.collapsible, .collapsible>summary { 624display: block; 625overflow: hidden; 626} 627.collapsible>:not(summary) { 628display: none; 629} 630.collapsible[open]>:not(summary) { 631display: block; 632} 633.collapsible:focus, .collapsible>summary:focus { 634outline: none; 635} 636.collapsible>summary { 637cursor: pointer; 638display: block; 639padding: 0; 640} 641.collapsible:focus>summary, .collapsible>summary:focus { 642background-color: transparent; 643} 644.collapsible>summary::-webkit-details-marker { 645display: none; 646} 647.collapsible-title { 648-webkit-box-align: center; 649-webkit-align-items: center; 650-ms-flex-align: center; 651align-items: center; 652display: -webkit-box; 653display: -webkit-flex; 654display: -ms-flexbox; 655display: flex; 656} 657.collapsible-title .title { 658-webkit-box-flex: 1; 659-webkit-flex: 1 1 auto; 660-ms-flex: 1 1 auto; 661flex: 1 1 auto; 662-webkit-box-ordinal-group: 1; 663-webkit-order: 0; 664-ms-flex-order: 0; 665order: 0; 666overflow: hidden; 667text-overflow: ellipsis; 668white-space: nowrap; 669} 670.collapsible-title .chevron-down, .collapsible[open] .collapsible-title .chevron-up { 671display: block; 672} 673.collapsible-title .chevron-up, .collapsible[open] .collapsible-title .chevron-down { 674display: none; 675} 676.flat-button { 677cursor: pointer; 678display: inline-block; 679font-weight: bold; 680text-transform: uppercase; 681border-radius: 2px; 682padding: 8px; 683margin: -8px; 684} 685.flat-icon-button { 686background: transparent; 687border: none; 688margin: 0; 689outline: none; 690padding: 0; 691margin: -12px; 692padding: 12px; 693cursor: pointer; 694box-sizing: content-box; 695display: inline-block; 696line-height: 0; 697} 698.flat-icon-button, .flat-icon-button .splash-wrapper { 699border-radius: 50%; 700} 701.flat-icon-button .splash.animate { 702-webkit-animation-duration: .3s; 703animation-duration: .3s; 704} 705.overflowable-container { 706max-height: 46px; 707overflow: hidden; 708position: relative; 709} 710.overflow-button { 711cursor: pointer; 712} 713#overflowable-dim-overlay { 714background: transparent; 715} 716.overflow-popup { 717box-shadow: 0 2px 2px 0 rgba(0,0,0,.14) , 0 3px 1px -2px rgba(0,0,0,.2) , 0 1px 5px 0 rgba(0,0,0,.12); 718background-color: #fff8f6; 719left: 0; 720max-width: calc(100% - 32px); 721position: absolute; 722top: 0; 723visibility: hidden; 724z-index: 101; 725} 726.overflow-popup ul { 727list-style: none; 728} 729.overflow-popup li, .overflow-popup .tabs li { 730display: block; 731height: auto; 732} 733.overflow-popup .tabs li { 734padding-left: 0; 735padding-right: 0; 736} 737.overflow-button.hidden, .overflow-popup li.hidden, .overflow-popup .tabs li.hidden { 738display: none; 739} 740.pill-button { 741background: transparent; 742border: 1px solid; 743border-radius: 12px; 744cursor: pointer; 745display: inline-block; 746padding: 4px 16px; 747text-transform: uppercase; 748} 749.ripple { 750position: relative; 751} 752.ripple>* { 753z-index: 1; 754} 755.splash-wrapper { 756bottom: 0; 757left: 0; 758overflow: hidden; 759pointer-events: none; 760position: absolute; 761right: 0; 762top: 0; 763z-index: 0; 764} 765.splash { 766background: hsl(0,0%,80%); 767border-radius: 100%; 768display: block; 769opacity: .6; 770position: absolute; 771-webkit-transform: scale(0); 772-ms-transform: scale(0); 773transform: scale(0); 774} 775.splash.animate { 776-webkit-animation: ripple-effect .4s linear; 777animation: ripple-effect .4s linear; 778} 779@-webkit-keyframes ripple-effect { 780to { 781opacity: 0; 782-webkit-transform: scale(2.5); 783transform: scale(2.5); 784} 785} 786@keyframes ripple-effect { 787to { 788opacity: 0; 789-webkit-transform: scale(2.5); 790transform: scale(2.5); 791} 792} 793.search { 794display: -webkit-box; 795display: -webkit-flex; 796display: -ms-flexbox; 797display: flex; 798line-height: 24px; 799width: 24px; 800} 801.search form { 802z-index: 101; 803} 804.search h3 { 805display: none; 806} 807.search.focused { 808width: 100%; 809} 810.search.focused .section { 811width: 100%; 812} 813.search-expand { 814-webkit-box-flex: 0; 815-webkit-flex: 0 0 auto;
816-ms-flex: 0 0 auto; 817flex: 0 0 auto; 818} 819.search-expand-text { 820display: none; 821} 822.search-close { 823display: inline; 824vertical-align: middle; 825} 826.search form { 827display: -webkit-box; 828display: -webkit-flex; 829display: -ms-flexbox; 830display: flex; 831-webkit-box-flex: 1; 832-webkit-flex: 1 0 0; 833-ms-flex: 1 0 0px; 834flex: 1 0 0; 835border-bottom: solid 1px transparent; 836padding-bottom: 8px; 837} 838.search form>* { 839display: none; 840} 841.search.focused form>* { 842display: block; 843} 844.search .search-input label { 845display: none; 846} 847.centered-top-placeholder.cloned .search form { 848z-index: 30; 849} 850.search.focused form { 851border-color: #ffffff; 852position: relative; 853width: auto; 854} 855.collapsed-header .centered-top-container .search.focused form { 856border-bottom-color: transparent; 857} 858.search-input { 859-webkit-box-flex: 1; 860-webkit-flex: 1 0 1px; 861-ms-flex: 1 0 1px; 862flex: 1 0 1px; 863} 864.search-input input { 865background: none; 866border: none; 867box-sizing: border-box; 868color: #ffffff; 869display: inline-block; 870outline: none; 871width: calc(100% - 48px); 872} 873.search-input input.no-cursor { 874color: transparent; 875text-shadow: 0 0 0 #ffffff; 876} 877.collapsed-header .centered-top-container .search-action, .collapsed-header .centered-top-container .search-input input { 878color: #626262; 879} 880.collapsed-header .centered-top-container .search-input input.no-cursor { 881color: transparent; 882text-shadow: 0 0 0 #626262; 883} 884.search-input input.no-cursor:focus, .collapsed-header .centered-top-container .search-input input.no-cursor:focus { 885outline: none; 886} 887.search-focused>* { 888visibility: hidden; 889} 890.search-focused .search, .search-focused .search-icon { 891visibility: visible; 892} 893.search.focused .search-action { 894display: block; 895} 896.search.focused .search-action:disabled { 897opacity: .3; 898} 899.widget.Sharing .sharing-button { 900display: none; 901} 902.widget.Sharing .sharing-buttons li { 903padding: 0; 904} 905.widget.Sharing .sharing-buttons li span { 906display: none; 907} 908.post-share-buttons { 909position: relative; 910} 911.share-buttons .svg-icon-24, .centered-bottom .share-buttons .svg-icon-24 { 912fill: #707070; 913} 914.sharing-open.touch-icon-button:focus .touch-icon, .sharing-open.touch-icon-button:active .touch-icon { 915background-color: transparent; 916} 917.share-buttons { 918background-color: #fff8f6; 919border-radius: 2px; 920box-shadow: 0 2px 2px 0 rgba(0,0,0,.14) , 0 3px 1px -2px rgba(0,0,0,.2) , 0 1px 5px 0 rgba(0,0,0,.12); 921color: #848484; 922list-style: none; 923margin: 0; 924padding: 8px 0; 925position: absolute; 926top: -11px; 927min-width: 200px; 928z-index: 101; 929} 930.share-buttons.hidden { 931display: none; 932} 933.sharing-button { 934background: transparent; 935border: none; 936margin: 0; 937outline: none; 938padding: 0; 939cursor: pointer; 940} 941.share-buttons li { 942margin: 0; 943height: 48px; 944} 945.share-buttons li:last-child { 946margin-bottom: 0; 947} 948.share-buttons li .sharing-platform-button { 949box-sizing: border-box; 950cursor: pointer; 951display: block; 952height: 100%; 953margin-bottom: 0; 954padding: 0 16px; 955position: relative; 956width: 100%; 957} 958.share-buttons li .sharing-platform-button:focus, .share-buttons li .sharing-platform-button:hover { 959background-color: rgba(128,128,128,0.1); 960outline: none; 961} 962.share-buttons li svg[class^="sharing-"], .share-buttons li svg[class*=" sharing-"] { 963position: absolute; 964top: 10px; 965} 966.share-buttons li span.sharing-platform-button, .share-buttons li span.sharing-platform-button { 967position: relative; 968top: 0; 969} 970.share-buttons li .platform-sharing-text { 971display: block; 972font-size: 16px; 973line-height: 48px; 974white-space: nowrap; 975} 976.share-buttons li .platform-sharing-text { 977margin-left: 56px; 978} 979.sidebar-container { 980background-color: #ffffff; 981max-width: 284px; 982overflow-y: auto; 983-webkit-transition-property: -webkit-transform; 984transition-property: -webkit-transform; 985transition-property: transform; 986transition-property: transform, -webkit-transform; 987-webkit-transition-duration: .3s; 988transition-duration: .3s; 989-webkit-transition-timing-function: cubic-bezier(0.0,0.0,0.2,1); 990transition-timing-function: cubic-bezier(0.0,0.0,0.2,1); 991width: 284px; 992z-index: 101; 993-webkit-overflow-scrolling: touch; 994} 995.sidebar-container .navigation { 996line-height: 0; 997padding: 20px; 998} 999.sidebar-container .widget { 1000background: none; 1001margin: 0 16px; 1002padding: 1em 0; 1003} 1004.sidebar-container .widget .title { 1005color: #626262; 1006margin: 0; 1007} 1008.sidebar-container .widget ul { 1009list-style: none; 1010margin: 0; 1011padding: 0; 1012} 1013.sidebar-container .widget ul ul { 1014margin-left: 1em; 1015} 1016.sidebar-container .widget ul li { 1017font-size: 16px; 1018line-height: normal; 1019} 1020.BlogArchive li { 1021margin: 16px 0; 1022} 1023.BlogArchive li:last-child { 1024margin-bottom: 0; 1025} 1026.Label .label-count:before, .BlogArchive .post-count:before { 1027content: '('; 1028} 1029.Label .label-count:after, .BlogArchive .post-count:after { 1030content: ')'; 1031} 1032.Label .label-count, .BlogArchive .post-count { 1033float: right; 1034margin-left: .25em; 1035} 1036.Label li a { 1037display: inline-block; 1038} 1039.widget.Translate .skiptranslate>div { 1040display: block !important; 1041} 1042.widget.Profile .profile-link { 1043background-image: none !important; 1044display: -webkit-box; 1045display: -webkit-flex; 1046display: -ms-flexbox; 1047display: flex; 1048} 1049.widget.Profile .team-member .profile-img, .widget.Profile .team-member .default-avatar-wrapper { 1050-webkit-box-flex: 0; 1051-webkit-flex: 0 0 auto;
1052-ms-flex: 0 0 auto; 1053flex: 0 0 auto; 1054} 1055.widget.Profile .team-member .profile-img, .widget.Profile .team-member .default-avatar-wrapper { 1056margin-right: 1em; 1057} 1058.widget.Profile .individual .profile-link { 1059-webkit-box-orient: vertical; 1060-webkit-box-direction: normal; 1061-webkit-flex-direction: column; 1062-ms-flex-direction: column; 1063flex-direction: column; 1064} 1065.widget.Profile .team .profile-link .profile-name { 1066-webkit-align-self: center; 1067-ms-flex-item-align: center; 1068-ms-grid-row-align: center; 1069align-self: center; 1070display: block; 1071-webkit-box-flex: 1; 1072-webkit-flex: 1 1 auto; 1073-ms-flex: 1 1 auto; 1074flex: 1 1 auto; 1075} 1076.sidebar-container .sidebar-back { 1077cursor: pointer; 1078} 1079.sidebar-container .widget+.widget { 1080border-top: 1px dashed #d3d3d3; 1081} 1082.dim-overlay { 1083background-color: rgba(0,0,0,0.54); 1084z-index: 100; 1085} 1086body.sidebar-visible { 1087overflow-y: hidden; 1088} 1089@media screen and (max-width: 1439px) { 1090.sidebar-container { 1091bottom: 0; 1092position: fixed; 1093top: 0; 1094} 1095.sidebar-container { 1096left: 0; 1097right: auto; 1098} 1099.sidebar-container.sidebar-invisible { 1100-webkit-transition-timing-function: cubic-bezier(0.4,0.0,0.6,1); 1101transition-timing-function: cubic-bezier(0.4,0.0,0.6,1); 1102} 1103.sidebar-container.sidebar-invisible { 1104-webkit-transform: translateX(-284px); 1105-ms-transform: translateX(-284px); 1106transform: translateX(-284px); 1107} 1108} 1109@media screen and (min-width: 1440px) { 1110.sidebar-container { 1111position: absolute; 1112top: 0; 1113} 1114.sidebar-container { 1115left: 0; 1116right: auto; 1117} 1118.sidebar-container .navigation { 1119display: none; 1120} 1121} 1122.dialog { 1123box-shadow: 0 2px 2px 0 rgba(0,0,0,.14) , 0 3px 1px -2px rgba(0,0,0,.2) , 0 1px 5px 0 rgba(0,0,0,.12); 1124background: #ffffff; 1125box-sizing: border-box; 1126padding: 30px; 1127position: fixed; 1128text-align: center; 1129width: calc(100% - 24px); 1130z-index: 101; 1131} 1132.dialog input[type=text], .dialog input[type=email] { 1133background-color: transparent; 1134border-bottom: solid 1px rgba(136,136,136,0.12); 1135border-left: none; 1136border-right: none; 1137border-top: none; 1138color: #888888; 1139display: block; 1140font-family: Roboto, sans-serif; 1141font-size: 16px; 1142line-height: 24px; 1143margin: auto; 1144padding-bottom: 7px; 1145outline: none; 1146text-align: center; 1147width: 100%; 1148} 1149.dialog input[type=text]::-webkit-input-placeholder, .dialog input[type=email]::-webkit-input-placeholder { 1150color: #888888; 1151} 1152.dialog input[type=text]::-moz-placeholder, .dialog input[type=email]::-moz-placeholder { 1153color: #888888; 1154} 1155.dialog input[type=text]:-ms-input-placeholder, .dialog input[type=email]:-ms-input-placeholder { 1156color: #888888; 1157} 1158.dialog input[type=text]::placeholder, .dialog input[type=email]::placeholder { 1159color: #888888; 1160} 1161.dialog input[type=text]:focus, .dialog input[type=email]:focus { 1162border-bottom: solid 2px #108ee3; 1163padding-bottom: 6px; 1164} 1165.dialog input[type=submit] { 1166font-family: Roboto, sans-serif; 1167} 1168.dialog input.no-cursor { 1169color: transparent; 1170text-shadow: 0 0 0 #888888; 1171} 1172.dialog input.no-cursor:focus { 1173outline: none; 1174} 1175.subscribe-popup { 1176max-width: 364px; 1177} 1178.subscribe-popup h3 { 1179color: #626262; 1180font-size: 1.8em; 1181margin-top: 0; 1182} 1183.subscribe-popup div.widget.FollowByEmail h3 { 1184display: none; 1185} 1186.subscribe-popup div.widget.FollowByEmail .follow-by-email-submit { 1187background: transparent; 1188border: none; 1189box-shadow: none; 1190color: #108ee3; 1191cursor: pointer; 1192font-size: 14px; 1193font-weight: bold; 1194outline: none; 1195text-decoration: none; 1196text-transform: uppercase; 1197width: auto; 1198color: #108ee3; 1199display: inline-block; 1200margin: 0 auto; 1201margin-top: 24px; 1202width: auto; 1203white-space: normal; 1204} 1205.subscribe-popup div.widget.FollowByEmail .follow-by-email-submit:disabled { 1206cursor: default; 1207opacity: .3; 1208} 1209@media (max-width:800px) { 1210.blog-name div.widget.Subscribe { 1211margin-bottom: 16px; 1212} 1213body.item-view .blog-name div.widget.Subscribe { 1214margin: 8px auto 16px; 1215width: 100%; 1216} 1217} 1218.tabs { 1219list-style: none; 1220} 1221.tabs li { 1222display: inline-block; 1223} 1224.tabs li a { 1225cursor: pointer; 1226display: inline-block; 1227font-weight: bold; 1228text-transform: uppercase; 1229padding: 12px 8px; 1230} 1231.tabs .selected { 1232border-bottom: 4px solid #ffffff; 1233} 1234.tabs .selected a { 1235color: #ffffff; 1236} 1237body#layout .bg-photo-overlay, body#layout .bg-photo { 1238display: none; 1239} 1240body#layout .page_body { 1241padding: 0; 1242position: relative; 1243top: 0; 1244} 1245body#layout .page { 1246display: inline-block; 1247left: inherit; 1248position: relative; 1249vertical-align: top; 1250width: 540px; 1251} 1252body#layout .centered { 1253max-width: 954px; 1254} 1255body#layout .navigation { 1256display: none; 1257} 1258body#layout .sidebar-container { 1259display: inline-block; 1260width: 40%; 1261} 1262body#layout .hamburger-menu, body#layout .search { 1263display: none; 1264} 1265.centered-top-container .svg-icon-24, body.collapsed-header .centered-top-placeholder .svg-icon-24 { 1266fill: #ffffff; 1267} 1268.sidebar-container .svg-icon-24 { 1269fill: #848484; 1270} 1271.centered-bottom .svg-icon-24, body.collapsed-header .centered-top-container .svg-icon-24 { 1272fill: #848484; 1273} 1274.share-buttons .svg-icon-24, .centered-bottom .share-buttons .svg-icon-24 { 1275fill: #707070; 1276} 1277body { 1278background-color: #6dbef3; 1279color: #888888; 1280font: 15px Roboto, sans-serif; 1281margin: 0; 1282min-height: 100vh; 1283} 1284img { 1285max-width: 100%; 1286} 1287h3 { 1288color: #888888; 1289font-size: 16px; 1290} 1291a { 1292text-decoration: none; 1293color: #108ee3; 1294} 1295a:visited { 1296color: #B33a0d; 1297} 1298a:hover { 1299color: #B33a0d; 1300} 1301blockquote { 1302color: #626262; 1303font: italic 300 15px Roboto, sans-serif; 1304font-size: x-large; 1305text-align: center; 1306} 1307.pill-button { 1308font-size: 12px; 1309} 1310.bg-photo-container { 1311height: 480px; 1312overflow: hidden; 1313position: absolute; 1314width: 100%; 1315z-index: 1; 1316} 1317.bg-photo { 1318background: #ccd9ea url(//themes.googleusercontent.com/image?id=1PViTUnIUSKDy0JJydtqwXOzvZKG0IIJYN8IFx4v__-n881NSni7O3gGUXyMmHxVs8wah) repeat fixed top center /* Credit: lobaaaato (http://www.istockphoto.com/file_closeup.php?id=8321826&platform=blogger) */; 1319background-attachment: scroll; 1320background-size: cover; 1321-webkit-filter: blur(0px); 1322filter: blur(0px);
1323height: calc(100% + 2 * 0px); 1324left: 0px; 1325position: absolute; 1326top: 0px; 1327width: calc(100% + 2 * 0px); 1328} 1329.bg-photo-overlay { 1330background: rgba(0,0,0,.26); 1331background-size: cover; 1332height: 480px; 1333position: absolute; 1334width: 100%; 1335z-index: 2; 1336} 1337.hamburger-menu { 1338float: left; 1339margin-top: 0; 1340} 1341.sticky .hamburger-menu { 1342float: none; 1343position: absolute; 1344} 1345body.item-view .return_link { 1346margin-bottom: 12px; 1347margin-top: 12px; 1348position: absolute; 1349} 1350.search { 1351float: right; 1352position: relative; 1353-webkit-transition-property: width; 1354transition-property: width; 1355-webkit-transition-duration: .5s; 1356transition-duration: .5s; 1357-webkit-transition-timing-function: cubic-bezier(0.4,0.0,0.2,1); 1358transition-timing-function: cubic-bezier(0.4,0.0,0.2,1); 1359} 1360.search form { 1361height: 36px; 1362} 1363.centered-top-container.sticky .search, body.item-view .search { 1364float: none; 1365position: absolute; 1366} 1367.centered-top-container.sticky .search, body.item-view .search { 1368right: 0; 1369} 1370.search_button { 1371-webkit-box-flex: 0; 1372-webkit-flex: 0 0 24px; 1373-ms-flex: 0 0 24px; 1374flex: 0 0 24px; 1375-webkit-box-orient: vertical; 1376-webkit-box-direction: normal; 1377-webkit-flex-direction: column; 1378-ms-flex-direction: column; 1379flex-direction: column; 1380} 1381.search_button svg { 1382margin-top: 0; 1383} 1384body.item-view .search, .centered-top-container.sticky .search { 1385margin-left: 0; 1386position: absolute; 1387} 1388body.item-view .search, .centered-top-container.sticky .search { 1389right: 0; 1390} 1391body.item-view .search.focused, .centered-top-container.sticky .search.focused { 1392width: calc(100% - 50px); 1393} 1394.search { 1395border-bottom: solid 1px rgba(255, 255, 255, 0); 1396z-index: 101; 1397} 1398.search form { 1399-webkit-transition-property: border-color; 1400transition-property: border-color; 1401-webkit-transition-delay: .5s; 1402transition-delay: .5s; 1403-webkit-transition-duration: .2s; 1404transition-duration: .2s; 1405-webkit-transition-timing-function: cubic-bezier(0.4,0.0,0.2,1); 1406transition-timing-function: cubic-bezier(0.4,0.0,0.2,1); 1407} 1408.search.focused form { 1409display: -webkit-box; 1410display: -webkit-flex; 1411display: -ms-flexbox; 1412display: flex; 1413-webkit-box-flex: 1; 1414-webkit-flex: 1 0 1px; 1415-ms-flex: 1 0 1px; 1416flex: 1 0 1px; 1417} 1418.centered-top-placeholder.cloned .search form { 1419z-index: 30; 1420} 1421.search.focused { 1422width: calc(100% - 48px); 1423} 1424.search.focused form { 1425border-color: #ffffff; 1426position: relative; 1427width: auto; 1428} 1429.search.focused form { 1430margin-left: -24px; 1431padding-left: 36px; 1432} 1433.centered-top-container.sticky .search.focused form { 1434border-bottom-color: #757575; 1435} 1436.search-input { 1437height: 48px; 1438} 1439.search-input input { 1440display: block; 1441color: #ffffff; 1442font: 16px Roboto, sans-serif; 1443height: 48px; 1444line-height: 48px; 1445padding: 0; 1446width: 100%; 1447} 1448.search-input input::-webkit-input-placeholder { 1449color: rgba(255, 255, 255, 0.30); 1450} 1451.search-input input::-moz-placeholder { 1452color: rgba(255, 255, 255, 0.30); 1453} 1454.search-input input:-ms-input-placeholder { 1455color: rgba(255, 255, 255, 0.30); 1456} 1457.search-input input::placeholder { 1458color: rgba(255, 255, 255, 0.30); 1459} 1460.search-action { 1461background: transparent; 1462border: none; 1463color: #ffffff; 1464cursor: pointer; 1465display: none; 1466height: 48px; 1467margin-top: 0; 1468} 1469.centered-top-container.sticky .search-action { 1470color: #757575; 1471} 1472.search.focused .search-action { 1473display: block; 1474} 1475.search.focused .search-action:disabled { 1476opacity: .3; 1477} 1478.search .dim-overlay { 1479background-color: transparent; 1480} 1481.page_body { 1482position: relative; 1483z-index: 20; 1484} 1485.blog-name { 1486margin: 24px 0 16px; 1487} 1488.centered-top-container .blog-name { 1489-webkit-transition-property: opacity; 1490transition-property: opacity; 1491-webkit-transition-duration: .5s; 1492transition-duration: .5s; 1493} 1494body.item-view .blog-name { 1495display: -webkit-box; 1496display: -webkit-flex; 1497display: -ms-flexbox; 1498display: flex; 1499-webkit-flex-wrap: wrap; 1500-ms-flex-wrap: wrap; 1501flex-wrap: wrap; 1502margin: 0 48px 27px; 1503} 1504body.item-view .subscribe-section-container { 1505-webkit-box-flex: 0; 1506-webkit-flex: 0 0 auto; 1507-ms-flex: 0 0 auto; 1508flex: 0 0 auto; 1509} 1510.centered-top-container.sticky .blog-name { 1511margin: 0 48px; 1512} 1513.centered-top-container.sticky .blog-name { 1514display: -webkit-box; 1515display: -webkit-flex; 1516display: -ms-flexbox; 1517display: flex; 1518} 1519.centered-top-container.sticky .blog-name #header { 1520-webkit-box-flex: 0; 1521-webkit-flex: 0 1 auto;
1522-ms-flex: 0 1 auto; 1523flex: 0 1 auto; 1524-webkit-box-ordinal-group: 2; 1525-webkit-order: 1; 1526-ms-flex-order: 1; 1527order: 1; 1528overflow: hidden; 1529} 1530.centered-top-container.sticky .Header h1 { 1531overflow: hidden; 1532text-overflow: ellipsis; 1533white-space: nowrap; 1534margin-bottom: -10px; 1535padding-bottom: 10px; 1536} 1537.centered-top-container.sticky .Header h1 { 1538margin-right: -10px; 1539padding-right: 10px; 1540} 1541.centered-top-container.sticky .blog-name .subscribe-section-container { 1542-webkit-box-flex: 0; 1543-webkit-flex: 0 0 auto; 1544-ms-flex: 0 0 auto; 1545flex: 0 0 auto; 1546-webkit-box-ordinal-group: 3; 1547-webkit-order: 2; 1548-ms-flex-order: 2; 1549order: 2; 1550} 1551.centered-top-container.sticky .blog-name, body.item-view .blog-name { 1552box-sizing: border-box; 1553margin-left: 36px; 1554min-height: 48px; 1555opacity: 1; 1556padding-top: 12px; 1557} 1558.search-focused>* { 1559visibility: visible; 1560} 1561.search-focused .hamburger-menu { 1562visibility: visible; 1563} 1564.sticky .search-focused .blog-name, body.item-view .search-focused .blog-name { 1565opacity: 0; 1566} 1567.page_body .centered { 1568box-sizing: border-box; 1569display: -webkit-box; 1570display: -webkit-flex; 1571display: -ms-flexbox; 1572display: flex; 1573-webkit-box-orient: vertical; 1574-webkit-box-direction: normal; 1575-webkit-flex-direction: column; 1576-ms-flex-direction: column; 1577flex-direction: column; 1578margin: 0 auto; 1579max-width: 954px; 1580min-height: 100vh; 1581padding: 24px 0; 1582} 1583.page_body .centered>* { 1584-webkit-box-flex: 0; 1585-webkit-flex: 0 0 auto; 1586-ms-flex: 0 0 auto; 1587flex: 0 0 auto; 1588} 1589.page_body .centered>#footer { 1590margin-top: auto; 1591} 1592.centered-bottom, .centered-top-container, .centered-top-placeholder { 1593padding: 0 16px; 1594} 1595.centered-top { 1596position: relative; 1597} 1598.centered-top-container.sticky { 1599background: #ffffff; 1600box-shadow: 0 0 20px 0 rgba(0,0,0,0.7); 1601box-sizing: border-box; 1602margin-left: 0; 1603} 1604.centered-top-container.sticky .centered-top { 1605margin: 4px auto; 1606max-width: calc(954px - 32px); 1607min-height: 48px; 1608} 1609.page_body.vertical-ads .centered .centered-bottom { 1610width: calc(100% - 176px); 1611} 1612.page_body.vertical-ads .centered .centered-bottom { 1613display: inline-block; 1614} 1615body.item-view .widget.Header, body.item-view #header { 1616margin-bottom: 5px; 1617margin-right: 15px; 1618} 1619body.item-view .sticky .widget.Header { 1620margin-bottom: 0; 1621} 1622.widget.Header h1 { 1623color: #ffffff; 1624font: 900 44px Playfair Display, serif; 1625line-height: normal; 1626margin: 0 0 13px; 1627text-align: center; 1628width: 100%; 1629} 1630.widget.Header h1 a, .widget.Header h1 a:visited, .widget.Header h1 a:hover { 1631color: #ffffff; 1632} 1633body.item-view .widget.Header h1, .centered-top-container.sticky .widget.Header h1 { 1634font-size: 24px; 1635line-height: 24px; 1636margin: 0; 1637text-align: left; 1638} 1639.centered-top-container.sticky .widget.Header h1 { 1640color: #757575; 1641} 1642.centered-top-container.sticky .widget.Header h1 a, .centered-top-container.sticky .widget.Header h1 a:visited, .centered-top-container.sticky .widget.Header h1 a:hover { 1643color: #757575; 1644} 1645.widget.Header p { 1646color: #ffffff; 1647margin: 0 0 13px; 1648opacity: .8; 1649text-align: center; 1650} 1651body.item-view .widget.Header p { 1652margin: 10px 0 0; 1653text-align: left; 1654} 1655.centered-top-container.sticky .widget.Header p { 1656display: none; 1657} 1658.widget .title { 1659line-height: 28px; 1660} 1661.widget.BlogArchive li { 1662font-size: 16px; 1663} 1664.widget.BlogArchive .post-count { 1665color: #757575; 1666} 1667div.widget.Blog .blog-posts .post-outer-container, #page_body div.widget.FeaturedPost { 1668background: #ffffff; 1669min-height: 40px; 1670padding: 30px 40px; 1671width: auto; 1672} 1673.post-outer-container, #page_body div.widget { 1674margin-bottom: 16px; 1675} 1676div.widget.Blog .blog-posts .post-outer-container:last-child { 1677margin-bottom: 0; 1678} 1679div.widget.Blog .blog-posts .post-outer-container .post-outer, .main .FeaturedPost .widget-content { 1680border: none; 1681position: relative; 1682padding-bottom: .25em; 1683} 1684.post:first-child { 1685margin-top: 0; 1686} 1687.post .thumb { 1688float: left; 1689height: 20%; 1690width: 20%; 1691} 1692.post-share-buttons-top, .post-share-buttons-bottom { 1693float: right; 1694} 1695body.item-view .post-share-buttons-bottom { 1696margin-right: 16px; 1697} 1698.post-share-buttons-bottom { 1699margin-right: 24px; 1700} 1701.post-header, .post-footer { 1702color: rgba(97, 97, 97, 0.54); 1703margin: 0; 1704width: inherit; 1705} 1706.post-header, .post-footer { 1707clear: left; 1708} 1709.blog-pager { 1710text-align: center; 1711} 1712.blog-pager a { 1713color: #888888; 1714} 1715.blog-pager a:visited { 1716color: #B33a0d; 1717} 1718.blog-pager a:hover { 1719color: #B33a0d; 1720} 1721.post-title { 1722font: 900 28px Playfair Display, serif; 1723max-width: calc(100% - 48px); 1724} 1725.post-title, .post-title a, .post-title a:visited, .post-title a:hover { 1726color: #626262; 1727} 1728.post-title { 1729margin: 0 0 8px; 1730} 1731.post-title { 1732float: left; 1733} 1734.post-title a { 1735font: 900 36px Playfair Display, serif; 1736} 1737.post-body { 1738color: #757575; 1739font: 15px Roboto, sans-serif; 1740line-height: 1.6em; 1741margin: 1.5em 0 2em; 1742display: block; 1743} 1744.post-body img { 1745height: inherit; 1746} 1747.PopularPosts { 1748background-color: #fff8f6; 1749padding: 30px 40px; 1750} 1751.PopularPosts .item-content { 1752color: #757575; 1753} 1754.PopularPosts a, .PopularPosts a:visited, .PopularPosts a:hover { 1755color: #B33a0d; 1756} 1757.PopularPosts .post-title, .PopularPosts .post-title a, .PopularPosts .post-title a:visited .PopularPosts .post-title a:hover { 1758color: #212121; 1759font-size: 18px;
1760font-weight: bold; 1761line-height: 24px; 1762} 1763.FeaturedPost img { 1764margin-top: 2em; 1765} 1766.FeaturedPost .snippet-container { 1767margin: 2em 0; 1768} 1769.FeaturedPost .snippet-container p { 1770margin: 0; 1771} 1772.post-body .snippet-thumbnail { 1773float: left; 1774margin: 0; 1775margin-right: 2em; 1776max-height: 128px; 1777max-width: 128px; 1778} 1779.FeaturedPost .snippet-thumbnail { 1780float: none; 1781height: auto; 1782margin-bottom: 2em; 1783margin-right: 0; 1784overflow: hidden; 1785max-height: calc(600px + 2em); 1786max-width: 100%; 1787text-align: center; 1788width: 100%; 1789} 1790.FeaturedPost .snippet-thumbnail img { 1791width: 100%; 1792} 1793.post-body .snippet-thumbnail img, .FeaturedPost .snippet-thumbnail img { 1794max-width: 100%; 1795} 1796.byline { 1797color: rgba(97, 97, 97, 0.54); 1798display: inline-block; 1799line-height: 24px; 1800margin-top: 8px; 1801vertical-align: top; 1802} 1803.PopularPosts .jump-link { 1804float: right; 1805margin-top: 16px; 1806} 1807.flat-button.ripple .splash { 1808background-color: rgba(16,142,227,0.4); 1809} 1810.flat-button.ripple:hover { 1811background-color: rgba(16,142,227,0.12); 1812} 1813.byline.post-author:first-child { 1814margin-right: 0; 1815} 1816a.timestamp-link, a:active.timestamp-link, a:visited.timestamp-link { 1817color: inherit; 1818font: inherit; 1819text-decoration: inherit; 1820} 1821.byline.reactions .reactions-label { 1822line-height: 22px; 1823vertical-align: top; 1824} 1825div.byline.post-share-buttons { 1826position: relative; 1827display: inline-block; 1828margin-top: 0; 1829width: 100%; 1830} 1831.byline.post-share-buttons .sharing { 1832float: right; 1833} 1834.post-share-buttons { 1835margin-left: 0; 1836} 1837div.clear-sharing { 1838min-height: 24px; 1839} 1840.comment-link { 1841color: #108ee3; 1842position: relative; 1843} 1844.comment-link .num_comments { 1845margin-left: 8px; 1846vertical-align: top; 1847} 1848#comment-holder .continue { 1849display: none; 1850} 1851#comment-editor { 1852margin-bottom: 20px; 1853margin-top: 20px; 1854} 1855#comments h3.title, #comments .comment-form h4 { 1856position: absolute; 1857clip: rect(1px,1px,1px,1px); 1858padding: 0; 1859border: 0; 1860height: 1px; 1861width: 1px; 1862overflow: hidden; 1863} 1864div.post-filter-message { 1865background-color: rgba(0,0,0,0.7); 1866color: #fff; 1867display: table; 1868margin-bottom: 16px; 1869width: 100%; 1870} 1871div.post-filter-message div { 1872display: table-cell; 1873padding: 15px 28px; 1874} 1875div.post-filter-message div:last-child { 1876padding-left: 0; 1877text-align: right; 1878} 1879div.post-filter-message a { 1880white-space: nowrap; 1881} 1882div.post-filter-message .search-query, div.post-filter-message .search-label { 1883font-weight: bold; 1884color: #108ee3; 1885} 1886#blog-pager { 1887margin: 2em 0; 1888} 1889#blog-pager a { 1890color: #ffffff; 1891font-size: 14px; 1892} 1893.blog-name .subscribe-section-container { 1894margin-bottom: 32px; 1895text-align: center; 1896-webkit-transition-property: opacity; 1897transition-property: opacity; 1898-webkit-transition-duration: .5s; 1899transition-duration: .5s; 1900} 1901body.item-view .blog-name .subscribe-section-container, .centered-top-container.sticky .blog-name .subscribe-section-container { 1902margin: 0 0 8px; 1903} 1904.centered-top-container.sticky #header { 1905margin-bottom: 8px; 1906} 1907.centered-top-container.sticky #header { 1908margin-right: 8px; 1909} 1910.centered-top-container.sticky .centered-top.search-focused .subscribe-section-container, body.item-view .centered-top.search-focused .subscribe-section-container { 1911opacity: 0; 1912} 1913.subscribe-button { 1914border-color: #ffffff; 1915color: #ffffff; 1916} 1917.sticky .subscribe-button { 1918border-color: #757575; 1919color: #757575; 1920} 1921.blog-name .PageList .overflowable-contents { 1922width: 100%; 1923} 1924.centered-top-container.sticky .PageList { 1925display: none; 1926} 1927.blog-name .PageList h3.title { 1928color: #ffffff; 1929margin: 8px auto; 1930text-align: center; 1931width: 100%; 1932} 1933.blog-name .PageList { 1934margin-top: 16px; 1935padding-top: 8px; 1936text-align: center; 1937} 1938.tabs { 1939margin: 0 auto; 1940padding: 0; 1941} 1942.tabs li { 1943margin: 0 8px; 1944} 1945.overflow-button a { 1946padding: 12px 8px; 1947} 1948.tabs li a, .overflow-button a { 1949color: #d3d3d3; 1950font: 700 normal 15px Roboto, sans-serif; 1951} 1952.overflow-popup .tabs li { 1953text-align: left; 1954} 1955.overflow-popup li a { 1956color: #757575; 1957display: block; 1958padding: 8px 20px; 1959} 1960.overflow-popup li.selected a { 1961color: #212121; 1962} 1963a.report_abuse { 1964font-weight: normal; 1965} 1966.widget.Label ul { 1967list-style: none; 1968padding: 0; 1969} 1970.widget.Label li, .widget.Label span.label-size, .byline.post-labels a { 1971background-color: #016fff; 1972border: 1px solid #016fff; 1973border-radius: 15px; 1974display: inline-block; 1975margin: 4px 4px 4px 0; 1976padding: 3px 8px; 1977} 1978.widget.Label li a, .byline.post-labels a { 1979color: #ffffff; 1980} 1981.main div.widget.PopularPosts { 1982padding: 16px 40px; 1983} 1984div.widget.PopularPosts, div.widget.PopularPosts h3.title a { 1985color: #757575; 1986font: 15px Roboto, sans-serif; 1987} 1988.widget.ReportAbuse, div.widget.PopularPosts .post+.post { 1989border-top: 1px dashed #d3d3d3; 1990} 1991div.widget.PopularPosts h3.post-title { 1992margin-bottom: 0; 1993} 1994div.widget.PopularPosts h3.title { 1995font-size: 14px; 1996margin: 0; 1997} 1998.PopularPosts .byline { 1999color: rgba(0, 0, 0, 0.54); 2000} 2001.PopularPosts .post-header .byline { 2002font-size: .9em; 2003font-style: italic; 2004margin-top: 6px; 2005} 2006div.widget.PopularPosts .item-content { 2007margin-top: 24px; 2008} 2009div.widget.PopularPosts ul { 2010list-style: none; 2011padding: 0; 2012margin: 0; 2013} 2014div.widget.PopularPosts .post {
2015padding: 20px 0; 2016} 2017div.widget.PopularPosts div.item-thumbnail { 2018float: left; 2019margin-right: 32px; 2020} 2021div.widget.PopularPosts div.item-thumbnail img { 2022height: 88px; 2023padding: 0; 2024width: 88px; 2025} 2026.inline-ad { 2027margin-bottom: 16px; 2028} 2029.desktop-ad .inline-ad { 2030display: block; 2031} 2032.adsbygoogle { 2033overflow: hidden; 2034} 2035.vertical-ad-container { 2036width: 128px; 2037} 2038.vertical-ad-container { 2039float: right; 2040margin-right: 16px; 2041} 2042.vertical-ad-container .widget.AdSense+.widget.AdSense { 2043margin-top: 16px; 2044} 2045.vertical-ad-placeholder, .inline-ad-placeholder { 2046background: #ffffff; 2047border: 1px solid #000; 2048opacity: .9; 2049vertical-align: middle; 2050text-align: center; 2051} 2052.vertical-ad-placeholder { 2053height: 600px; 2054} 2055.inline-ad-placeholder { 2056height: 90px; 2057} 2058.vertical-ad-placeholder span, .inline-ad-placeholder span { 2059margin-top: 290px; 2060display: block; 2061text-transform: uppercase; 2062font-weight: bold; 2063color: #626262; 2064} 2065.vertical-ad-placeholder span { 2066margin-top: 290px; 2067padding: 0 40px; 2068} 2069.inline-ad-placeholder span { 2070margin-top: 36px; 2071} 2072.Attribution { 2073color: #e3e3e3; 2074} 2075.Attribution a, .Attribution a:hover, .Attribution a:visited { 2076color: #ffffff; 2077} 2078.Attribution svg { 2079fill: #ffffff; 2080} 2081.sidebar-container { 2082box-shadow: 1px 1px 3px rgba(0,0,0,.1); 2083} 2084.sidebar-container, .sidebar-container .sidebar_bottom { 2085background-color: #ffffff; 2086} 2087.sidebar-container .navigation, .sidebar-container .sidebar_top_wrapper { 2088background-color: #ffffff; 2089} 2090.sidebar-container .sidebar_top { 2091overflow: auto; 2092} 2093.sidebar-container .sidebar_bottom { 2094width: 100%; 2095padding-top: 16px; 2096} 2097.sidebar_top .widget.Profile { 2098padding-bottom: 16px; 2099} 2100.sidebar-container .widget:first-child { 2101padding-top: 0; 2102} 2103.widget.Profile { 2104margin: 0; 2105width: 100%; 2106} 2107.widget.Profile h2 { 2108display: none; 2109} 2110.widget.Profile h3.title { 2111color: rgba(97, 97, 97, 0.52); 2112margin: 16px 32px; 2113} 2114.widget.Profile .individual { 2115text-align: center; 2116} 2117.widget.Profile .individual .profile-link { 2118padding: 1em; 2119} 2120.widget.Profile .individual .default-avatar-wrapper .avatar-icon { 2121margin: auto; 2122} 2123.widget.Profile .team { 2124margin-bottom: 32px; 2125margin-left: 32px; 2126margin-right: 32px; 2127} 2128.widget.Profile ul { 2129list-style: none; 2130padding: 0; 2131} 2132.widget.Profile li { 2133margin: 10px 0; 2134} 2135.widget.Profile .profile-img { 2136border-radius: 50%; 2137float: none; 2138} 2139.widget.Profile .profile-link { 2140background: transparent; 2141border: none; 2142box-shadow: none; 2143color: #108ee3; 2144cursor: pointer; 2145font-size: 14px; 2146font-weight: bold; 2147outline: none; 2148text-decoration: none; 2149text-transform: uppercase; 2150width: auto; 2151color: #212121; 2152font-size: .9em; 2153margin-bottom: 1em; 2154opacity: .87; 2155overflow: hidden; 2156} 2157.widget.Profile .profile-link.visit-profile { 2158background: transparent; 2159border: none; 2160box-shadow: none; 2161color: #108ee3; 2162cursor: pointer; 2163font-size: 14px; 2164font-weight: bold; 2165outline: none; 2166text-decoration: none; 2167text-transform: uppercase; 2168width: auto; 2169border-style: solid; 2170border-width: 1px; 2171border-radius: 12px; 2172cursor: pointer; 2173font-size: 12px; 2174font-weight: normal; 2175padding: 5px 20px; 2176display: inline-block; 2177line-height: normal; 2178} 2179.widget.Profile dd { 2180color: rgba(97, 97, 97, 0.54); 2181margin: 0 16px; 2182} 2183.widget.Profile .location { 2184margin-bottom: 1em; 2185} 2186.widget.Profile .profile-textblock { 2187font-size: 14px; 2188line-height: 24px; 2189position: relative; 2190} 2191body.sidebar-visible .page_body { 2192overflow-y: scroll; 2193} 2194body.sidebar-visible .bg-photo-container { 2195overflow-y: scroll; 2196} 2197@media screen and (min-width:1440px) { 2198.sidebar-container { 2199margin-top: 480px; 2200min-height: calc(100% - 480px); 2201overflow: visible; 2202z-index: 32; 2203} 2204.sidebar-container .sidebar_top_wrapper { 2205background-color: #ffffff; 2206height: 480px; 2207margin-top: -480px; 2208} 2209.sidebar-container .sidebar_top { 2210display: -webkit-box; 2211display: -webkit-flex; 2212display: -ms-flexbox; 2213display: flex; 2214height: 480px; 2215-webkit-box-orient: horizontal; 2216-webkit-box-direction: normal; 2217-webkit-flex-direction: row; 2218-ms-flex-direction: row; 2219flex-direction: row; 2220max-height: 480px; 2221} 2222.sidebar-container .sidebar_bottom { 2223max-width: 284px; 2224width: 284px; 2225} 2226body.collapsed-header .sidebar-container { 2227z-index: 15; 2228} 2229.sidebar-container .sidebar_top:empty { 2230display: none; 2231} 2232.sidebar-container .sidebar_top>*:only-child { 2233-webkit-box-flex: 0; 2234-webkit-flex: 0 0 auto;
2235-ms-flex: 0 0 auto; 2236flex: 0 0 auto; 2237-webkit-align-self: center; 2238-ms-flex-item-align: center; 2239-ms-grid-row-align: center; 2240align-self: center; 2241width: 100%; 2242} 2243.sidebar_top_wrapper.no-items { 2244display: none; 2245} 2246} 2247.post-snippet.snippet-container { 2248max-height: 120px; 2249} 2250.post-snippet .snippet-item { 2251line-height: 24px; 2252} 2253.post-snippet .snippet-fade { 2254background: -webkit-linear-gradient(left,#ffffff 0%,#ffffff 20%,rgba(255, 255, 255, 0) 100%); 2255background: linear-gradient(to left,#ffffff 0%,#ffffff 20%,rgba(255, 255, 255, 0) 100%); 2256color: #888888; 2257height: 24px; 2258} 2259.popular-posts-snippet.snippet-container { 2260max-height: 72px; 2261} 2262.popular-posts-snippet .snippet-item { 2263line-height: 24px; 2264} 2265.PopularPosts .popular-posts-snippet .snippet-fade { 2266color: #888888; 2267height: 24px; 2268} 2269.main .popular-posts-snippet .snippet-fade { 2270background: -webkit-linear-gradient(left,#fff8f6 0%,#fff8f6 20%,rgba(255, 248, 246, 0) 100%); 2271background: linear-gradient(to left,#fff8f6 0%,#fff8f6 20%,rgba(255, 248, 246, 0) 100%); 2272} 2273.sidebar_bottom .popular-posts-snippet .snippet-fade { 2274background: -webkit-linear-gradient(left,#ffffff 0%,#ffffff 20%,rgba(255, 255, 255, 0) 100%); 2275background: linear-gradient(to left,#ffffff 0%,#ffffff 20%,rgba(255, 255, 255, 0) 100%); 2276} 2277.profile-snippet.snippet-container { 2278max-height: 192px; 2279} 2280.has-location .profile-snippet.snippet-container { 2281max-height: 144px; 2282} 2283.profile-snippet .snippet-item { 2284line-height: 24px; 2285} 2286.profile-snippet .snippet-fade { 2287background: -webkit-linear-gradient(left,#ffffff 0%,#ffffff 20%,rgba(255, 255, 255, 0) 100%); 2288background: linear-gradient(to left,#ffffff 0%,#ffffff 20%,rgba(255, 255, 255, 0) 100%); 2289color: rgba(97, 97, 97, 0.54); 2290height: 24px; 2291} 2292@media screen and (min-width:1440px) { 2293.profile-snippet .snippet-fade { 2294background: -webkit-linear-gradient(left,#ffffff 0%,#ffffff 20%,rgba(255, 255, 255, 0) 100%); 2295background: linear-gradient(to left,#ffffff 0%,#ffffff 20%,rgba(255, 255, 255, 0) 100%); 2296} 2297} 2298@media screen and (max-width: 800px) { 2299.blog-name { 2300margin-top: 0; 2301} 2302body.item-view .blog-name { 2303margin: 0 48px; 2304} 2305body .centered-bottom { 2306padding: 8px; 2307} 2308body.item-view .centered-bottom { 2309padding: 0; 2310} 2311.page_body .centered { 2312padding: 10px 0; 2313} 2314body.item-view .widget.Header, body.item-view #header { 2315margin-right: 0; 2316} 2317body.collapsed-header .centered-top-container .blog-name { 2318display: block; 2319} 2320.widget.Header header { 2321padding: 0; 2322} 2323.widget.Header h1 { 2324font-size: 23.467px; 2325margin-bottom: 13px; 2326} 2327body.item-view .widget.Header h1, body.collapsed-header .centered-top-container .widget.Header h1 { 2328text-align: center; 2329} 2330body.item-view .widget.Header p { 2331text-align: center; 2332} 2333.blog-name .widget.PageList { 2334padding: 0; 2335} 2336body.item-view .centered-top { 2337margin-bottom: 5px; 2338} 2339.search-input, .search-action { 2340margin-bottom: -8px; 2341} 2342.search form { 2343margin-bottom: 8px; 2344} 2345body.item-view .subscribe-section-container { 2346margin: 5px 0 0; 2347width: 100%; 2348} 2349div.widget.Blog .blog-posts .post-outer-container, #page_body.section div.widget.FeaturedPost, div.widget.PopularPosts { 2350padding: 16px; 2351} 2352div.widget.Blog .blog-posts .post-outer-container .post-outer { 2353padding: 0; 2354} 2355.post:first-child { 2356margin: 0; 2357} 2358.post-body .snippet-thumbnail, div.widget.PopularPosts div.item-thumbnail { 2359margin: 0 3vw 3vw 0; 2360} 2361.post-body .snippet-thumbnail img { 2362height: 20vw; 2363width: 20vw; 2364max-height: 128px; 2365max-width: 128px; 2366} 2367div.widget.PopularPosts div.item-thumbnail img { 2368height: 20vw; 2369width: 20vw; 2370max-height: 88px; 2371max-width: 88px; 2372} 2373.post-title { 2374line-height: 1; 2375} 2376.post-title a { 2377font-size: 18px; 2378} 2379#page_body.section div.widget.FeaturedPost h3 a { 2380font-size: 22px; 2381} 2382.mobile-ad .inline-ad { 2383display: block; 2384} 2385.page_body.vertical-ads .vertical-ad-container, .page_body.vertical-ads .vertical-ad-container ins { 2386display: none; 2387} 2388.page_body.vertical-ads .centered .centered-top, .page_body.vertical-ads .centered .centered-bottom { 2389display: block; 2390width: auto; 2391} 2392div.post-filter-message div { 2393padding: 8px 16px; 2394} 2395} 2396@media screen and (min-width:1440px) { 2397body { 2398position: relative; 2399} 2400body.item-view .blog-name { 2401margin-left: 48px; 2402} 2403.page_body { 2404margin-left: 284px; 2405} 2406.search { 2407margin-left: 0; 2408} 2409.search.focused { 2410width: 100%; 2411} 2412.sticky { 2413padding-left: 284px; 2414} 2415.hamburger-menu { 2416display: none; 2417} 2418body.collapsed-header .page_body .centered-top-container { 2419padding-left: 284px; 2420padding-right: 0; 2421width: 100%; 2422} 2423body.collapsed-header .centered-top-container .search.focused { 2424width: 100%; 2425} 2426body.collapsed-header.item-page .centered-top-container .search.focused { 2427width: calc(100% - 50px); 2428} 2429body.collapsed-header .centered-top-container .blog-name { 2430margin-left: 0; 2431} 2432body.item-view.collapsed-header .centered-top-container .blog-name { 2433margin-left: 40px; 2434} 2435} 2436 2437--></style> 2438<style id='template-skin-1' type='text/css'><!-- 2439body#layout .hidden, 2440body#layout .invisible { 2441display: inherit; 2442} 2443body#layout .navigation { 2444display: none; 2445} 2446body#layout .page, 2447body#layout .sidebar_top, 2448body#layout .sidebar_bottom { 2449display: inline-block; 2450left: inherit; 2451position: relative; 2452vertical-align: top; 2453} 2454body#layout .page { 2455float: right; 2456margin-left: 20px; 2457width: 55%; 2458} 2459body#layout .sidebar-container { 2460float: right; 2461width: 40%; 2462} 2463body#layout .hamburger-menu { 2464display: none; 2465} 2466--></style> 2467<style> 2468 .bg-photo {background-image:url(\/\/themes.googleusercontent.com\/image?id=1PViTUnIUSKDy0JJydtqwXOzvZKG0IIJYN8IFx4v__-n881NSni7O3gGUXyMmHxVs8wah);} 2469 2470@media (max-width: 480px) { .bg-photo {background-image:url(\/\/themes.googleusercontent.com\/image?id=1PViTUnIUSKDy0JJydtqwXOzvZKG0IIJYN8IFx4v__-n881NSni7O3gGUXyMmHxVs8wah&options=w480);}} 2471@media (max-width: 640px) and (min-width: 481px) { .bg-photo {background-image:url(\/\/themes.googleusercontent.com\/image?id=1PViTUnIUSKDy0JJydtqwXOzvZKG0IIJYN8IFx4v__-n881NSni7O3gGUXyMmHxVs8wah&options=w640);}} 2472@media (max-width: 800px) and (min-width: 641px) { .bg-photo {background-image:url(\/\/themes.googleusercontent.com\/image?id=1PViTUnIUSKDy0JJydtqwXOzvZKG0IIJYN8IFx4v__-n881NSni7O3gGUXyMmHxVs8wah&options=w800);}} 2473@media (max-width: 1200px) and (min-width: 801px) { .bg-photo {background-image:url(\/\/themes.googleusercontent.com\/image?id=1PViTUnIUSKDy0JJydtqwXOzvZKG0IIJYN8IFx4v__-n881NSni7O3gGUXyMmHxVs8wah&options=w1200);}} 2474/* Last tag covers anything over one higher than the previous max-size cap. */ 2475@media (min-width: 1201px) { .bg-photo {background-image:url(\/\/themes.googleusercontent.com\/image?id=1PViTUnIUSKDy0JJydtqwXOzvZKG0IIJYN8IFx4v__-n881NSni7O3gGUXyMmHxVs8wah&options=w1600);}} 2476 </style>
2477<script async='async' src='//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'></script>
vendor: 1 bytes, line 2477
2477
2478<script type='text/javascript'>
vendor: 374 bytes, lines 2478-2483
2478 2479 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 2480 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 2481 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 2482 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 2483 ga('create', '
2483UA-28559733-2
vendor: 31 bytes, lines 2483-2484
2483', 'auto', 'blogger'); 2484
2484ga('blogger.send', 'pageview'); 2485 </script>
vendor: 1 bytes, line 2485
2485
2486<script async='async' src='//www.gstatic.com/external_hosted/clipboardjs/clipboard.min.js'></script>
2486 2487<link href="//alexgorbatchev.com/pub/sh/current/styles/shCore.css" rel="stylesheet" type="text/css"> 2488<link href="//alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css" rel="stylesheet" type="text/css">
2489<script src="//alexgorbatchev.com/pub/sh/current/scripts/shCore.js" type="text/javascript"></script>
vendor: 1 bytes, line 2489
2489
2490<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js" type="text/javascript"></script>
vendor: 1 bytes, line 2490
2490
2491<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js" type="text/javascript"></script>
vendor: 1 bytes, line 2491
2491
2492<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js" type="text/javascript"></script>
vendor: 1 bytes, line 2492
2492
2493<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js" type="text/javascript"></script>
vendor: 1 bytes, line 2493
2493
2494<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js" type="text/javascript"></script>
vendor: 1 bytes, line 2494
2494
2495<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js" type="text/javascript"></script>
vendor: 1 bytes, line 2495
2495
2496<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js" type="text/javascript"></script>
vendor: 1 bytes, line 2496
2496
2497<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js" type="text/javascript"></script>
vendor: 1 bytes, line 2497
2497
2498<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js" type="text/javascript"></script>
vendor: 1 bytes, line 2498
2498
2499<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js" type="text/javascript"></script>
vendor: 1 bytes, line 2499
2499
2500<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js" type="text/javascript"></script>
vendor: 1 bytes, line 2500
2500
2501<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js" type="text/javascript"></script>
vendor: 1 bytes, line 2501
2501
2502<script language='javascript'> 2503SyntaxHighlighter.config.bloggerMode = true; 2504SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf'; 2505SyntaxHighlighter.all(); 2506</script>
2506 2507<meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/> 2508<meta name='google-adsense-platform-domain' content='blogspot.com'/> 2509 2510<!-- data-ad-client=ca-pub-5423369479100645 --> 2511 2512</head> 2513<body class='search-view version-1-0-1 variant-indie_orange'> 2514<a class='skip-navigation' href='#main' tabindex='0'> 2515Skip to main content 2516</a> 2517<div class='page'> 2518<div class='bg-photo-overlay'></div> 2519<div class='bg-photo-container'> 2520<div class='bg-photo'></div> 2521</div> 2522<div class='page_body'> 2523<div class='centered'> 2524<div class='centered-top-placeholder'></div> 2525<header class='centered-top-container' role='banner'> 2526<div class='centered-top'> 2527<button class='svg-icon-24-button hamburger-menu flat-icon-button ripple'> 2528<svg class='svg-icon-24'> 2529<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_menu_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2530</svg> 2531</button> 2532<div class='search'> 2533<button aria-label='Search' class='search-expand touch-icon-button'> 2534<div class='flat-icon-button ripple'> 2535<svg class='svg-icon-24 search-expand-icon'> 2536<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_search_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2537</svg> 2538</div> 2539</button> 2540<div class='section' id='search_top' name='Search (Top)'><div class='widget BlogSearch' data-version='2' id='BlogSearch1'> 2541<h3 class='title'> 2542Search This Blog 2543</h3> 2544<div class='widget-content' role='search'> 2545<form action='https://blog.lakmali.com/search' target='_top'> 2546<div class='search-input'> 2547<input aria-label='Search this blog' autocomplete='off' name='q' placeholder='Search this blog' value=''/> 2548</div> 2549<input class='search-action flat-button' type='submit' value='Search'/> 2550</form> 2551</div> 2552</div></div> 2553</div> 2554<div class='clearboth'></div> 2555<div class='blog-name container'> 2556<div class='container section' id='header' name='Header'><div class='widget Header' data-version='2' id='Header1'> 2557<div class='header-widget'> 2558<div> 2559<h1> 2560<a href='https://blog.lakmali.com/'> 2561Lakmali Erandi Baminiwatta’s blog 2562</a> 2563</h1> 2564</div> 2565<p> 2566</p> 2567</div> 2568</div></div> 2569<nav role='navigation'> 2570<div class='clearboth no-items section' id='page_list_top' name='Page List (Top)'> 2571</div> 2572</nav> 2573</div> 2574</div> 2575</header> 2576<div> 2577<main class='centered-bottom' id='main' role='main' tabindex='-1'> 2578<h2 class='main-heading'>Posts</h2> 2579<div class='main section' id='page_body' name='Page Body'> 2580<div class='widget Blog' data-version='2' id='Blog1'> 2581<div class='blog-posts hfeed container'> 2582<article class='post-outer-container'> 2583<div class='post-outer'> 2584<div class='post'>
2585<script type='application/ld+json'>{ 2586 "@context": "http://schema.org", 2587 "@type": "BlogPosting", 2588 "mainEntityOfPage": { 2589 "@type": "WebPage", 2590 "@id": "https://blog.lakmali.com/2018/09/what-is-http2.html" 2591 }, 2592 "headline": "What is HTTP/2?","description": "Not so long ago, I happened to do a research about HTTP/2 and how it affects performance of web services for my Masters. In this blog post...","datePublished": "2018-09-15T22:41:00+09:30", 2593 "dateModified": "2019-01-05T22:43:00+10:30","image": { 2594 "@type": "ImageObject","url": "https://blogger.googleusercontent.com/img/b/U2hvZWJveA/AVvXsEgfMvYAhAbdHksiBA24JKmb2Tav6K0GviwztID3Cq4VpV96HaJfy0viIu8z1SSw_G9n5FQHZWSRao61M3e58ImahqBtr7LiOUS6m_w59IvDYwjmMcbq3fKW4JSbacqkbxTo8B90dWp0Cese92xfLMPe_tg11g/w1200/", 2595 "height": 348, 2596 "width": 1200},"publisher": { 2597 "@type": "Organization", 2598 "name": "Blogger", 2599 "logo": { 2600 "@type": "ImageObject", 2601 "url": "https://blogger.googleusercontent.com/img/b/U2hvZWJveA/AVvXsEgfMvYAhAbdHksiBA24JKmb2Tav6K0GviwztID3Cq4VpV96HaJfy0viIu8z1SSw_G9n5FQHZWSRao61M3e58ImahqBtr7LiOUS6m_w59IvDYwjmMcbq3fKW4JSbacqkbxTo8B90dWp0Cese92xfLMPe_tg11g/h60/", 2602 "width": 206, 2603 "height": 60 2604 } 2605 },"author": { 2606 "@type": "Person", 2607 "name": "Lakmali" 2608 } 2609}</script>
2609 2610<a name='2935925360909658611'></a> 2611<h3 class='post-title entry-title'> 2612<a href='https://blog.lakmali.com/2018/09/what-is-http2.html'>What is HTTP/2? </a> 2613</h3> 2614<div class='post-share-buttons post-share-buttons-top'> 2615<div class='byline post-share-buttons goog-inline-block'> 2616<div aria-owns='sharing-popup-Blog1-byline-2935925360909658611' class='sharing' data-title='What is HTTP/2? '> 2617<button aria-controls='sharing-popup-Blog1-byline-2935925360909658611' aria-label='Share' class='sharing-button touch-icon-button' id='sharing-button-Blog1-byline-2935925360909658611' role='button'> 2618<div class='flat-icon-button ripple'> 2619<svg class='svg-icon-24'> 2620<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_share_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2621</svg> 2622</div> 2623</button> 2624<div class='share-buttons-container'> 2625<ul aria-hidden='true' aria-label='Share' class='share-buttons hidden' id='sharing-popup-Blog1-byline-2935925360909658611' role='menu'> 2626<li> 2627<span aria-label='Get link' class='sharing-platform-button sharing-element-link' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=2935925360909658611&target=' data-url='https://blog.lakmali.com/2018/09/what-is-http2.html' role='menuitem' tabindex='-1' title='Get link'> 2628<svg class='svg-icon-24 touch-icon sharing-link'> 2629<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_link_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2630</svg> 2631<span class='platform-sharing-text'>Get link</span> 2632</span> 2633</li> 2634<li> 2635<span aria-label='Share to Facebook' class='sharing-platform-button sharing-element-facebook' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=2935925360909658611&target=facebook' data-url='https://blog.lakmali.com/2018/09/what-is-http2.html' role='menuitem' tabindex='-1' title='Share to Facebook'> 2636<svg class='svg-icon-24 touch-icon sharing-facebook'> 2637<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_facebook_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2638</svg> 2639<span class='platform-sharing-text'>Facebook</span> 2640</span> 2641</li> 2642<li> 2643<span aria-label='Share to X' class='sharing-platform-button sharing-element-twitter' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=2935925360909658611&target=twitter' data-url='https://blog.lakmali.com/2018/09/what-is-http2.html' role='menuitem' tabindex='-1' title='Share to X'> 2644<svg class='svg-icon-24 touch-icon sharing-twitter'> 2645<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_twitter_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2646</svg> 2647<span class='platform-sharing-text'>X</span> 2648</span> 2649</li> 2650<li> 2651<span aria-label='Share to Pinterest' class='sharing-platform-button sharing-element-pinterest' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=2935925360909658611&target=pinterest' data-url='https://blog.lakmali.com/2018/09/what-is-http2.html' role='menuitem' tabindex='-1' title='Share to Pinterest'> 2652<svg class='svg-icon-24 touch-icon sharing-pinterest'> 2653<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_pinterest_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2654</svg> 2655<span class='platform-sharing-text'>Pinterest</span> 2656</span> 2657</li> 2658<li> 2659<span aria-label='Email' class='sharing-platform-button sharing-element-email' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=2935925360909658611&target=email' data-url='https://blog.lakmali.com/2018/09/what-is-http2.html' role='menuitem' tabindex='-1' title='Email'> 2660<svg class='svg-icon-24 touch-icon sharing-email'> 2661<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2662</svg> 2663<span class='platform-sharing-text'>Email</span> 2664</span> 2665</li> 2666<li aria-hidden='true' class='hidden'> 2667<span aria-label='Share to other apps' class='sharing-platform-button sharing-element-other' data-url='https://blog.lakmali.com/2018/09/what-is-http2.html' role='menuitem' tabindex='-1' title='Share to other apps'> 2668<svg class='svg-icon-24 touch-icon sharing-sharingOther'> 2669<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_more_horiz_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2670</svg> 2671<span class='platform-sharing-text'>Other Apps</span> 2672</span> 2673</li> 2674</ul> 2675</div> 2676</div> 2677</div> 2678</div> 2679<div class='post-header'> 2680<div class='post-header-line-1'> 2681<span class='byline post-timestamp'> 2682<meta content='https://blog.lakmali.com/2018/09/what-is-http2.html'/> 2683<a class='timestamp-link' href='https://blog.lakmali.com/2018/09/what-is-http2.html' rel='bookmark' title='permanent link'> 2684<time class='published' datetime='2018-09-15T22:41:00+09:30' title='2018-09-15T22:41:00+09:30'> 2685September 15, 2018 2686</time> 2687</a> 2688</span> 2689</div> 2690</div> 2691<div class='container post-body entry-content' id='post-snippet-2935925360909658611'> 2692<div class='post-snippet snippet-container r-snippet-container'> 2693<div class='snippet-item r-snippetized'> 2694 Not so long ago, I happened to do a research about HTTP/2 and how it affects performance of web services for my Masters. In this blog post, I am describing the basic details of the HTTP/2 protocol.  HTTP/2 the latest version of Hyper Text Transfer Protocol, is an optimized transport for HTTP semantics. Hence, it supports all the core features of HTTP/1.1 [1] . The aim of HTTP/2 is to be more efficient by addressing limitations of HTTP/1.1 [1] . There are 5 main features of HTTP/2. Multiplexing Header Compression Request prioritization Server push Binary message frames.  Connection establishment in HTTP/2 HTTP/2 also uses the same “http” and “https” URI schemas and same port numbers as HTTP/1.1. Therefore, implementations processing requests for target URIs with“http” and “https” should have a way to discover whether the next hop supports HTTP/2 or not. The determination procedure for HTTP/2 support is different for “http” and “https” URIs [1] . Start... 2695</div> 2696<a class='snippet-fade r-snippet-fade hidden' href='https://blog.lakmali.com/2018/09/what-is-http2.html'></a> 2697</div> 2698</div> 2699<div class='post-bottom'> 2700<div class='post-footer float-container'> 2701<div class='post-footer-line post-footer-line-1'> 2702<span class='byline post-comment-link container'> 2703<a class='comment-link' href='https://blog.lakmali.com/2018/09/what-is-http2.html#comments' onclick=''> 2704<svg class='svg-icon-24 touch-icon'> 2705<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_mode_comment_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2706</svg> 2707<span class='num_comments'> 2708Post a Comment 2709</span> 2710</a> 2711</span> 2712</div> 2713<div class='post-footer-line post-footer-line-2'> 2714</div> 2715<div class='post-footer-line post-footer-line-3'> 2716</div> 2717</div> 2718<div class='jump-link flat-button ripple'> 2719<a href='https://blog.lakmali.com/2018/09/what-is-http2.html' title='What is HTTP/2? '> 2720Keep reading 2721</a> 2722</div> 2723</div> 2724</div> 2725</div> 2726</article> 2727<div class='desktop-ad mobile-ad'> 2728<div class='inline-ad'>
2729<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
2729 2730<!-- java-wisdom_page_body_Blog1_1x1_as --> 2731<ins class="adsbygoogle" 2732 style="display:block" 2733 data-ad-client="ca-pub-5423369479100645" 2734 data-ad-host="ca-host-pub-1556223355139109" 2735 data-ad-host-channel="L0007" 2736 data-ad-slot="5370813279" 2737 data-ad-format="auto"></ins>
2738<script> 2739(adsbygoogle = window.adsbygoogle || []).push({}); 2740</script>
2740 2741</div> 2742</div> 2743<article class='post-outer-container'> 2744<div class='post-outer'> 2745<div class='post'>
2746<script type='application/ld+json'>{ 2747 "@context": "http://schema.org", 2748 "@type": "BlogPosting", 2749 "mainEntityOfPage": { 2750 "@type": "WebPage", 2751 "@id": "https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html" 2752 }, 2753 "headline": "WSO2 API Manager- Customizing Store User Sign-Up","description": "WSO2 API Manager allows on boarding new users to the API store through a Sign-up page. The default sign-up page has set of mandatory and op...","datePublished": "2017-06-29T20:00:00+09:30", 2754 "dateModified": "2017-08-03T14:31:30+09:30","image": { 2755 "@type": "ImageObject","url": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB-aeP64dOmAKAunse-Z5SzbEhuEDYjSkryqUurLw3UDxC22-9lGTqUz9mPj54Oq_wlBpYSsVy7KGZxS7ZPRIpzIaS5EKA4zsIO-TsInGPYFqV609HflGAmAvGul0M7uRbMSi-r42Wdc2x/w1200-h630-p-k-no-nu/default-signup.png", 2756 "height": 630, 2757 "width": 1200},"publisher": { 2758 "@type": "Organization", 2759 "name": "Blogger", 2760 "logo": { 2761 "@type": "ImageObject", 2762 "url": "https://blogger.googleusercontent.com/img/b/U2hvZWJveA/AVvXsEgfMvYAhAbdHksiBA24JKmb2Tav6K0GviwztID3Cq4VpV96HaJfy0viIu8z1SSw_G9n5FQHZWSRao61M3e58ImahqBtr7LiOUS6m_w59IvDYwjmMcbq3fKW4JSbacqkbxTo8B90dWp0Cese92xfLMPe_tg11g/h60/", 2763 "width": 206, 2764 "height": 60 2765 } 2766 },"author": { 2767 "@type": "Person", 2768 "name": "Lakmali" 2769 } 2770}</script>
2770 2771<a name='8230966937651293778'></a> 2772<h3 class='post-title entry-title'> 2773<a href='https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html'>WSO2 API Manager- Customizing Store User Sign-Up </a> 2774</h3> 2775<div class='post-share-buttons post-share-buttons-top'> 2776<div class='byline post-share-buttons goog-inline-block'> 2777<div aria-owns='sharing-popup-Blog1-byline-8230966937651293778' class='sharing' data-title='WSO2 API Manager- Customizing Store User Sign-Up '> 2778<button aria-controls='sharing-popup-Blog1-byline-8230966937651293778' aria-label='Share' class='sharing-button touch-icon-button' id='sharing-button-Blog1-byline-8230966937651293778' role='button'> 2779<div class='flat-icon-button ripple'> 2780<svg class='svg-icon-24'> 2781<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_share_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2782</svg> 2783</div> 2784</button> 2785<div class='share-buttons-container'> 2786<ul aria-hidden='true' aria-label='Share' class='share-buttons hidden' id='sharing-popup-Blog1-byline-8230966937651293778' role='menu'> 2787<li> 2788<span aria-label='Get link' class='sharing-platform-button sharing-element-link' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=8230966937651293778&target=' data-url='https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html' role='menuitem' tabindex='-1' title='Get link'> 2789<svg class='svg-icon-24 touch-icon sharing-link'> 2790<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_link_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2791</svg> 2792<span class='platform-sharing-text'>Get link</span> 2793</span> 2794</li> 2795<li> 2796<span aria-label='Share to Facebook' class='sharing-platform-button sharing-element-facebook' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=8230966937651293778&target=facebook' data-url='https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html' role='menuitem' tabindex='-1' title='Share to Facebook'> 2797<svg class='svg-icon-24 touch-icon sharing-facebook'> 2798<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_facebook_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2799</svg> 2800<span class='platform-sharing-text'>Facebook</span> 2801</span> 2802</li> 2803<li> 2804<span aria-label='Share to X' class='sharing-platform-button sharing-element-twitter' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=8230966937651293778&target=twitter' data-url='https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html' role='menuitem' tabindex='-1' title='Share to X'> 2805<svg class='svg-icon-24 touch-icon sharing-twitter'> 2806<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_twitter_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2807</svg> 2808<span class='platform-sharing-text'>X</span> 2809</span> 2810</li> 2811<li> 2812<span aria-label='Share to Pinterest' class='sharing-platform-button sharing-element-pinterest' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=8230966937651293778&target=pinterest' data-url='https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html' role='menuitem' tabindex='-1' title='Share to Pinterest'> 2813<svg class='svg-icon-24 touch-icon sharing-pinterest'> 2814<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_pinterest_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2815</svg> 2816<span class='platform-sharing-text'>Pinterest</span> 2817</span> 2818</li> 2819<li> 2820<span aria-label='Email' class='sharing-platform-button sharing-element-email' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=8230966937651293778&target=email' data-url='https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html' role='menuitem' tabindex='-1' title='Email'> 2821<svg class='svg-icon-24 touch-icon sharing-email'> 2822<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2823</svg> 2824<span class='platform-sharing-text'>Email</span> 2825</span> 2826</li> 2827<li aria-hidden='true' class='hidden'> 2828<span aria-label='Share to other apps' class='sharing-platform-button sharing-element-other' data-url='https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html' role='menuitem' tabindex='-1' title='Share to other apps'> 2829<svg class='svg-icon-24 touch-icon sharing-sharingOther'> 2830<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_more_horiz_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2831</svg> 2832<span class='platform-sharing-text'>Other Apps</span> 2833</span> 2834</li> 2835</ul> 2836</div> 2837</div> 2838</div> 2839</div> 2840<div class='post-header'> 2841<div class='post-header-line-1'> 2842<span class='byline post-timestamp'> 2843<meta content='https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html'/> 2844<a class='timestamp-link' href='https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html' rel='bookmark' title='permanent link'> 2845<time class='published' datetime='2017-06-29T20:00:00+09:30' title='2017-06-29T20:00:00+09:30'> 2846June 29, 2017 2847</time> 2848</a> 2849</span> 2850</div> 2851</div> 2852<div class='container post-body entry-content' id='post-snippet-8230966937651293778'> 2853<div class='snippet-thumbnail'> 2854<img alt='Image' sizes='(max-width: 800px) 12vw, 128px' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB-aeP64dOmAKAunse-Z5SzbEhuEDYjSkryqUurLw3UDxC22-9lGTqUz9mPj54Oq_wlBpYSsVy7KGZxS7ZPRIpzIaS5EKA4zsIO-TsInGPYFqV609HflGAmAvGul0M7uRbMSi-r42Wdc2x/s320/default-signup.png' srcset='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB-aeP64dOmAKAunse-Z5SzbEhuEDYjSkryqUurLw3UDxC22-9lGTqUz9mPj54Oq_wlBpYSsVy7KGZxS7ZPRIpzIaS5EKA4zsIO-TsInGPYFqV609HflGAmAvGul0M7uRbMSi-r42Wdc2x/w32-h32-p-k-no-nu/default-signup.png 32w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB-aeP64dOmAKAunse-Z5SzbEhuEDYjSkryqUurLw3UDxC22-9lGTqUz9mPj54Oq_wlBpYSsVy7KGZxS7ZPRIpzIaS5EKA4zsIO-TsInGPYFqV609HflGAmAvGul0M7uRbMSi-r42Wdc2x/w64-h64-p-k-no-nu/default-signup.png 64w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB-aeP64dOmAKAunse-Z5SzbEhuEDYjSkryqUurLw3UDxC22-9lGTqUz9mPj54Oq_wlBpYSsVy7KGZxS7ZPRIpzIaS5EKA4zsIO-TsInGPYFqV609HflGAmAvGul0M7uRbMSi-r42Wdc2x/w128-h128-p-k-no-nu/default-signup.png 128w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB-aeP64dOmAKAunse-Z5SzbEhuEDYjSkryqUurLw3UDxC22-9lGTqUz9mPj54Oq_wlBpYSsVy7KGZxS7ZPRIpzIaS5EKA4zsIO-TsInGPYFqV609HflGAmAvGul0M7uRbMSi-r42Wdc2x/w256-h256-p-k-no-nu/default-signup.png 256w'/> 2855</div> 2856<div class='post-snippet snippet-container r-snippet-container'> 2857<div class='snippet-item r-snippetized'> 2858 WSO2 API Manager allows on boarding new users to the API store through a Sign-up page. The default sign-up page has set of mandatory and optional fields for user to provide details. However, there can be cases where one needs to customize the available fields by modifying available ones or/and adding new fields. This can be easily achieved in WSO2 API manager since the fields are loaded dynamically from the user claim attributes. So this post explains how we
2858can customize the default Sign-up page. By default API Store Sign-up looks as below. Note that this blog posts shows how to do this in APIM 2.1.0. Let's say you want to add a new field called 'City' to Store Sign-up page. This post provides step by step instructions on how to achieve this. 1. Start API Manager 2.1.0 and go to Management Console (https://localhost:9443/carbon/) 2. Go to Claims -> Add -> Add Local Claim 3. Enter the below values for the new claim. Claim URI :  http://w... 2859</div> 2860<a class='snippet-fade r-snippet-fade hidden' href='https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html'></a> 2861</div> 2862</div> 2863<div class='post-bottom'> 2864<div class='post-footer float-container'> 2865<div class='post-footer-line post-footer-line-1'> 2866<span class='byline post-comment-link container'> 2867<a class='comment-link' href='https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html#comments' onclick=''> 2868<svg class='svg-icon-24 touch-icon'> 2869<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_mode_comment_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2870</svg> 2871<span class='num_comments'> 28724 comments 2873</span> 2874</a> 2875</span> 2876</div> 2877<div class='post-footer-line post-footer-line-2'> 2878</div> 2879<div class='post-footer-line post-footer-line-3'> 2880</div> 2881</div> 2882<div class='jump-link flat-button ripple'> 2883<a href='https://blog.lakmali.com/2013/12/wso2-api-manager-customizing-store-user.html' title='WSO2 API Manager- Customizing Store User Sign-Up '> 2884Keep reading 2885</a> 2886</div> 2887</div> 2888</div> 2889</div> 2890</article> 2891<div class='desktop-ad mobile-ad'> 2892<div class='inline-ad'>
2893<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
2893 2894<!-- java-wisdom_page_body_Blog1_1x1_as --> 2895<ins class="adsbygoogle" 2896 style="display:block" 2897 data-ad-client="ca-pub-5423369479100645" 2898 data-ad-host="ca-host-pub-1556223355139109" 2899 data-ad-host-channel="L0007" 2900 data-ad-slot="5370813279" 2901 data-ad-format="auto"></ins>
2902<script> 2903(adsbygoogle = window.adsbygoogle || []).push({}); 2904</script>
2904 2905</div> 2906</div> 2907<article class='post-outer-container'> 2908<div class='post-outer'> 2909<div class='post'>
2910<script type='application/ld+json'>{ 2911 "@context": "http://schema.org", 2912 "@type": "BlogPosting", 2913 "mainEntityOfPage": { 2914 "@type": "WebPage", 2915 "@id": "https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html" 2916 }, 2917 "headline": "Customizing Lifecycle states in WSO2 API Manager","description": "WSO2 API Manageris a 100% open source API Management solution inluding support for API publishing, lifecycle management, developer portal, ...","datePublished": "2017-05-23T03:52:00+09:30", 2918 "dateModified": "2018-04-29T20:18:06+09:30","image": { 2919 "@type": "ImageObject","url": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQy5EkJh1Hm9yLmlt3aYZ0_oTOHlJ1l9tlMtnMeWUBgaFT9h5Hqv9dG4RinUTuhA9YBER-iPvspk_MNLulGeR2LPNGWCj0A_AT35zbZfmM9emYYk-hHxgvtBkl5wcAvGeUQ8aHfIoAaIl9/w1200-h630-p-k-no-nu/Lc-1.png", 2920 "height": 630, 2921 "width": 1200},"publisher": { 2922 "@type": "Organization", 2923 "name": "Blogger", 2924 "logo": { 2925 "@type": "ImageObject", 2926 "url": "https://blogger.googleusercontent.com/img/b/U2hvZWJveA/AVvXsEgfMvYAhAbdHksiBA24JKmb2Tav6K0GviwztID3Cq4VpV96HaJfy0viIu8z1SSw_G9n5FQHZWSRao61M3e58ImahqBtr7LiOUS6m_w59IvDYwjmMcbq3fKW4JSbacqkbxTo8B90dWp0Cese92xfLMPe_tg11g/h60/", 2927 "width": 206, 2928 "height": 60 2929 } 2930 },"author": { 2931 "@type": "Person", 2932 "name": "Lakmali" 2933 } 2934}</script>
2934 2935<a name='5779292064416245816'></a> 2936<h3 class='post-title entry-title'> 2937<a href='https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html'>Customizing Lifecycle states in WSO2 API Manager </a> 2938</h3> 2939<div class='post-share-buttons post-share-buttons-top'> 2940<div class='byline post-share-buttons goog-inline-block'> 2941<div aria-owns='sharing-popup-Blog1-byline-5779292064416245816' class='sharing' data-title='Customizing Lifecycle states in WSO2 API Manager '> 2942<button aria-controls='sharing-popup-Blog1-byline-5779292064416245816' aria-label='Share' class='sharing-button touch-icon-button' id='sharing-button-Blog1-byline-5779292064416245816' role='button'> 2943<div class='flat-icon-button ripple'> 2944<svg class='svg-icon-24'> 2945<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_share_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2946</svg> 2947</div> 2948</button> 2949<div class='share-buttons-container'> 2950<ul aria-hidden='true' aria-label='Share' class='share-buttons hidden' id='sharing-popup-Blog1-byline-5779292064416245816' role='menu'> 2951<li> 2952<span aria-label='Get link' class='sharing-platform-button sharing-element-link' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=5779292064416245816&target=' data-url='https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html' role='menuitem' tabindex='-1' title='Get link'> 2953<svg class='svg-icon-24 touch-icon sharing-link'> 2954<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_link_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2955</svg> 2956<span class='platform-sharing-text'>Get link</span> 2957</span> 2958</li> 2959<li> 2960<span aria-label='Share to Facebook' class='sharing-platform-button sharing-element-facebook' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=5779292064416245816&target=facebook' data-url='https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html' role='menuitem' tabindex='-1' title='Share to Facebook'> 2961<svg class='svg-icon-24 touch-icon sharing-facebook'> 2962<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_facebook_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2963</svg> 2964<span class='platform-sharing-text'>Facebook</span> 2965</span> 2966</li> 2967<li> 2968<span aria-label='Share to X' class='sharing-platform-button sharing-element-twitter' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=5779292064416245816&target=twitter' data-url='https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html' role='menuitem' tabindex='-1' title='Share to X'> 2969<svg class='svg-icon-24 touch-icon sharing-twitter'> 2970<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_twitter_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2971</svg> 2972<span class='platform-sharing-text'>X</span> 2973</span> 2974</li> 2975<li> 2976<span aria-label='Share to Pinterest' class='sharing-platform-button sharing-element-pinterest' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=5779292064416245816&target=pinterest' data-url='https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html' role='menuitem' tabindex='-1' title='Share to Pinterest'> 2977<svg class='svg-icon-24 touch-icon sharing-pinterest'> 2978<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_pinterest_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2979</svg> 2980<span class='platform-sharing-text'>Pinterest</span> 2981</span> 2982</li> 2983<li> 2984<span aria-label='Email' class='sharing-platform-button sharing-element-email' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=5779292064416245816&target=email' data-url='https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html' role='menuitem' tabindex='-1' title='Email'> 2985<svg class='svg-icon-24 touch-icon sharing-email'> 2986<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2987</svg> 2988<span class='platform-sharing-text'>Email</span> 2989</span> 2990</li> 2991<li aria-hidden='true' class='hidden'> 2992<span aria-label='Share to other apps' class='sharing-platform-button sharing-element-other' data-url='https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html' role='menuitem' tabindex='-1' title='Share to other apps'> 2993<svg class='svg-icon-24 touch-icon sharing-sharingOther'> 2994<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_more_horiz_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 2995</svg> 2996<span class='platform-sharing-text'>Other Apps</span> 2997</span> 2998</li> 2999</ul> 3000</div> 3001</div> 3002</div> 3003</div> 3004<div class='post-header'> 3005<div class='post-header-line-1'> 3006<span class='byline post-timestamp'> 3007<meta content='https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html'/> 3008<a class='timestamp-link' href='https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html' rel='bookmark' title='permanent link'> 3009<time class='published' datetime='2017-05-23T03:52:00+09:30' title='2017-05-23T03:52:00+09:30'> 3010May 23, 2017 3011</time> 3012</a> 3013</span> 3014</div> 3015</div> 3016<div class='container post-body entry-content' id='post-snippet-5779292064416245816'> 3017<div class='snippet-thumbnail'> 3018<img alt='Image' sizes='(max-width: 800px) 12vw, 128px' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQy5EkJh1Hm9yLmlt3aYZ0_oTOHlJ1l9tlMtnMeWUBgaFT9h5Hqv9dG4RinUTuhA9YBER-iPvspk_MNLulGeR2LPNGWCj0A_AT35zbZfmM9emYYk-hHxgvtBkl5wcAvGeUQ8aHfIoAaIl9/s320/Lc-1.png' srcset='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQy5EkJh1Hm9yLmlt3aYZ0_oTOHlJ1l9tlMtnMeWUBgaFT9h5Hqv9dG4RinUTuhA9YBER-iPvspk_MNLulGeR2LPNGWCj0A_AT35zbZfmM9emYYk-hHxgvtBkl5wcAvGeUQ8aHfIoAaIl9/w32-h32-p-k-no-nu/Lc-1.png 32w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQy5EkJh1Hm9yLmlt3aYZ0_oTOHlJ1l9tlMtnMeWUBgaFT9h5Hqv9dG4RinUTuhA9YBER-iPvspk_MNLulGeR2LPNGWCj0A_AT35zbZfmM9emYYk-hHxgvtBkl5wcAvGeUQ8aHfIoAaIl9/w64-h64-p-k-no-nu/Lc-1.png 64w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQy5EkJh1Hm9yLmlt3aYZ0_oTOHlJ1l9tlMtnMeWUBgaFT9h5Hqv9dG4RinUTuhA9YBER-iPvspk_MNLulGeR2LPNGWCj0A_AT35zbZfmM9emYYk-hHxgvtBkl5wcAvGeUQ8aHfIoAaIl9/w128-h128-p-k-no-nu/Lc-1.png 128w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQy5EkJh1Hm9yLmlt3aYZ0_oTOHlJ1l9tlMtnMeWUBgaFT9h5Hqv9dG4RinUTuhA9YBER-iPvspk_MNLulGeR2LPNGWCj0A_AT35zbZfmM9emYYk-hHxgvtBkl5wcAvGeUQ8aHfIoAaIl9/w256-h256-p-k-no-nu/Lc-1.png 256w'/> 3019</div> 3020<div class='post-snippet snippet-container r-snippet-container'> 3021<div class='snippet-item r-snippetized'> 3022 WSO2 API Manageris a 100% open source API Management solution inluding support for API publishing, lifecycle management, developer portal, access control and analytics. APIs have their own life cycle which can be managed through WSO2 API Publisher while enabling many essential features for API Management, such as, Create new APIs from existing versions Deploy multiple versions in parallel Deprecate versions to remove them from store Retire them to un-deploy from gateway Keeps audit of lifecycle changes Supports customizing lifecycles  The ability to customize API life cycle provides a greater flexibility to achieve various requirements. There are few extension points available for customizing the API Lifecycle. Find more details about those from the product documentation [1].  Adding new lifecycle state Changing the state transition events Changing the state transition execution (In each state transition, we can configure an execution logic to be run) ... 3023</div> 3024<a class='snippet-fade r-snippet-fade hidden' href='https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html'></a> 3025</div> 3026</div> 3027<div class='post-bottom'> 3028<div class='post-footer float-container'> 3029<div class='post-footer-line post-footer-line-1'> 3030<span class='byline post-comment-link container'> 3031<a class='comment-link' href='https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html#comments' onclick=''> 3032<svg class='svg-icon-24 touch-icon'> 3033<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_mode_comment_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3034</svg> 3035<span class='num_comments'> 30361 comment 3037</span> 3038</a> 3039</span> 3040</div> 3041<div class='post-footer-line post-footer-line-2'> 3042</div> 3043<div class='post-footer-line post-footer-line-3'> 3044</div> 3045</div> 3046<div class='jump-link flat-button ripple'> 3047<a href='https://blog.lakmali.com/2017/05/customizing-lifecycle-states-in-wso2.html' title='Customizing Lifecycle states in WSO2 API Manager '> 3048Keep reading 3049</a> 3050</div> 3051</div> 3052</div> 3053</div> 3054</article> 3055<div> 3056<div class='inline-ad'>
3057<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
3057 3058<!-- java-wisdom_page_body_Blog1_1x1_as --> 3059<ins class="adsbygoogle" 3060 style="display:block" 3061 data-ad-client="ca-pub-5423369479100645" 3062 data-ad-host="ca-host-pub-1556223355139109" 3063 data-ad-host-channel="L0007" 3064 data-ad-slot="5370813279" 3065 data-ad-format="auto"></ins>
3066<script> 3067(adsbygoogle = window.adsbygoogle || []).push({}); 3068</script>
3068 3069</div> 3070</div> 3071<article class='post-outer-container'> 3072<div class='post-outer'> 3073<div class='post'>
3074<script type='application/ld+json'>{ 3075 "@context": "http://schema.org", 3076 "@type": "BlogPosting", 3077 "mainEntityOfPage": { 3078 "@type": "WebPage", 3079 "@id": "https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html" 3080 }, 3081 "headline": "Encrypting passwords in WSO2 APIM 2.0.0","description": "WSO2 products support encrypting passwords which are in configuration files using secure vault. You can find the detailed documentation fo...","datePublished": "2017-01-24T12:57:00+10:30", 3082 "dateModified": "2017-01-24T13:01:02+10:30","image": { 3083 "@type": "ImageObject","url": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0AfCb5cboy439r9FDFpQFW7OIjOJ3Hhe1pznKzFXQcu5j_ox7YLT-73rKPIYLEypZDE-JwXPIYW6bf27cEAOJ99UrhxEtSnNPrOpPJa8MDe9cXZ3hIuf74FNaNLgx4n56VvUVTlwyyUu3/w1200-h630-p-k-no-nu/blog-pc-1.png", 3084 "height": 630, 3085 "width": 1200},"publisher": { 3086 "@type": "Organization", 3087 "name": "Blogger", 3088 "logo": { 3089 "@type": "ImageObject", 3090 "url": "https://blogger.googleusercontent.com/img/b/U2hvZWJveA/AVvXsEgfMvYAhAbdHksiBA24JKmb2Tav6K0GviwztID3Cq4VpV96HaJfy0viIu8z1SSw_G9n5FQHZWSRao61M3e58ImahqBtr7LiOUS6m_w59IvDYwjmMcbq3fKW4JSbacqkbxTo8B90dWp0Cese92xfLMPe_tg11g/h60/", 3091 "width": 206, 3092 "height": 60 3093 } 3094 },"author": { 3095 "@type": "Person", 3096 "name": "Lakmali" 3097 } 3098}</script>
3098 3099<a name='4129807879998416404'></a> 3100<h3 class='post-title entry-title'> 3101<a href='https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html'>Encrypting passwords in WSO2 APIM 2.0.0</a> 3102</h3> 3103<div class='post-share-buttons post-share-buttons-top'> 3104<div class='byline post-share-buttons goog-inline-block'> 3105<div aria-owns='sharing-popup-Blog1-byline-4129807879998416404' class='sharing' data-title='Encrypting passwords in WSO2 APIM 2.0.0'> 3106<button aria-controls='sharing-popup-Blog1-byline-4129807879998416404' aria-label='Share' class='sharing-button touch-icon-button' id='sharing-button-Blog1-byline-4129807879998416404' role='button'> 3107<div class='flat-icon-button ripple'> 3108<svg class='svg-icon-24'> 3109<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_share_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3110</svg> 3111</div> 3112</button> 3113<div class='share-buttons-container'> 3114<ul aria-hidden='true' aria-label='Share' class='share-buttons hidden' id='sharing-popup-Blog1-byline-4129807879998416404' role='menu'> 3115<li> 3116<span aria-label='Get link' class='sharing-platform-button sharing-element-link' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=4129807879998416404&target=' data-url='https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html' role='menuitem' tabindex='-1' title='Get link'> 3117<svg class='svg-icon-24 touch-icon sharing-link'> 3118<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_link_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3119</svg> 3120<span class='platform-sharing-text'>Get link</span> 3121</span> 3122</li> 3123<li> 3124<span aria-label='Share to Facebook' class='sharing-platform-button sharing-element-facebook' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=4129807879998416404&target=facebook' data-url='https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html' role='menuitem' tabindex='-1' title='Share to Facebook'> 3125<svg class='svg-icon-24 touch-icon sharing-facebook'> 3126<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_facebook_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3127</svg> 3128<span class='platform-sharing-text'>Facebook</span> 3129</span> 3130</li> 3131<li> 3132<span aria-label='Share to X' class='sharing-platform-button sharing-element-twitter' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=4129807879998416404&target=twitter' data-url='https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html' role='menuitem' tabindex='-1' title='Share to X'> 3133<svg class='svg-icon-24 touch-icon sharing-twitter'> 3134<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_twitter_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3135</svg> 3136<span class='platform-sharing-text'>X</span> 3137</span> 3138</li> 3139<li> 3140<span aria-label='Share to Pinterest' class='sharing-platform-button sharing-element-pinterest' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=4129807879998416404&target=pinterest' data-url='https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html' role='menuitem' tabindex='-1' title='Share to Pinterest'> 3141<svg class='svg-icon-24 touch-icon sharing-pinterest'> 3142<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_pinterest_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3143</svg> 3144<span class='platform-sharing-text'>Pinterest</span> 3145</span> 3146</li> 3147<li> 3148<span aria-label='Email' class='sharing-platform-button sharing-element-email' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=4129807879998416404&target=email' data-url='https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html' role='menuitem' tabindex='-1' title='Email'> 3149<svg class='svg-icon-24 touch-icon sharing-email'> 3150<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3151</svg> 3152<span class='platform-sharing-text'>Email</span> 3153</span> 3154</li> 3155<li aria-hidden='true' class='hidden'> 3156<span aria-label='Share to other apps' class='sharing-platform-button sharing-element-other' data-url='https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html' role='menuitem' tabindex='-1' title='Share to other apps'> 3157<svg class='svg-icon-24 touch-icon sharing-sharingOther'> 3158<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_more_horiz_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3159</svg> 3160<span class='platform-sharing-text'>Other Apps</span> 3161</span> 3162</li> 3163</ul> 3164</div> 3165</div> 3166</div> 3167</div> 3168<div class='post-header'> 3169<div class='post-header-line-1'> 3170<span class='byline post-timestamp'> 3171<meta content='https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html'/> 3172<a class='timestamp-link' href='https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html' rel='bookmark' title='permanent link'> 3173<time class='published' datetime='2017-01-24T12:57:00+10:30' title='2017-01-24T12:57:00+10:30'> 3174January 24, 2017 3175</time> 3176</a> 3177</span> 3178</div> 3179</div> 3180<div class='container post-body entry-content' id='post-snippet-4129807879998416404'> 3181<div class='snippet-thumbnail'> 3182<img alt='Image' sizes='(max-width: 800px) 12vw, 128px' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0AfCb5cboy439r9FDFpQFW7OIjOJ3Hhe1pznKzFXQcu5j_ox7YLT-73rKPIYLEypZDE-JwXPIYW6bf27cEAOJ99UrhxEtSnNPrOpPJa8MDe9cXZ3hIuf74FNaNLgx4n56VvUVTlwyyUu3/s320/blog-pc-1.png' srcset='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0AfCb5cboy439r9FDFpQFW7OIjOJ3Hhe1pznKzFXQcu5j_ox7YLT-73rKPIYLEypZDE-JwXPIYW6bf27cEAOJ99UrhxEtSnNPrOpPJa8MDe9cXZ3hIuf74FNaNLgx4n56VvUVTlwyyUu3/w32-h32-p-k-no-nu/blog-pc-1.png 32w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0AfCb5cboy439r9FDFpQFW7OIjOJ3Hhe1pznKzFXQcu5j_ox7YLT-73rKPIYLEypZDE-JwXPIYW6bf27cEAOJ99UrhxEtSnNPrOpPJa8MDe9cXZ3hIuf74FNaNLgx4n56VvUVTlwyyUu3/w64-h64-p-k-no-nu/blog-pc-1.png 64w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0AfCb5cboy439r9FDFpQFW7OIjOJ3Hhe1pznKzFXQcu5j_ox7YLT-73rKPIYLEypZDE-JwXPIYW6bf27cEAOJ99UrhxEtSnNPrOpPJa8MDe9cXZ3hIuf74FNaNLgx4n56VvUVTlwyyUu3/w128-h128-p-k-no-nu/blog-pc-1.png 128w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0AfCb5cboy439r9FDFpQFW7OIjOJ3Hhe1pznKzFXQcu5j_ox7YLT-73rKPIYLEypZDE-JwXPIYW6bf27cEAOJ99UrhxEtSnNPrOpPJa8MDe9cXZ3hIuf74FNaNLgx4n56VvUVTlwyyUu3/w256-h256-p-k-no-nu/blog-pc-1.png 256w'/> 3183</div> 3184<div class='post-snippet snippet-container r-snippet-container'> 3185<div class='snippet-item r-snippetized'> 3186 WSO2 products support encrypting passwords which are in configuration files using secure vault. You can find the detailed documentation form here of how to apply secure vault to WSO2 products. This post will provide you the required instructions to apply secure vault to WSO2 APIM 2.0.0. 1. Using the automatic approach to encrypt the passwords given in XML configuration files. Most of the passwords in WSO2 APIM 2.0.0 are in XML configuration files. Therefore you can follow the instructions given in here to encrypt them. 2. Encrypting passwords in jndi.properties file and log4j.properties files. As did in above section, the passwords in XML configurations can be referred in cipher-tool.properties file via Xpaths. Therefore cipher-tool can automatically replace the plain text passwords in XML configuration files. However, passwords in files such as jndi.properties file and log4j.properties filee need to be manually encrypted. Encrypting passwords in jndi.prop... 3187</div> 3188<a class='snippet-fade r-snippet-fade hidden' href='https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html'></a> 3189</div> 3190</div> 3191<div class='post-bottom'> 3192<div class='post-footer float-container'> 3193<div class='post-footer-line post-footer-line-1'> 3194<span class='byline post-comment-link container'> 3195<a class='comment-link' href='https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html#comments' onclick=''> 3196<svg class='svg-icon-24 touch-icon'> 3197<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_mode_comment_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3198</svg> 3199<span class='num_comments'> 3200Post a Comment 3201</span> 3202</a> 3203</span> 3204</div> 3205<div class='post-footer-line post-footer-line-2'> 3206</div> 3207<div class='post-footer-line post-footer-line-3'> 3208</div> 3209</div> 3210<div class='jump-link flat-button ripple'> 3211<a href='https://blog.lakmali.com/2017/01/encrypting-passwords-in-wso2-apim-200.html' title='Encrypting passwords in WSO2 APIM 2.0.0'> 3212Keep reading 3213</a> 3214</div> 3215</div> 3216</div> 3217</div> 3218</article> 3219<div> 3220<div class='inline-ad'>
3221<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
3221 3222<!-- java-wisdom_page_body_Blog1_1x1_as --> 3223<ins class="adsbygoogle" 3224 style="display:block" 3225 data-ad-client="ca-pub-5423369479100645" 3226 data-ad-host="ca-host-pub-1556223355139109" 3227 data-ad-host-channel="L0007" 3228 data-ad-slot="5370813279" 3229 data-ad-format="auto"></ins>
3230<script> 3231(adsbygoogle = window.adsbygoogle || []).push({}); 3232</script>
3232 3233</div> 3234</div> 3235<article class='post-outer-container'> 3236<div class='post-outer'> 3237<div class='post'>
3238<script type='application/ld+json'>{ 3239 "@context": "http://schema.org", 3240 "@type": "BlogPosting", 3241 "mainEntityOfPage": { 3242 "@type": "WebPage", 3243 "@id": "https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html" 3244 }, 3245 "headline": "Dynamic Endpoints in WSO2 API Manager","description": "From WSO2 APIM 1.10.0, we have introduced new feature to define dynamic endpoints through synapse default endpoints support. In this blog...","datePublished": "2016-08-05T19:40:00+09:30", 3246 "dateModified": "2017-08-03T15:43:57+09:30","image": { 3247 "@type": "ImageObject","url": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirNQ2KRfTIl__84D6IkB1f9MQ79JrnaUUtDJug0r7S-qyIkp2o4m2NBTv_u6kMI8mpXXe3kD7D6JPJUn1taE1pKsMcXd_Xvy27Udxw2Ta9jkAh4L_Bd0kkmjzFd2RP_xQe1wCaZKuSI-Gp/w1200-h630-p-k-no-nu/dynamic_ep.png", 3248 "height": 630, 3249 "width": 1200},"publisher": { 3250 "@type": "Organization", 3251 "name": "Blogger", 3252 "logo": { 3253 "@type": "ImageObject", 3254 "url": "https://blogger.googleusercontent.com/img/b/U2hvZWJveA/AVvXsEgfMvYAhAbdHksiBA24JKmb2Tav6K0GviwztID3Cq4VpV96HaJfy0viIu8z1SSw_G9n5FQHZWSRao61M3e58ImahqBtr7LiOUS6m_w59IvDYwjmMcbq3fKW4JSbacqkbxTo8B90dWp0Cese92xfLMPe_tg11g/h60/", 3255 "width": 206, 3256 "height": 60 3257 } 3258 },"author": { 3259 "@type": "Person", 3260 "name": "Lakmali" 3261 } 3262}</script>
3262 3263<a name='4513868933575750066'></a> 3264<h3 class='post-title entry-title'> 3265<a href='https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html'>Dynamic Endpoints in WSO2 API Manager</a> 3266</h3> 3267<div class='post-share-buttons post-share-buttons-top'> 3268<div class='byline post-share-buttons goog-inline-block'> 3269<div aria-owns='sharing-popup-Blog1-byline-4513868933575750066' class='sharing' data-title='Dynamic Endpoints in WSO2 API Manager'> 3270<button aria-controls='sharing-popup-Blog1-byline-4513868933575750066' aria-label='Share' class='sharing-button touch-icon-button' id='sharing-button-Blog1-byline-4513868933575750066' role='button'> 3271<div class='flat-icon-button ripple'> 3272<svg class='svg-icon-24'> 3273<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_share_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3274</svg> 3275</div> 3276</button> 3277<div class='share-buttons-container'> 3278<ul aria-hidden='true' aria-label='Share' class='share-buttons hidden' id='sharing-popup-Blog1-byline-4513868933575750066' role='menu'> 3279<li> 3280<span aria-label='Get link' class='sharing-platform-button sharing-element-link' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=4513868933575750066&target=' data-url='https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html' role='menuitem' tabindex='-1' title='Get link'> 3281<svg class='svg-icon-24 touch-icon sharing-link'> 3282<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_link_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3283</svg> 3284<span class='platform-sharing-text'>Get link</span> 3285</span> 3286</li> 3287<li> 3288<span aria-label='Share to Facebook' class='sharing-platform-button sharing-element-facebook' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=4513868933575750066&target=facebook' data-url='https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html' role='menuitem' tabindex='-1' title='Share to Facebook'> 3289<svg class='svg-icon-24 touch-icon sharing-facebook'> 3290<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_facebook_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3291</svg> 3292<span class='platform-sharing-text'>Facebook</span> 3293</span> 3294</li> 3295<li> 3296<span aria-label='Share to X' class='sharing-platform-button sharing-element-twitter' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=4513868933575750066&target=twitter' data-url='https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html' role='menuitem' tabindex='-1' title='Share to X'> 3297<svg class='svg-icon-24 touch-icon sharing-twitter'> 3298<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_twitter_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3299</svg> 3300<span class='platform-sharing-text'>X</span> 3301</span> 3302</li> 3303<li> 3304<span aria-label='Share to Pinterest' class='sharing-platform-button sharing-element-pinterest' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=4513868933575750066&target=pinterest' data-url='https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html' role='menuitem' tabindex='-1' title='Share to Pinterest'> 3305<svg class='svg-icon-24 touch-icon sharing-pinterest'> 3306<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_pinterest_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3307</svg> 3308<span class='platform-sharing-text'>Pinterest</span> 3309</span> 3310</li> 3311<li> 3312<span aria-label='Email' class='sharing-platform-button sharing-element-email' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=4513868933575750066&target=email' data-url='https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html' role='menuitem' tabindex='-1' title='Email'> 3313<svg class='svg-icon-24 touch-icon sharing-email'> 3314<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3315</svg> 3316<span class='platform-sharing-text'>Email</span> 3317</span> 3318</li> 3319<li aria-hidden='true' class='hidden'> 3320<span aria-label='Share to other apps' class='sharing-platform-button sharing-element-other' data-url='https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html' role='menuitem' tabindex='-1' title='Share to other apps'> 3321<svg class='svg-icon-24 touch-icon sharing-sharingOther'> 3322<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_more_horiz_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3323</svg> 3324<span class='platform-sharing-text'>Other Apps</span> 3325</span> 3326</li> 3327</ul> 3328</div> 3329</div> 3330</div> 3331</div> 3332<div class='post-header'> 3333<div class='post-header-line-1'> 3334<span class='byline post-timestamp'> 3335<meta content='https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html'/> 3336<a class='timestamp-link' href='https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html' rel='bookmark' title='permanent link'> 3337<time class='published' datetime='2016-08-05T19:40:00+09:30' title='2016-08-05T19:40:00+09:30'> 3338August 05, 2016 3339</time> 3340</a> 3341</span> 3342</div> 3343</div> 3344<div class='container post-body entry-content' id='post-snippet-4513868933575750066'> 3345<div class='snippet-thumbnail'> 3346<img alt='Image' sizes='(max-width: 800px) 12vw, 128px' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirNQ2KRfTIl__84D6IkB1f9MQ79JrnaUUtDJug0r7S-qyIkp2o4m2NBTv_u6kMI8mpXXe3kD7D6JPJUn1taE1pKsMcXd_Xvy27Udxw2Ta9jkAh4L_Bd0kkmjzFd2RP_xQe1wCaZKuSI-Gp/s320/dynamic_ep.png' srcset='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirNQ2KRfTIl__84D6IkB1f9MQ79JrnaUUtDJug0r7S-qyIkp2o4m2NBTv_u6kMI8mpXXe3kD7D6JPJUn1taE1pKsMcXd_Xvy27Udxw2Ta9jkAh4L_Bd0kkmjzFd2RP_xQe1wCaZKuSI-Gp/w32-h32-p-k-no-nu/dynamic_ep.png 32w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirNQ2KRfTIl__84D6IkB1f9MQ79JrnaUUtDJug0r7S-qyIkp2o4m2NBTv_u6kMI8mpXXe3kD7D6JPJUn1taE1pKsMcXd_Xvy27Udxw2Ta9jkAh4L_Bd0kkmjzFd2RP_xQe1wCaZKuSI-Gp/w64-h64-p-k-no-nu/dynamic_ep.png 64w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirNQ2KRfTIl__84D6IkB1f9MQ79JrnaUUtDJug0r7S-qyIkp2o4m2NBTv_u6kMI8mpXXe3kD7D6JPJUn1taE1pKsMcXd_Xvy27Udxw2Ta9jkAh4L_Bd0kkmjzFd2RP_xQe1wCaZKuSI-Gp/w128-h128-p-k-no-nu/dynamic_ep.png 128w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirNQ2KRfTIl__84D6IkB1f9MQ79JrnaUUtDJug0r7S-qyIkp2o4m2NBTv_u6kMI8mpXXe3kD7D6JPJUn1taE1pKsMcXd_Xvy27Udxw2Ta9jkAh4L_Bd0kkmjzFd2RP_xQe1wCaZKuSI-Gp/w256-h256-p-k-no-nu/dynamic_ep.png 256w'/> 3347</div> 3348<div class='post-snippet snippet-container r-snippet-container'> 3349<div class='snippet-item r-snippetized'> 3350 From WSO2 APIM 1.10.0, we have introduced new feature to define dynamic endpoints through synapse default endpoints support. In this blog article, I am going to show how we
3350can create an API with dynamic endpoints in APIM. Assume that you have a scenario where depending on the request payload, the backend URL of the API differs. For instance, if the value of "operation" element in the payload is "menu", you have to route the request to endpoint1 and else you need to route the request to endpoint2. { "srvNum": "XXXX", "operation": "menu" } In APIM, dynamic endpoints are achieved through mediation extension sequences. For more information about mediation extensions refer this documentation. For dynamic endpoints we have to set the "To" header with the endpoint address through a mediation In-flow sequence. So let's first create the sequence which sets the "To" header based on the payload. Cr... 3351</div> 3352<a class='snippet-fade r-snippet-fade hidden' href='https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html'></a> 3353</div> 3354</div> 3355<div class='post-bottom'> 3356<div class='post-footer float-container'> 3357<div class='post-footer-line post-footer-line-1'> 3358<span class='byline post-comment-link container'> 3359<a class='comment-link' href='https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html#comments' onclick=''> 3360<svg class='svg-icon-24 touch-icon'> 3361<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_mode_comment_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3362</svg> 3363<span class='num_comments'> 33646 comments 3365</span> 3366</a> 3367</span> 3368</div> 3369<div class='post-footer-line post-footer-line-2'> 3370</div> 3371<div class='post-footer-line post-footer-line-3'> 3372</div> 3373</div> 3374<div class='jump-link flat-button ripple'> 3375<a href='https://blog.lakmali.com/2016/08/dynamic-endpoints-in-wso2-api-manager.html' title='Dynamic Endpoints in WSO2 API Manager'> 3376Keep reading 3377</a> 3378</div> 3379</div> 3380</div> 3381</div> 3382</article> 3383<div> 3384<div class='inline-ad'>
3385<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
3385 3386<!-- java-wisdom_page_body_Blog1_1x1_as --> 3387<ins class="adsbygoogle" 3388 style="display:block" 3389 data-ad-client="ca-pub-5423369479100645" 3390 data-ad-host="ca-host-pub-1556223355139109" 3391 data-ad-host-channel="L0007" 3392 data-ad-slot="5370813279" 3393 data-ad-format="auto"></ins>
3394<script> 3395(adsbygoogle = window.adsbygoogle || []).push({}); 3396</script>
3396 3397</div> 3398</div> 3399<article class='post-outer-container'> 3400<div class='post-outer'> 3401<div class='post'>
3402<script type='application/ld+json'>{ 3403 "@context": "http://schema.org", 3404 "@type": "BlogPosting", 3405 "mainEntityOfPage": { 3406 "@type": "WebPage", 3407 "@id": "https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html" 3408 }, 3409 "headline": "How to invoke APIs in SOAP style in Swagger","description": "WSO2 API Manager has integrated Swagger to allow API consumers to explore APIs through a interactive console which is known as \u0026#39;API Con...","datePublished": "2015-01-15T23:28:00+10:30", 3410 "dateModified": "2018-04-29T20:20:27+09:30","image": { 3411 "@type": "ImageObject","url": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8R6O-4s5fDdzlAQuwzrV8O8NflFHyPvl3YpI_EZRJEnADTjp_nXpGxjmVcSc9caN0YvEcQnXcQMZsCdKApmKQ0Dgs_oOD6-aHzjiCDq8vDdrY8OqGDTK5C3K_xj3Dq9ZmOiXzKBEgh69T/w1200-h630-p-k-no-nu/APICreate-1.png", 3412 "height": 630, 3413 "width": 1200},"publisher": { 3414 "@type": "Organization", 3415 "name": "Blogger", 3416 "logo": { 3417 "@type": "ImageObject", 3418 "url": "https://blogger.googleusercontent.com/img/b/U2hvZWJveA/AVvXsEgfMvYAhAbdHksiBA24JKmb2Tav6K0GviwztID3Cq4VpV96HaJfy0viIu8z1SSw_G9n5FQHZWSRao61M3e58ImahqBtr7LiOUS6m_w59IvDYwjmMcbq3fKW4JSbacqkbxTo8B90dWp0Cese92xfLMPe_tg11g/h60/", 3419 "width": 206, 3420 "height": 60 3421 } 3422 },"author": { 3423 "@type": "Person", 3424 "name": "Lakmali" 3425 } 3426}</script>
3426 3427<a name='8262510440867252576'></a> 3428<h3 class='post-title entry-title'> 3429<a href='https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html'>How to invoke APIs in SOAP style in Swagger </a> 3430</h3> 3431<div class='post-share-buttons post-share-buttons-top'> 3432<div class='byline post-share-buttons goog-inline-block'> 3433<div aria-owns='sharing-popup-Blog1-byline-8262510440867252576' class='sharing' data-title='How to invoke APIs in SOAP style in Swagger '> 3434<button aria-controls='sharing-popup-Blog1-byline-8262510440867252576' aria-label='Share' class='sharing-button touch-icon-button' id='sharing-button-Blog1-byline-8262510440867252576' role='button'> 3435<div class='flat-icon-button ripple'> 3436<svg class='svg-icon-24'> 3437<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_share_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3438</svg> 3439</div> 3440</button> 3441<div class='share-buttons-container'> 3442<ul aria-hidden='true' aria-label='Share' class='share-buttons hidden' id='sharing-popup-Blog1-byline-8262510440867252576' role='menu'> 3443<li> 3444<span aria-label='Get link' class='sharing-platform-button sharing-element-link' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=8262510440867252576&target=' data-url='https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html' role='menuitem' tabindex='-1' title='Get link'> 3445<svg class='svg-icon-24 touch-icon sharing-link'> 3446<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_link_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3447</svg> 3448<span class='platform-sharing-text'>Get link</span> 3449</span> 3450</li> 3451<li> 3452<span aria-label='Share to Facebook' class='sharing-platform-button sharing-element-facebook' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=8262510440867252576&target=facebook' data-url='https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html' role='menuitem' tabindex='-1' title='Share to Facebook'> 3453<svg class='svg-icon-24 touch-icon sharing-facebook'> 3454<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_facebook_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3455</svg> 3456<span class='platform-sharing-text'>Facebook</span> 3457</span> 3458</li> 3459<li> 3460<span aria-label='Share to X' class='sharing-platform-button sharing-element-twitter' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=8262510440867252576&target=twitter' data-url='https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html' role='menuitem' tabindex='-1' title='Share to X'> 3461<svg class='svg-icon-24 touch-icon sharing-twitter'> 3462<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_twitter_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3463</svg> 3464<span class='platform-sharing-text'>X</span> 3465</span> 3466</li> 3467<li> 3468<span aria-label='Share to Pinterest' class='sharing-platform-button sharing-element-pinterest' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=8262510440867252576&target=pinterest' data-url='https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html' role='menuitem' tabindex='-1' title='Share to Pinterest'> 3469<svg class='svg-icon-24 touch-icon sharing-pinterest'> 3470<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_pinterest_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3471</svg> 3472<span class='platform-sharing-text'>Pinterest</span> 3473</span> 3474</li> 3475<li> 3476<span aria-label='Email' class='sharing-platform-button sharing-element-email' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=8262510440867252576&target=email' data-url='https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html' role='menuitem' tabindex='-1' title='Email'> 3477<svg class='svg-icon-24 touch-icon sharing-email'> 3478<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3479</svg> 3480<span class='platform-sharing-text'>Email</span> 3481</span> 3482</li> 3483<li aria-hidden='true' class='hidden'> 3484<span aria-label='Share to other apps' class='sharing-platform-button sharing-element-other' data-url='https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html' role='menuitem' tabindex='-1' title='Share to other apps'> 3485<svg class='svg-icon-24 touch-icon sharing-sharingOther'> 3486<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_more_horiz_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3487</svg> 3488<span class='platform-sharing-text'>Other Apps</span> 3489</span> 3490</li> 3491</ul> 3492</div> 3493</div> 3494</div> 3495</div> 3496<div class='post-header'> 3497<div class='post-header-line-1'> 3498<span class='byline post-timestamp'> 3499<meta content='https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html'/> 3500<a class='timestamp-link' href='https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html' rel='bookmark' title='permanent link'> 3501<time class='published' datetime='2015-01-15T23:28:00+10:30' title='2015-01-15T23:28:00+10:30'> 3502January 15, 2015 3503</time> 3504</a> 3505</span> 3506</div> 3507</div> 3508<div class='container post-body entry-content' id='post-snippet-8262510440867252576'> 3509<div class='snippet-thumbnail'> 3510<img alt='Image' sizes='(max-width: 800px) 12vw, 128px' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8R6O-4s5fDdzlAQuwzrV8O8NflFHyPvl3YpI_EZRJEnADTjp_nXpGxjmVcSc9caN0YvEcQnXcQMZsCdKApmKQ0Dgs_oOD6-aHzjiCDq8vDdrY8OqGDTK5C3K_xj3Dq9ZmOiXzKBEgh69T/s1600/APICreate-1.png' srcset='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8R6O-4s5fDdzlAQuwzrV8O8NflFHyPvl3YpI_EZRJEnADTjp_nXpGxjmVcSc9caN0YvEcQnXcQMZsCdKApmKQ0Dgs_oOD6-aHzjiCDq8vDdrY8OqGDTK5C3K_xj3Dq9ZmOiXzKBEgh69T/w32-h32-p-k-no-nu/APICreate-1.png 32w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8R6O-4s5fDdzlAQuwzrV8O8NflFHyPvl3YpI_EZRJEnADTjp_nXpGxjmVcSc9caN0YvEcQnXcQMZsCdKApmKQ0Dgs_oOD6-aHzjiCDq8vDdrY8OqGDTK5C3K_xj3Dq9ZmOiXzKBEgh69T/w64-h64-p-k-no-nu/APICreate-1.png 64w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8R6O-4s5fDdzlAQuwzrV8O8NflFHyPvl3YpI_EZRJEnADTjp_nXpGxjmVcSc9caN0YvEcQnXcQMZsCdKApmKQ0Dgs_oOD6-aHzjiCDq8vDdrY8OqGDTK5C3K_xj3Dq9ZmOiXzKBEgh69T/w128-h128-p-k-no-nu/APICreate-1.png 128w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8R6O-4s5fDdzlAQuwzrV8O8NflFHyPvl3YpI_EZRJEnADTjp_nXpGxjmVcSc9caN0YvEcQnXcQMZsCdKApmKQ0Dgs_oOD6-aHzjiCDq8vDdrY8OqGDTK5C3K_xj3Dq9ZmOiXzKBEgh69T/w256-h256-p-k-no-nu/APICreate-1.png 256w'/> 3511</div> 3512<div class='post-snippet snippet-container r-snippet-container'> 3513<div class='snippet-item r-snippetized'> 3514 WSO2 API Manager has integrated Swagger to allow API consumers to explore APIs through a interactive console which is known as 'API Console' This swagger based API Console supports invoking APIs i REST style out of the box. So this post going to show how we
3514can invoke APIs in SOAP style in API console of WSO2 API Manager 1.7.0. For that we need to do few extra configurations. 1. Send SOAPAction and Content-Type header in the request 2. Enable sending SOAPAction header in the CORS configuration First create an API for a SOAP Service. In this example I am using HelloService sample SOAP service of WSO2 Application Server. This HelloService has a operation named greet which accepts a payload as below. <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://www.wso2.org/types"> <soapenv:header> <soapenv:body> <typ:greet> <!--Optional:--> <name>lakma... 3515</div> 3516<a class='snippet-fade r-snippet-fade hidden' href='https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html'></a> 3517</div> 3518</div> 3519<div class='post-bottom'> 3520<div class='post-footer float-container'> 3521<div class='post-footer-line post-footer-line-1'> 3522<span class='byline post-comment-link container'> 3523<a class='comment-link' href='https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html#comments' onclick=''> 3524<svg class='svg-icon-24 touch-icon'> 3525<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_mode_comment_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3526</svg> 3527<span class='num_comments'> 35283 comments 3529</span> 3530</a> 3531</span> 3532</div> 3533<div class='post-footer-line post-footer-line-2'> 3534</div> 3535<div class='post-footer-line post-footer-line-3'> 3536</div> 3537</div> 3538<div class='jump-link flat-button ripple'> 3539<a href='https://blog.lakmali.com/2015/01/how-to-invoke-apis-in-soap-style-in.html' title='How to invoke APIs in SOAP style in Swagger '> 3540Keep reading 3541</a> 3542</div> 3543</div> 3544</div> 3545</div> 3546</article> 3547<div> 3548<div class='inline-ad'>
3549<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
3549 3550<!-- java-wisdom_page_body_Blog1_1x1_as --> 3551<ins class="adsbygoogle" 3552 style="display:block" 3553 data-ad-client="ca-pub-5423369479100645" 3554 data-ad-host="ca-host-pub-1556223355139109" 3555 data-ad-host-channel="L0007" 3556 data-ad-slot="5370813279" 3557 data-ad-format="auto"></ins>
3558<script> 3559(adsbygoogle = window.adsbygoogle || []).push({}); 3560</script>
3560 3561</div> 3562</div> 3563<article class='post-outer-container'> 3564<div class='post-outer'> 3565<div class='post'>
3566<script type='application/ld+json'>{ 3567 "@context": "http://schema.org", 3568 "@type": "BlogPosting", 3569 "mainEntityOfPage": { 3570 "@type": "WebPage", 3571 "@id": "https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html" 3572 }, 3573 "headline": "Troubleshooting Swagger issues in WSO2 API Manager","description": "WSO2 API Manager provides this functionality through the integration of Swagger ( https://developers.helloreverb.com/swagger ). Swagger-ba...","datePublished": "2014-11-19T03:51:00+10:30", 3574 "dateModified": "2015-01-18T13:02:45+10:30","image": { 3575 "@type": "ImageObject","url": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicAyWIL6xf13vB6_WrGCU2kuZTnTvqhA-37WEw7e_kyLyvY3XO5sOXYCuFDutZF53zfMaG2f_XHOzJrIzXwT6kz-6hCrZ9bmu8FjFWUJWA-x8cvSXSDjZ0cBmRJLmnUomYu5IbxO3o2leq/w1200-h630-p-k-no-nu/loading-1.png", 3576 "height": 630, 3577 "width": 1200},"publisher": { 3578 "@type": "Organization", 3579 "name": "Blogger", 3580 "logo": { 3581 "@type": "ImageObject", 3582 "url": "https://blogger.googleusercontent.com/img/b/U2hvZWJveA/AVvXsEgfMvYAhAbdHksiBA24JKmb2Tav6K0GviwztID3Cq4VpV96HaJfy0viIu8z1SSw_G9n5FQHZWSRao61M3e58ImahqBtr7LiOUS6m_w59IvDYwjmMcbq3fKW4JSbacqkbxTo8B90dWp0Cese92xfLMPe_tg11g/h60/", 3583 "width": 206, 3584 "height": 60 3585 } 3586 },"author": { 3587 "@type": "Person", 3588 "name": "Lakmali" 3589 } 3590}</script>
3590 3591<a name='6874608317074118180'></a> 3592<h3 class='post-title entry-title'> 3593<a href='https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html'>Troubleshooting Swagger issues in WSO2 API Manager</a> 3594</h3> 3595<div class='post-share-buttons post-share-buttons-top'> 3596<div class='byline post-share-buttons goog-inline-block'> 3597<div aria-owns='sharing-popup-Blog1-byline-6874608317074118180' class='sharing' data-title='Troubleshooting Swagger issues in WSO2 API Manager'> 3598<button aria-controls='sharing-popup-Blog1-byline-6874608317074118180' aria-label='Share' class='sharing-button touch-icon-button' id='sharing-button-Blog1-byline-6874608317074118180' role='button'> 3599<div class='flat-icon-button ripple'> 3600<svg class='svg-icon-24'> 3601<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_share_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3602</svg> 3603</div> 3604</button> 3605<div class='share-buttons-container'> 3606<ul aria-hidden='true' aria-label='Share' class='share-buttons hidden' id='sharing-popup-Blog1-byline-6874608317074118180' role='menu'> 3607<li> 3608<span aria-label='Get link' class='sharing-platform-button sharing-element-link' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=6874608317074118180&target=' data-url='https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html' role='menuitem' tabindex='-1' title='Get link'> 3609<svg class='svg-icon-24 touch-icon sharing-link'> 3610<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_link_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3611</svg> 3612<span class='platform-sharing-text'>Get link</span> 3613</span> 3614</li> 3615<li> 3616<span aria-label='Share to Facebook' class='sharing-platform-button sharing-element-facebook' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=6874608317074118180&target=facebook' data-url='https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html' role='menuitem' tabindex='-1' title='Share to Facebook'> 3617<svg class='svg-icon-24 touch-icon sharing-facebook'> 3618<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_facebook_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3619</svg> 3620<span class='platform-sharing-text'>Facebook</span> 3621</span> 3622</li> 3623<li> 3624<span aria-label='Share to X' class='sharing-platform-button sharing-element-twitter' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=6874608317074118180&target=twitter' data-url='https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html' role='menuitem' tabindex='-1' title='Share to X'> 3625<svg class='svg-icon-24 touch-icon sharing-twitter'> 3626<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_twitter_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3627</svg> 3628<span class='platform-sharing-text'>X</span> 3629</span> 3630</li> 3631<li> 3632<span aria-label='Share to Pinterest' class='sharing-platform-button sharing-element-pinterest' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=6874608317074118180&target=pinterest' data-url='https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html' role='menuitem' tabindex='-1' title='Share to Pinterest'> 3633<svg class='svg-icon-24 touch-icon sharing-pinterest'> 3634<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_pinterest_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3635</svg> 3636<span class='platform-sharing-text'>Pinterest</span> 3637</span> 3638</li> 3639<li> 3640<span aria-label='Email' class='sharing-platform-button sharing-element-email' data-href='https://www.blogger.com/share-post.g?blogID=1621989597321372268&postID=6874608317074118180&target=email' data-url='https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html' role='menuitem' tabindex='-1' title='Email'> 3641<svg class='svg-icon-24 touch-icon sharing-email'> 3642<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3643</svg> 3644<span class='platform-sharing-text'>Email</span> 3645</span> 3646</li> 3647<li aria-hidden='true' class='hidden'> 3648<span aria-label='Share to other apps' class='sharing-platform-button sharing-element-other' data-url='https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html' role='menuitem' tabindex='-1' title='Share to other apps'> 3649<svg class='svg-icon-24 touch-icon sharing-sharingOther'> 3650<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_more_horiz_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3651</svg> 3652<span class='platform-sharing-text'>Other Apps</span> 3653</span> 3654</li> 3655</ul> 3656</div> 3657</div> 3658</div> 3659</div> 3660<div class='post-header'> 3661<div class='post-header-line-1'> 3662<span class='byline post-timestamp'> 3663<meta content='https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html'/> 3664<a class='timestamp-link' href='https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html' rel='bookmark' title='permanent link'> 3665<time class='published' datetime='2014-11-19T03:51:00+10:30' title='2014-11-19T03:51:00+10:30'> 3666November 19, 2014 3667</time> 3668</a> 3669</span> 3670</div> 3671</div> 3672<div class='container post-body entry-content' id='post-snippet-6874608317074118180'> 3673<div class='snippet-thumbnail'> 3674<img alt='Image' sizes='(max-width: 800px) 12vw, 128px' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicAyWIL6xf13vB6_WrGCU2kuZTnTvqhA-37WEw7e_kyLyvY3XO5sOXYCuFDutZF53zfMaG2f_XHOzJrIzXwT6kz-6hCrZ9bmu8FjFWUJWA-x8cvSXSDjZ0cBmRJLmnUomYu5IbxO3o2leq/s1600/loading-1.png' srcset='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicAyWIL6xf13vB6_WrGCU2kuZTnTvqhA-37WEw7e_kyLyvY3XO5sOXYCuFDutZF53zfMaG2f_XHOzJrIzXwT6kz-6hCrZ9bmu8FjFWUJWA-x8cvSXSDjZ0cBmRJLmnUomYu5IbxO3o2leq/w32-h32-p-k-no-nu/loading-1.png 32w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicAyWIL6xf13vB6_WrGCU2kuZTnTvqhA-37WEw7e_kyLyvY3XO5sOXYCuFDutZF53zfMaG2f_XHOzJrIzXwT6kz-6hCrZ9bmu8FjFWUJWA-x8cvSXSDjZ0cBmRJLmnUomYu5IbxO3o2leq/w64-h64-p-k-no-nu/loading-1.png 64w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicAyWIL6xf13vB6_WrGCU2kuZTnTvqhA-37WEw7e_kyLyvY3XO5sOXYCuFDutZF53zfMaG2f_XHOzJrIzXwT6kz-6hCrZ9bmu8FjFWUJWA-x8cvSXSDjZ0cBmRJLmnUomYu5IbxO3o2leq/w128-h128-p-k-no-nu/loading-1.png 128w, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicAyWIL6xf13vB6_WrGCU2kuZTnTvqhA-37WEw7e_kyLyvY3XO5sOXYCuFDutZF53zfMaG2f_XHOzJrIzXwT6kz-6hCrZ9bmu8FjFWUJWA-x8cvSXSDjZ0cBmRJLmnUomYu5IbxO3o2leq/w256-h256-p-k-no-nu/loading-1.png 256w'/> 3675</div> 3676<div class='post-snippet snippet-container r-snippet-container'> 3677<div class='snippet-item r-snippetized'> 3678 WSO2 API Manager provides this functionality through the integration of Swagger ( https://developers.helloreverb.com/swagger ). Swagger-based interactive documentation allows you to try out APIs from the documentation itself which is available as the "API Console" in API Store.  There are certain requirements that need to be satisfied in order to swagger Try-it functionality to work. First requirement is to enable CORS in API Mananger Store. This documentation describes how that should be done.  But most of them face many issues in getting the swagger Try-it into work. So this blog post describes common issues faced by users with Swagger and how to troubleshoot them.   Issue-1 API Console keeps on loading the response for ever as below. Cause -1 API resource not supporting OPTIONS HTTP verb.  Solution Add OPTIONS HTTP verb for API resources as below. The
3678n Save the API and Try again.  Cause -2  Backend ... 3679</div> 3680<a class='snippet-fade r-snippet-fade hidden' href='https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html'></a> 3681</div> 3682</div> 3683<div class='post-bottom'> 3684<div class='post-footer float-container'> 3685<div class='post-footer-line post-footer-line-1'> 3686<span class='byline post-comment-link container'> 3687<a class='comment-link' href='https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html#comments' onclick=''> 3688<svg class='svg-icon-24 touch-icon'> 3689<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_mode_comment_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3690</svg> 3691<span class='num_comments'> 36924 comments 3693</span> 3694</a> 3695</span> 3696</div> 3697<div class='post-footer-line post-footer-line-2'> 3698</div> 3699<div class='post-footer-line post-footer-line-3'> 3700</div> 3701</div> 3702<div class='jump-link flat-button ripple'> 3703<a href='https://blog.lakmali.com/2014/11/troubleshooting-issues-with-swagger-in.html' title='Troubleshooting Swagger issues in WSO2 API Manager'> 3704Keep reading 3705</a> 3706</div> 3707</div> 3708</div> 3709</div> 3710</article> 3711<div> 3712<div class='inline-ad'>
3713<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
3713 3714<!-- java-wisdom_page_body_Blog1_1x1_as --> 3715<ins class="adsbygoogle" 3716 style="display:block" 3717 data-ad-client="ca-pub-5423369479100645" 3718 data-ad-host="ca-host-pub-1556223355139109" 3719 data-ad-host-channel="L0007" 3720 data-ad-slot="5370813279" 3721 data-ad-format="auto"></ins>
3722<script> 3723(adsbygoogle = window.adsbygoogle || []).push({}); 3724</script>
3724 3725</div> 3726</div> 3727</div> 3728<div class='blog-pager container' id='blog-pager'> 3729<a class='blog-pager-older-link flat-button ripple' href='https://blog.lakmali.com/search?updated-max=2014-11-19T03:51:00%2B10:30&max-results=7&start=7&by-date=false' title='More posts'> 3730More posts 3731</a> 3732</div> 3733</div> 3734</div> 3735</main> 3736</div> 3737<footer class='footer section' id='footer' name='Footer'><div class='widget Attribution' data-version='2' id='Attribution1'> 3738<div class='widget-content'> 3739<div class='blogger'> 3740<a href='https://www.blogger.com' rel='nofollow'> 3741<svg class='svg-icon-24'> 3742<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_post_blogger_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3743</svg> 3744Powered by Blogger 3745</a> 3746</div> 3747<div class='image-attribution'> 3748Theme images by <a href="http://www.istockphoto.com/file_closeup.php?id=8321826&platform=blogger">lobaaaato</a> 3749</div> 3750</div> 3751</div></footer> 3752</div> 3753</div> 3754</div> 3755<aside class='sidebar-container container sidebar-invisible' role='complementary'> 3756<div class='navigation'> 3757<button class='svg-icon-24-button flat-icon-button ripple sidebar-back'> 3758<svg class='svg-icon-24'> 3759<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_arrow_back_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3760</svg> 3761</button> 3762</div> 3763<div class='sidebar_top_wrapper'> 3764<div class='sidebar_top section' id='sidebar_top' name='Sidebar (Top)'><div class='widget Profile' data-version='2' id='Profile1'> 3765<div class='wrapper solo'> 3766<div class='widget-content individual'> 3767<a href='https://www.blogger.com/profile/06183648962849727542' rel='nofollow'> 3768<div class='default-avatar-wrapper'> 3769<svg class='svg-icon-24 avatar-icon'> 3770<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_person_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3771</svg> 3772</div> 3773</a> 3774<div class='profile-info'> 3775<dl class='profile-datablock'> 3776<dt class='profile-data'> 3777<a class='profile-link g-profile' href='https://www.blogger.com/profile/06183648962849727542' rel='author nofollow'> 3778Lakmali 3779</a> 3780</dt> 3781</dl> 3782<a class='profile-link visit-profile pill-button' href='https://www.blogger.com/profile/06183648962849727542' rel='author'> 3783Visit profile 3784</a> 3785</div> 3786</div> 3787</div> 3788</div></div> 3789</div> 3790<div class='sidebar_bottom section' id='sidebar_bottom' name='Sidebar (Bottom)'><div class='widget BlogArchive' data-version='2' id='BlogArchive1'> 3791<details class='collapsible extendable'> 3792<summary> 3793<div class='collapsible-title'> 3794<h3 class='title'> 3795Archive 3796</h3> 3797<svg class='svg-icon-24 chevron-down'> 3798<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_more_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3799</svg> 3800<svg class='svg-icon-24 chevron-up'> 3801<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_less_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3802</svg> 3803</div> 3804</summary> 3805<div class='widget-content'> 3806<div id='ArchiveList'> 3807<div id='BlogArchive1_ArchiveList'> 3808<div class='first-items'> 3809<ul class='flat'> 3810<li class='archivedate'> 3811<a href='https://blog.lakmali.com/2019/07/'>July 2019<span class='post-count'>2</span></a> 3812</li> 3813<li class='archivedate'> 3814<a href='https://blog.lakmali.com/2019/02/'>February 2019<span class='post-count'>2</span></a> 3815</li> 3816<li class='archivedate'> 3817<a href='https://blog.lakmali.com/2019/01/'>January 2019<span class='post-count'>2</span></a> 3818</li> 3819<li class='archivedate'> 3820<a href='https://blog.lakmali.com/2018/10/'>October 2018<span class='post-count'>1</span></a> 3821</li> 3822<li class='archivedate'> 3823<a href='https://blog.lakmali.com/2018/09/'>September 2018<span class='post-count'>1</span></a> 3824</li> 3825<li class='archivedate'> 3826<a href='https://blog.lakmali.com/2017/06/'>June 2017<span class='post-count'>1</span></a> 3827</li> 3828<li class='archivedate'> 3829<a href='https://blog.lakmali.com/2017/05/'>May 2017<span class='post-count'>1</span></a> 3830</li> 3831<li class='archivedate'> 3832<a href='https://blog.lakmali.com/2017/01/'>January 2017<span class='post-count'>1</span></a> 3833</li> 3834<li class='archivedate'> 3835<a href='https://blog.lakmali.com/2016/08/'>August 2016<span class='post-count'>1</span></a> 3836</li> 3837<li class='archivedate'> 3838<a href='https://blog.lakmali.com/2015/01/'>
3838January 2015<span class='post-count'>1</span></a> 3839</li> 3840</ul> 3841</div> 3842<div class='remaining-items'> 3843<ul class='flat'> 3844<li class='archivedate'> 3845<a href='https://blog.lakmali.com/2014/11/'>November 2014<span class='post-count'>2</span></a> 3846</li> 3847<li class='archivedate'> 3848<a href='https://blog.lakmali.com/2013/12/'>December 2013<span class='post-count'>1</span></a> 3849</li> 3850<li class='archivedate'> 3851<a href='https://blog.lakmali.com/2013/11/'>November 2013<span class='post-count'>1</span></a> 3852</li> 3853<li class='archivedate'> 3854<a href='https://blog.lakmali.com/2013/10/'>October 2013<span class='post-count'>1</span></a> 3855</li> 3856<li class='archivedate'> 3857<a href='https://blog.lakmali.com/2013/08/'>August 2013<span class='post-count'>1</span></a> 3858</li> 3859<li class='archivedate'> 3860<a href='https://blog.lakmali.com/2013/03/'>March 2013<span class='post-count'>1</span></a> 3861</li> 3862<li class='archivedate'> 3863<a href='https://blog.lakmali.com/2012/12/'>December 2012<span class='post-count'>1</span></a> 3864</li> 3865<li class='archivedate'> 3866<a href='https://blog.lakmali.com/2012/05/'>May 2012<span class='post-count'>1</span></a> 3867</li> 3868<li class='archivedate'> 3869<a href='https://blog.lakmali.com/2012/03/'>March 2012<span class='post-count'>1</span></a> 3870</li> 3871<li class='archivedate'> 3872<a href='https://blog.lakmali.com/2012/02/'>February 2012<span class='post-count'>1</span></a> 3873</li> 3874<li class='archivedate'> 3875<a href='https://blog.lakmali.com/2011/12/'>December 2011<span class='post-count'>2</span></a> 3876</li> 3877<li class='archivedate'> 3878<a href='https://blog.lakmali.com/2011/10/'>October 2011<span class='post-count'>5</span></a> 3879</li> 3880<li class='archivedate'> 3881<a href='https://blog.lakmali.com/2011/06/'>June 2011<span class='post-count'>2</span></a> 3882</li> 3883<li class='archivedate'> 3884<a href='https://blog.lakmali.com/2011/05/'>May 2011<span class='post-count'>1</span></a> 3885</li> 3886<li class='archivedate'> 3887<a href='https://blog.lakmali.com/2010/12/'>December 2010<span class='post-count'>1</span></a> 3888</li> 3889<li class='archivedate'> 3890<a href='https://blog.lakmali.com/2010/11/'>November 2010<span class='post-count'>3</span></a> 3891</li> 3892<li class='archivedate'> 3893<a href='https://blog.lakmali.com/2010/10/'>October 2010<span class='post-count'>5</span></a> 3894</li> 3895<li class='archivedate'> 3896<a href='https://blog.lakmali.com/2010/09/'>September 2010<span class='post-count'>1</span></a> 3897</li> 3898<li class='archivedate'> 3899<a href='https://blog.lakmali.com/2009/12/'>December 2009<span class='post-count'>4</span></a> 3900</li> 3901</ul> 3902</div> 3903<span class='show-more pill-button'>Show more</span> 3904<span class='show-less hidden pill-button'>Show less</span> 3905</div> 3906</div> 3907</div> 3908</details> 3909</div><div class='widget HTML' data-version='2' id='HTML1'> 3910<div class='widget-content'> 3911<a href='https://twitter.com/lakmali87' target='_blank'><img alt='twitter' src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio_SKFkgIxfxDaR93UDnuyHAYnAOIZpva63wtWa6i7btKAs0dD8zlKEDUmhqrHji010Ncugi8aQWUup2thxNjJGYK8jVjG48jBbwmnJlmhJVSqtM1Zj7-u4-1l_tsbRlzcYhSYOSpeA5c/s1600/twitter.png" title='twitter'/></a> <a href='https://facebook.com/lakmali.baminiwatta' target='_blank'><img alt='facebook' src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZasR_oZehvBuUcpuI9Mo316mC6Q3Vzf-OweJqiS-C833XGDyAMSWl6bag5hRMcTHnt__zpxVWo6BxngAdB5aSu6IVLvSPTUWK6SU83Z3ZX7AEsnpW2xZWunsRS0aIv_EOqcCgMHo6cV8/s1600/facebook.png" title='facebook'/></a> <a href='https://au.linkedin.com/in/lakmali' target='_blank'><img alt='linkedin' src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIZOS-UAwTVOZ6DouSVY7l35bXi4s1SDK4ZAJTwLh6DQom09OGjhhCKWBIpaR4623dodJgjLsNZ3vs4LatUgUmiWbK8IiK1mhrBZDLfRFy7txdMY2nSOvaBwGr_2Ja-0VMm9WMoi5eYGY/s1600/linkedin.png" title='linkedin'/></a> 3912
3913<script type="text/javascript"> 3914 3915 var visited = getCookie('visited'); 3916 var d = new Date().getDay(); 3917 if (visited) { 3918 } else { 3919 if (0 == d){ 3920 setCookie('visited', 'visited', 4); 3921 openInNewTab(); 3922 } 3923 } 3924 function getCookie(cname) { 3925 var name = cname + "="; 3926 var ca = document.cookie.split(';'); 3927 for(var i = 0; i <ca.length; i++) { 3928 var c = ca[i]; 3929 while (c.charAt(0)==' ') { 3930 c = c.substring(1); 3931 } 3932 if (c.indexOf(name) == 0) { 3933 return c.substring(name.length,c.length); 3934 } 3935 } 3936 return ""; 3937 } 3938 function setCookie(cname, cvalue, exdays) { 3939 var d = new Date(); 3940 d.setTime(d.getTime() + (exdays*24*60*60*1000)); 3941 var expires = "expires="+d.toUTCString(); 3942 document.cookie = cname + "=" + cvalue + "; " + expires; 3943 } 3944 function openInNewTab() { document.body.onclick= function(){ 3945 var win = window.open(window.location.href, '_blank'); 3946 win.focus(); 3947 location.replace("https://au.linkedin.com/in/lakmali"); 3948 document.body.onclick = null; 3949 } 3950 } 3951 3952 </script>
3952 3953</div> 3954</div><div class='widget Label' data-version='2' id='Label1'> 3955<details class='collapsible extendable'> 3956<summary> 3957<div class='collapsible-title'> 3958<h3 class='title'> 3959Labels 3960</h3> 3961<svg class='svg-icon-24 chevron-down'> 3962<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_more_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3963</svg> 3964<svg class='svg-icon-24 chevron-up'> 3965<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_less_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> 3966</svg> 3967</div> 3968</summary> 3969<div class='widget-content list-label-widget-content'> 3970<div class='first-items'> 3971<ul> 3972<li><a class='label-name' href='https://blog.lakmali.com/search/label/any%20code%20in%20blogging'>any code in blogging</a></li> 3973<li><a class='label-name' href='https://blog.lakmali.com/search/label/Apache%20Tomcat'>Apache Tomcat</a></li> 3974<li><a class='label-name' href='https://blog.lakmali.com/search/label/blog%20posts'>blog posts</a></li> 3975<li><a class='label-name' href='https://blog.lakmali.com/search/label/change'>change</a></li> 3976<li><a class='label-name' href='https://blog.lakmali.com/search/label/HTML%20code'>HTML code</a></li> 3977<li><a class='label-name' href='https://blog.lakmali.com/search/label/Inversion%20of%20Control'>Inversion of Control</a></li> 3978<li><a class='label-name' href='https://blog.lakmali.com/search/label/IOC'>IOC</a></li> 3979<li><a class='label-name' href='https://blog.lakmali.com/search/label/javascript%20code'>javascript code</a></li> 3980<li><a class='label-name' href='https://blog.lakmali.com/search/label/Plain%20Old%20Java%20Object'>Plain Old Java Object</a></li> 3981<li><a class='label-name' href='https://blog.lakmali.com/search/label/POJO'>POJO</a></li> 3982</ul> 3983</div> 3984<div class='remaining-items'> 3985<ul> 3986<li><a class='label-name' href='https://blog.lakmali.com/search/label/port'>port</a></li> 3987</ul> 3988</div> 3989<span class='show-more pill-button'>Show more</span> 3990<span class='show-less hidden pill-button'>Show less</span> 3991</div> 3992</details> 3993</div><div class='widget AdSense' data-version='2' id='AdSense1'> 3994<div class='widget-content'>
3995<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
3995 3996<!-- java-wisdom_sidebar_bottom_AdSense1_1x1_as --> 3997<ins class="adsbygoogle" 3998 style="display:block" 3999 data-ad-client="ca-pub-5423369479100645" 4000 data-ad-host="ca-host-pub-1556223355139109" 4001 data-ad-host-channel="L0001" 4002 data-ad-slot="2226323929" 4003 data-ad-format="auto"></ins>
4004<script> 4005(adsbygoogle = window.adsbygoogle || []).push({}); 4006</script>
4006 4007</div> 4008</div><div class='widget ReportAbuse' data-version='2' id='ReportAbuse1'> 4009<h3 class='title'> 4010<a class='report_abuse' href='https://www.blogger.com/go/report-abuse' rel='noopener nofollow' target='_blank'> 4011Report Abuse 4012</a> 4013</h3> 4014</div> 4015</div> 4016</aside>
4017<script type="text/javascript" src="https://resources.blogblog.com/blogblog/data/res/608349471-indie_compiled.js" async="true"></script>
4017 4018
4019<script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/851759228-widgets.js"></script>
vendor: 1 bytes, line 4019
4019
4020<script type='text/javascript'> 4021window['__wavt'] = 'AAPvtVk35MRgd9V07qXt_gh5IDx7:1790951209699';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d1621989597321372268','//blog.lakmali.com/search?updated-max\x3d2018-10-12T17:10:00-07:00\x26max-results\x3d7','1621989597321372268'); 4022_WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '1621989597321372268', 'title': 'Lakmali Erandi Baminiwatta\u2019s blog', 'url': 'https://blog.lakmali.com/search?updated-max\x3d2018-10-12T17:10:00-07:00\x26max-results\x3d7', 'canonicalUrl': 'https://blog.lakmali.com/search?updated-max\x3d2018-10-12T17:10:00-07:00\x26max-results\x3d7', 'homepageUrl': 'https://blog.lakmali.com/', 'searchUrl': 'https://blog.lakmali.com/search', 'canonicalHomepageUrl': 'https://blog.lakmali.com/', 'blogspotFaviconUrl': 'https://blog.lakmali.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': true, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': 'UA-28559733-2', 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Lakmali Erandi Baminiwatta\u2019s blog - Atom\x22 href\x3d\x22https://blog.lakmali.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Lakmali Erandi Baminiwatta\u2019s blog - RSS\x22 href\x3d\x22https://blog.lakmali.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Lakmali Erandi Baminiwatta\u2019s blog - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/1621989597321372268/posts/default\x22 /\x3e\n', 'meTag': '\x3clink rel\x3d\x22me\x22 href\x3d\x22https://www.blogger.com/profile/06183648962849727542\x22 /\x3e\n', 'adsenseClientId': 'ca-pub-5423369479100645', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': true, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/7ce469edaf870342', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}
4022, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Read more', 'pageType': 'index', 'pageName': '', 'pageTitle': 'Lakmali Erandi Baminiwatta\u2019s blog'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': true, 'isAlternateRendering': false, 'isCustom': true, 'variant': 'indie_orange', 'variantId': 'indie_orange'}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Lakmali Erandi Baminiwatta\u2019s blog', 'description': '', 'url': 'https://blog.lakmali.com/search?updated-max\x3d2018-10-12T17:10:00-07:00\x26max-results\x3d7', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': false, 'isSearch': true, 'isLabelSearch': false, 'search': {}}}, {'name': 'widgets', 'data': [{'title': 'Search This Blog', 'type': 'BlogSearch', 'sectionId': 'search_top', 'id': 'BlogSearch1'}, {'title': 'Lakmali Erandi Baminiwatta\u2019s blog (Header)', 'type': 'Header', 'sectionId': 'header', 'id': 'Header1'}, {'title': '', 'type': 'FeaturedPost', 'sectionId': 'page_body', 'id': 'FeaturedPost1', 'postId': '6436251793846287620'}, {'title': 'Blog Posts', 'type': 'Blog', 'sectionId': 'page_body', 'id': 'Blog1', 'posts': [{'id': '2935925360909658611', 'title': 'What is HTTP/2? ', 'showInlineAds': true}, {'id': '8230966937651293778', 'title': 'WSO2 API Manager- Customizing Store User Sign-Up ', 'featuredImage': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB-aeP64dOmAKAunse-Z5SzbEhuEDYjSkryqUurLw3UDxC22-9lGTqUz9mPj54Oq_wlBpYSsVy7KGZxS7ZPRIpzIaS5EKA4zsIO-TsInGPYFqV609HflGAmAvGul0M7uRbMSi-r42Wdc2x/s320/default-signup.png', 'showInlineAds': true}, {'id': '5779292064416245816', 'title': 'Customizing Lifecycle states in WSO2 API Manager ', 'featuredImage': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQy5EkJh1Hm9yLmlt3aYZ0_oTOHlJ1l9tlMtnMeWUBgaFT9h5Hqv9dG4RinUTuhA9YBER-iPvspk_MNLulGeR2LPNGWCj0A_AT35zbZfmM9emYYk-hHxgvtBkl5wcAvGeUQ8aHfIoAaIl9/s320/Lc-1.png', 'showInlineAds': true}, {'id': '4129807879998416404', 'title': 'Encrypting passwords in WSO2 APIM 2.0.0', 'featuredImage': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0AfCb5cboy439r9FDFpQFW7OIjOJ3Hhe1pznKzFXQcu5j_ox7YLT-73rKPIYLEypZDE-JwXPIYW6bf27cEAOJ99UrhxEtSnNPrOpPJa8MDe9cXZ3hIuf74FNaNLgx4n56VvUVTlwyyUu3/s320/blog-pc-1.png', 'showInlineAds': true}, {'id': '4513868933575750066', 'title': 'Dynamic Endpoints in WSO2 API Manager', 'featuredImage': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirNQ2KRfTIl__84D6IkB1f9MQ79JrnaUUtDJug0r7S-qyIkp2o4m2NBTv_u6kMI8mpXXe3kD7D6JPJUn1taE1pKsMcXd_Xvy27Udxw2Ta9jkAh4L_Bd0kkmjzFd2RP_xQe1wCaZKuSI-Gp/s320/dynamic_ep.png', 'showInlineAds': true}, {'id': '8262510440867252576', 'title': 'How to invoke APIs in SOAP style in Swagger ', 'featuredImage': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8R6O-4s5fDdzlAQuwzrV8O8NflFHyPvl3YpI_EZRJEnADTjp_nXpGxjmVcSc9caN0YvEcQnXcQMZsCdKApmKQ0Dgs_oOD6-aHzjiCDq8vDdrY8OqGDTK5C3K_xj3Dq9ZmOiXzKBEgh69T/s1600/APICreate-1.png', 'showInlineAds': true}, {'id': '6874608317074118180', 'title': 'Troubleshooting Swagger issues in WSO2 API Manager', 'featuredImage': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicAyWIL6xf13vB6_WrGCU2kuZTnTvqhA-37WEw7e_kyLyvY3XO5sOXYCuFDutZF53zfMaG2f_XHOzJrIzXwT6kz-6hCrZ9bmu8FjFWUJWA-x8cvSXSDjZ0cBmRJLmnUomYu5IbxO3o2leq/s1600/loading-1.png', 'showInlineAds': true}], 'headerByline': {'regionName': 'header1', 'items': [{'name': 'share', 'label': ''}, {'name': 'timestamp', 'label': ''}]}, 'footerBylines': [{'regionName': 'footer1', 'items': [{'name': 'comments', 'label': 'comments'}, {'name': 'icons', 'label': ''}]}, {'regionName': 'footer2', 'items': [{'name': 'labels', 'label': ''}]}, {'regionName': 'footer3', 'items': [{'name': 'location', 'label': 'Location:'}]}], 'allBylineItems': [{'name': 'share', 'label': ''}, {'name': 'timestamp', 'label': ''}, {'name': 'comments', 'label': 'comments'}, {'name': 'icons', 'label': ''}, {'name': 'labels', 'label': ''}, {'name': 'location', 'label': 'Location:'}]}, {'title': '', 'type': 'PopularPosts', 'sectionId': 'page_body', 'id': 'PopularPosts1', 'posts': [{'title': 'PHP-SOAP web service with out a WSDL', 'id': 5284506579977284058}, {'title': 'Add HTML, JavaScript, or any other codings into blogger posts', 'id': 2592881356807123511}, {'title': 'Boomi Mapping - Removing special chars from an input', 'id': 6436251793846287620}]}, {'type': 'Attribution', 'sectionId': 'footer', 'id': 'Attribution1'}, {'title': 'About Me', 'type': 'Profile', 'sectionId': 'sidebar_top', 'id': 'Profile1'}, {'title': '', 'type': 'BlogArchive', 'sectionId': 'sidebar_bottom', 'id': 'BlogArchive1'}, {'title': '', 'type': 'HTML', 'sectionId': 'sidebar_bottom', 'id': 'HTML1'}, {'title': 'Labels', 'type': 'Label', 'sectionId': 'sidebar_bottom', 'id': 'Label1'}, {'type': 'AdSense', 'sectionId': 'sidebar_bottom', 'id': 'AdSense1'}, {'title': '', 'type': 'ReportAbuse', 'sectionId': 'sidebar_bottom', 'id': 'ReportAbuse1'}]}]); 4023_WidgetManager._RegisterWidget('_BlogSearchView', new _WidgetInfo('BlogSearch1', 'search_top', document.getElementById('BlogSearch1'), {}, 'displayModeFull'));
4024_WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); 4025_WidgetManager._RegisterWidget('_FeaturedPostView', new _WidgetInfo('FeaturedPost1', 'page_body', document.getElementById('FeaturedPost1'), {}, 'displayModeFull')); 4026_WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'page_body', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/120969204-lbx.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/828616780-lightbox_bundle.css'}, 'displayModeFull')); 4027_WidgetManager._RegisterWidget('_PopularPostsView', new _WidgetInfo('PopularPosts1', 'page_body', document.getElementById('PopularPosts1'), {}, 'displayModeFull')); 4028_WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer', document.getElementById('Attribution1'), {}, 'displayModeFull')); 4029_WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile1', 'sidebar_top', document.getElementById('Profile1'), {}, 'displayModeFull')); 4030_WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar_bottom', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); 4031_WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar_bottom', document.getElementById('HTML1'), {}, 'displayModeFull')); 4032_WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar_bottom', document.getElementById('Label1'), {}, 'displayModeFull')); 4033_WidgetManager._RegisterWidget('_AdSenseView', new _WidgetInfo('AdSense1', 'sidebar_bottom', document.getElementById('AdSense1'), {}, 'displayModeFull')); 4034_WidgetManager._RegisterWidget('_ReportAbuseView', new _WidgetInfo('ReportAbuse1', 'sidebar_bottom', document.getElementById('ReportAbuse1'), {}, 'displayModeFull')); 4035</script>
4035 4036</body> 4037</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.