Ejemplo n.º 1
0
        public void Tweet(ref Globussoft.GlobusHttpHelper globusHttpHelper, string pgSrc, string postAuthenticityToken, string tweetMessage, out string status)
        {
            try
            {

                //string abc = tweetMessage.Replace("�", " ");
                //Post Tweet To Account
                string strpostAuthenticityToken = string.Empty;

                string get_twitter_first = globusHttpHelper.getHtmlfromUrlIP(new Uri("https://twitter.com/"), IPAddress, IPPort, IPUsername, IPpassword, string.Empty, string.Empty);

                if (!string.IsNullOrEmpty(get_twitter_first) && !string.IsNullOrWhiteSpace(get_twitter_first))
                {
                    strpostAuthenticityToken = PostAuthenticityToken(get_twitter_first, "postAuthenticityToken");
                }

                if (!string.IsNullOrEmpty(tweetMessage) && !string.IsNullOrWhiteSpace(tweetMessage))
                {
                    if (tweetMessage.Length > 140)
                    {
                        int index = tweetMessage.Length - 140;
                        tweetMessage = tweetMessage.Remove(tweetMessage.Length - index);
                        string TweetData = "include_entities=true&status=" + HttpUtility.UrlEncode(tweetMessage) + "&post_authenticity_token=" + strpostAuthenticityToken;
                        string res_PostTweet = globusHttpHelper.postFormData(new Uri("https://api.twitter.com/1/statuses/update.json"), TweetData, "https://api.twitter.com/receiver.html", strpostAuthenticityToken, "XMLHttpRequest", "true", "");

                        status = "posted";
                    }
                    else
                    {
                        string TweetData = "include_entities=true&status=" + HttpUtility.UrlEncode(tweetMessage) + "&post_authenticity_token=" + strpostAuthenticityToken;
                        string res_PostTweet = globusHttpHelper.postFormData(new Uri("https://api.twitter.com/1/statuses/update.json"), TweetData, "https://api.twitter.com/receiver.html", strpostAuthenticityToken, "XMLHttpRequest", "true", "");

                        status = "posted";
                    }
                }
                else
                {
                    status = "Tweet Message Is Empty !";
                }
            }
            catch (Exception ex)
            {
                status = "not posted";
                //Log("Method>>Tweet  --- class>>Tweeter.cs : Tweet Exception " + ex.Message);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Tweeter() -- Tweet() --> " + ex.Message, Globals.Path_FollowerErroLog);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> Tweeter() -- Tweet()  --> " + ex.Message, Globals.Path_TwtErrorLogs);
            }
        }
Ejemplo n.º 2
0
 public void UnFollowUsingProfileID(ref Globussoft.GlobusHttpHelper globusHttpHelper, string pgSrc, string postAuthenticityToken, string user_id_toUnFollow, out string status)
 {            
     string currentStatus = string.Empty;
     try
     {
         
         string unfollowpostdata = "authenticity_token=" + postAuthenticityToken + "&user_id=" + user_id_toUnFollow.Trim();// + user_id_toUnFollow;
         //string res_PostFollow = globusHttpHelper.postFormData(new Uri("https://twitter.com/i/user/unfollow"), unfollowpostdata, "https://api.twitter.com/receiver.html", string.Empty, "XMLHttpRequest", "true", "https://api.twitter.com");
         string res_PostFollow = globusHttpHelper.postFormData(new Uri("https://twitter.com/i/user/unfollow"), unfollowpostdata, "https://twitter.com/following", string.Empty, "XMLHttpRequest", "true", "");
         
         //if (res_PostFollow.EndsWith("new_state\":\"not-following\"}"))
         if (res_PostFollow.StartsWith("{\"new_state\":\"not-following")||res_PostFollow.EndsWith("new_state\":\"not-following\"}"))
         {
             currentStatus = "Unfollowed";
         }
         else if (res_PostFollow.StartsWith("{\"new_state\":\"not-following"))
         {
             currentStatus = "Already Unfollowed";
         }
         else
         {
             currentStatus = "not Unfollowed";
         }
         status = currentStatus;
     }
     catch (Exception ex)
     {
         status = "not Unfollowed";
         //Log("[ " + DateTime.Now + " ] => [ Method>>  UnFollowUsingProfileID  --- class>>  Unfollower.cs : UnFollow Exception " + ex.Message + " ]");
         Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Unfollower -- UnFollowUsingProfileID() --> " + ex.Message, Globals.Path_UnfollowerErroLog);
         Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> Unfollower -- UnFollowUsingProfileID() --> " + ex.Message, Globals.Path_TwtErrorLogs);
     }
 } 
Ejemplo n.º 3
0
        public void FollowUsingProfileID(ref Globussoft.GlobusHttpHelper globusHttpHelper, string pgSrc, string postAuthenticityToken, string user_id_toFollow, out string status)
        {
            try
            {
                string FollowingData = string.Empty;
                if (NumberHelper.ValidateNumber(user_id_toFollow))
                {
                    FollowingData = "user_id=" + user_id_toFollow + "&post_authenticity_token=" + postAuthenticityToken + "";
                }
                else
                {
                    FollowingData = "screen_name=" + user_id_toFollow + "&post_authenticity_token=" + postAuthenticityToken + "";
                }
                string res_PostFollow = globusHttpHelper.postFormData(new Uri("https://api.twitter.com/1/friendships/create.json"), FollowingData, "https://api.twitter.com/receiver.html", string.Empty, "XMLHttpRequest", "true", "https://api.twitter.com");

                status = "followed";
            }
            catch (Exception ex)
            {
                status = "not followed";
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> FollowUsingProfileID() --> " + ex.Message, Globals.Path_FollowerErroLog);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> FollowUsingProfileID() --> " + ex.Message, Globals.Path_TwtErrorLogs);
            }
        }
Ejemplo n.º 4
0
        public bool LogoutHttpHelper(ref Globussoft.GlobusHttpHelper HttpHelper)
        {
            try
            {
                string pageSource1 = HttpHelper.getHtmlfromUrl(new Uri("http://www.facebook.com/"));

                if (pageSource1.Contains("\"h\"") && pageSource1.Contains("post_form_id") && pageSource1.Contains("fb_dtsg"))
                {
                    string h = string.Empty;
                    string post_form_id = string.Empty;
                    string fb_dtsg = string.Empty;

                    if (pageSource1.Contains("\"h\""))
                    {
                        string strTemp = pageSource1.Substring(pageSource1.IndexOf("\"h\""), 200);
                        string[] ArrTemp = strTemp.Split('"');
                        h = ArrTemp[3];
                    }
                    if (pageSource1.Contains("post_form_id") && pageSource1.Contains("fb_dtsg"))
                    {
                        string strTemp = pageSource1.Substring(pageSource1.IndexOf("post_form_id"), 200);
                        string[] ArrTemp = strTemp.Split('"');
                        post_form_id = ArrTemp[2];
                        fb_dtsg = ArrTemp[6];

                    }

                    string ResponseLogout = HttpHelper.postFormData(new Uri("http://www.facebook.com/logout.php"), "post_form_id=" + post_form_id + "&fb_dtsg=" + fb_dtsg + "&ref=mb&h=" + h);

                    return true;
                }
                return false;
            }
            catch (Exception ex)
            {
                return false;
                Console.WriteLine(ex.Message);
            }

        }
Ejemplo n.º 5
0
        public void FollowUsingProfileID_New(ref Globussoft.GlobusHttpHelper globusHttpHelper, string pgSrc, string postAuthenticityToken, string user_id_toFollow, out string status)
        {
            try
            {
                string data_user_id = string.Empty;
                string PostData = string.Empty;

                if (NumberHelper.ValidateNumber(user_id_toFollow))
                {
                    string tempScreenName = string.Empty;
                    data_user_id = user_id_toFollow;
                    string pageSource = globusHttpHelper.getHtmlfromUrl(new Uri("https://twitter.com/intent/user?user_id=" + user_id_toFollow), "", "");
                    if (string.IsNullOrEmpty(pageSource))
                    {
                        pageSource = globusHttpHelper.getHtmlfromUrl(new Uri("https://twitter.com/intent/user?user_id=" + user_id_toFollow), "", "");
                    }
                    tempScreenName = globusHttpHelper.getBetween(pageSource, "<span class=\"name\">", "</span>");
                    if (!string.IsNullOrEmpty(tempScreenName))
                    {
                        pageSource = globusHttpHelper.getHtmlfromUrl(new Uri("https://twitter.com/" + tempScreenName), "", "");
                    }

                    if (!string.IsNullOrEmpty(pageSource))
                    {
                        try
                        {
                            int startIndx = pageSource.IndexOf("data-user-id=\"") + "data-user-id=\"".Length;
                            int endIndx = pageSource.IndexOf("\"", startIndx);
                            userID = pageSource.Substring(startIndx, endIndx - startIndx);
                        }
                        catch { }

                        if (string.IsNullOrEmpty(userID))
                        {
                            userID = string.Empty;
                            string[] useridarr = System.Text.RegularExpressions.Regex.Split(pageSource, "data-user-id=");
                            foreach (string useridarr_item in useridarr)
                            {
                                if (useridarr_item.Contains("data-screen-name="))
                                {
                                    userID = useridarr_item.Substring(0 + 1, useridarr_item.IndexOf("data-screen-name=") - 3);
                                    break;
                                }
                            }
                        }
                    }
                }
                else
                {
                    try
                    {
                        string data_id = string.Empty;
                        string pageSource = globusHttpHelper.getHtmlfromUrl(new Uri("https://twitter.com/" + user_id_toFollow), "", "");
                        if (string.IsNullOrEmpty(pageSource))
                        {
                            pageSource = globusHttpHelper.getHtmlfromUrl(new Uri("https://twitter.com/" + user_id_toFollow), "", "");
                        }

                        try
                        {
                            int startIndx = pageSource.IndexOf("data-user-id=\"") + "data-user-id=\"".Length;
                            int endIndx = pageSource.IndexOf("\"", startIndx);
                            userID = pageSource.Substring(startIndx, endIndx - startIndx);
                        }
                        catch { }

                        if (string.IsNullOrEmpty(userID))
                        {
                            userID = string.Empty;
                            string[] useridarr = System.Text.RegularExpressions.Regex.Split(pageSource, "data-user-id=");
                            foreach (string useridarr_item in useridarr)
                            {
                                if (useridarr_item.Contains("data-screen-name="))
                                {
                                    userID = useridarr_item.Substring(0 + 1, useridarr_item.IndexOf("data-screen-name=") - 3);
                                    break;
                                }
                            }
                        }

                        if (globusHttpHelper.gResponse.ResponseUri.ToString().Contains("suspended"))
                        {
                            status = "not followed";
                            Log(user_id_toFollow + " :-  Account is suspended ");
                            return;
                        }

                        string[] data_id1 = System.Text.RegularExpressions.Regex.Split(pageSource, "data-user-id=");
                        if (pageSource.Contains("js-stream-item stream-item stream-item"))
                        {
                            if (pageSource.Contains("profile-card-inner"))
                            {
                                int startindex = pageSource.IndexOf("profile-card-inner");
                                string start = pageSource.Substring(startindex).Replace("profile-card-inner", "");
                                int endindex = start.IndexOf("\">");
                                string end = start.Substring(start.IndexOf("data-user-id="), endindex - start.IndexOf("data-user-id=")).Replace("data-user-id=", "").Replace("\"", "");
                                data_user_id = end.Trim();
                            }
                            else
                            {
                                int startindex = pageSource.IndexOf("ProfileTweet-authorDetails\">");
                                string start = pageSource.Substring(startindex).Replace("ProfileTweet-authorDetails\">", "");
                                int endindex = start.IndexOf("\">");
                                string end = start.Substring(start.IndexOf("data-user-id="), endindex - start.IndexOf("data-user-id=")).Replace("data-user-id=", "").Replace("\"", "");
                                data_user_id = end.Trim();

                            }
                        }
                        else
                        {

                            try
                            {
                                int startindex = pageSource.IndexOf("profile_id");
                                string start = pageSource.Substring(startindex).Replace("profile_id", "");
                                int endindex = start.IndexOf(",");
                                string end = start.Substring(0, endindex).Replace("&quot;", "").Replace("\"", "").Replace(":","").Trim();
                                data_user_id = end.Trim();
                            }
                            catch { }

                            if (string.IsNullOrEmpty(data_user_id))
                            {
                                try
                                {
                                    int startindex = pageSource.IndexOf("ProfileTweet-authorDetails\">");
                                    string start = pageSource.Substring(startindex).Replace("ProfileTweet-authorDetails\">", "");
                                    int endindex = start.IndexOf("\">");
                                    string end = start.Substring(start.IndexOf("data-user-id="), endindex - start.IndexOf("data-user-id=")).Replace("data-user-id=", "").Replace("\"", "");
                                    data_user_id = end.Trim();
                                }
                                catch { }
                            }

                            if (string.IsNullOrEmpty(data_user_id))
                            {
                                try
                                {
                                    int startindex = pageSource.IndexOf("stats js-mini-profile-stats \" data-user-id=\"");
                                    if (startindex == -1)
                                    {
                                        startindex = pageSource.IndexOf("user-actions btn-group not-following not-muting \" data-user-id=\"");
                                    }
                                    if (startindex == -1)
                                    {
                                        startindex = pageSource.IndexOf("user-actions btn-group not-following not-muting protected\" data-user-id=\"");
                                    }
                                    string start = pageSource.Substring(startindex).Replace("stats js-mini-profile-stats \" data-user-id=\"", "").Replace("user-actions btn-group not-following not-muting \" data-user-id=\"", "").Replace("user-actions btn-group not-following not-muting protected\" data-user-id=\"", "").Trim();
                                    //int endindex = start.IndexOf("\">");
                                    int endindex = start.IndexOf("\"");
                                    string end = start.Substring(0, endindex);
                                    data_user_id = end.Replace("\"", "");
                                }
                                catch { }
                            }
                        }

                    }
                    catch (Exception err)
                    {
                        Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> FollowUsingProfileID1()-->  " + err.Message, Globals.Path_FollowerErroLog);
                    }
                }
                DataSet dt = DataBaseHandler.SelectQuery("SELECT * FROM tb_user_follower_details Where followerId = '" + data_user_id + "' and userId = '" + userID + "' ", "tb_user_follower_details");
                int count_NO_RoWs = dt.Tables[0].Rows.Count;
                if (count_NO_RoWs == 0)
                {
                    if (!string.IsNullOrEmpty(data_user_id))
                    {
                        PostData = "authenticity_token=" + postAuthenticityToken + "&user_id=" + data_user_id;
                        string res_PostFollow = globusHttpHelper.postFormData(new Uri("https://twitter.com/i/user/follow"), PostData, "https://twitter.com/" + user_id_toFollow, string.Empty, "XMLHttpRequest", "true", "");

                        try
                        {
                            if (!string.IsNullOrEmpty(user_id_toFollow) && !string.IsNullOrEmpty(data_user_id))
                            {
                                // string query = "INSERT INTO tb_UsernameDetails (Username , Userid) VALUES ('" + user_id_toFollow + "' ,'" + data_user_id + "') ";
                                string query = "INSERT INTO  tb_user_follower_details (followerName,followerId,userId) VALUES ('" + user_id_toFollow + "' ,'" + data_user_id + "','" + userID + "') ";
                                DataBaseHandler.InsertQuery(query, "tb_UsernameDetails");
                            }
                        }
                        catch (Exception ex)
                        {
                            Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> FollowUsingProfileID_New() -->insertingdataintodatabase--> " + ex.Message, Globals.Path_FollowerErroLog);
                            Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> FollowUsingProfileID_New() -->insertingdataintodatabase--> " + ex.Message, Globals.Path_TwtErrorLogs);
                        }
                        status = "followed";
                        if (res_PostFollow.Contains("pending"))
                        {
                            status = "pending";
                        }
                        else if(res_PostFollow.Contains("following"))
                        {
                        status = "followed";
                        }
                    }
                    else
                    {
                        status = "not followed";
                        Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> FollowUsingProfileID1()(User ID is null) ", Globals.Path_FollowerErroLog);
                    }
                }
                else
                {
                    status = "Already Followed";
                    Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> FollowUsingProfileID1()--> DataBase Insert error ", Globals.Path_FollowerErroLog);
                    return;
                }
            }
            catch (Exception ex)
            {
                status = "not followed";
                //Log("Method>>  FollowUsingProfileID  --- class>>  Follower.cs : Follow Exception " + ex.Message);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> FollowUsingProfileID() --> " + ex.Message, Globals.Path_FollowerErroLog);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> FollowUsingProfileID() --> " + ex.Message, Globals.Path_TwtErrorLogs);
            }
        }
Ejemplo n.º 6
0
        public void SendDirectMessage(ref Globussoft.GlobusHttpHelper globusHttpHelper, string pgSrc, string postAuthenticityToken, string user_id_toFollow, string msgBodyCompose, out string status)
        {
            try
            {
                string data_user_id = string.Empty;
                string PostData = string.Empty;
                string Last_message_Id = string.Empty;
                if (user_id_toFollow.Contains(":"))
                {
                    data_user_id = user_id_toFollow.Split(':')[0];
                }
               // msgBodyCompose = msgBodyCompose.Replace(" ", "+").Trim();
                msgBodyCompose = msgBodyCompose.Trim();
                if (!string.IsNullOrEmpty(user_id_toFollow))
                {
                    PostData = "authenticity_token=" + postAuthenticityToken + "&lastMsgId=" + Last_message_Id + "&screen_name=" + data_user_id + "&scribeContext%5Bcomponent%5D=dm_existing_conversation_dialog&text=" + Uri.EscapeDataString(msgBodyCompose) + "&tweetboxId=";

                    //PostData = "authenticity_token=" + postAuthenticityToken + "&user_id=" + data_user_id;
                    string res_PostFollow = globusHttpHelper.postFormData(new Uri("https://twitter.com/i/direct_messages/new"), PostData, "https://twitter.com/" + user_id_toFollow, string.Empty, "XMLHttpRequest", "true", "");

                    try
                    {
                        if (!string.IsNullOrEmpty(user_id_toFollow) && !string.IsNullOrEmpty(data_user_id))
                        {
                            // string query = "INSERT INTO tb_UsernameDetails (Username , Userid) VALUES ('" + user_id_toFollow + "' ,'" + data_user_id + "') ";
                            //string query = "INSERT INTO  tb_user_follower_details (followerName,followerId,userId) VALUES ('" + user_id_toFollow + "' ,'" + data_user_id + "','" + userID + "') ";
                            //DataBaseHandler.InsertQuery(query, "tb_UsernameDetails");
                        }
                    }
                    catch (Exception ex)
                    {
                        Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> SendDirectMessage() -->insertingdataintodatabase--> " + ex.Message, Globals.Path_FollowerErroLog);
                        Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> SendDirectMessage() -->insertingdataintodatabase--> " + ex.Message, Globals.Path_TwtErrorLogs);
                    }

                    status = "Message send";

                }
                else
                {
                    status = "Message not send";
                    Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> SendDirectMessage()(User ID is null) ", Globals.Path_FollowerErroLog);
                }

            }
            catch (Exception ex)
            {
                status = "Message not send";
                //Log("Method>>  FollowUsingProfileID  --- class>>  Follower.cs : Follow Exception " + ex.Message);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> SendDirectMessage() --> " + ex.Message, Globals.Path_FollowerErroLog);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> SendDirectMessage() --> " + ex.Message, Globals.Path_TwtErrorLogs);
            }
        }
Ejemplo n.º 7
0
        public void ReTweet(ref Globussoft.GlobusHttpHelper globusHttpHelper, string pgSrc, string postAuthenticityToken, string tweetID, string tweetMessage, out string status)
        {
            try
            {
                //Post Tweet To Account
                //ReTweet 0

                string strpostAuthenticityToken = string.Empty;

                string get_twitter_first = globusHttpHelper.getHtmlfromUrlProxy(new Uri("https://twitter.com/"), ProxyAddress, ProxyPort, ProxyUserName, ProxyPassword, string.Empty, string.Empty);

                if (!string.IsNullOrEmpty(get_twitter_first) && !string.IsNullOrWhiteSpace(get_twitter_first))
                {
                   // strpostAuthenticityToken = PostAuthenticityToken(get_twitter_first, "postAuthenticityToken");
                }

                string TweetId = tweetID;// "197682704844734464";
                string ReTweetData = "post_authenticity_token=" + postAuthenticityToken;
                string ReTweetPostUrl = "https://api.twitter.com/1/statuses/retweet/" + TweetId + ".json";
                string res_Post_Retweet = globusHttpHelper.postFormData(new Uri(ReTweetPostUrl), ReTweetData, "https://api.twitter.com/receiver.html", postAuthenticityToken, "XMLHttpRequest", "true", "");

                status = "posted";
            }
            catch (Exception ex)
            {
                status = "not posted";
                //Log("Method>>ReTweet  --- class>>Tweeter.cs : ReTweet Exception " + ex.Message);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Tweeter() - ReTweet --> " + ex.Message, Globals.Path_TweetingErroLog);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> Tweeter() - ReTweet --> " + ex.Message, Globals.Path_TwtErrorLogs);
            }
        }
Ejemplo n.º 8
0
        public void FavoriteByUrl(ref Globussoft.GlobusHttpHelper globusHttpHelper, string postAuthenticityToken, string retweetID, out string status)
        {
            try
            {
                //Post Tweet To Account

                //authenticity_token=8a67c8aeefc40985cd2ce4cd0ff01a9ae17b5dd2&id=277327596696518656

                string ReTweetData = "authenticity_token=" + postAuthenticityToken + "&id=" + retweetID;
                string ReTweetPostUrl = "https://twitter.com/i/tweet/favorite";
                string res_Post_Retweet = globusHttpHelper.postFormData(new Uri(ReTweetPostUrl), ReTweetData, "", postAuthenticityToken, "XMLHttpRequest", "true", "");

                if (res_Post_Retweet.Contains("\"stat\":\"favorite\""))
                {
                    status = "posted";
                }
                else
                {
                    status = "not posted";
                }
            }
            catch (Exception ex)
            {
                status = "not posted";
                //Log("Method>>ReTweet  --- class>>Tweeter.cs : ReTweet Exception " + ex.Message);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Tweeter() - ReTweet --> " + ex.Message, Globals.Path_TweetingErroLog);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> Tweeter() - ReTweet --> " + ex.Message, Globals.Path_TwtErrorLogs);
            }
        }
Ejemplo n.º 9
0
        public bool ImageUploadForProfileHeader(string authenticity_token, string screenName, string ImageFilePath, ref Globussoft.GlobusHttpHelper ghelper)
        {
            bool IsChanged = false;
            try
            {
                ///Get image information ..
                System.IO.FileInfo info = new System.IO.FileInfo(ImageFilePath);
                string imageName = info.Name;
                string imageExt = info.Extension;

                if (!imageName.Contains(imageExt))
                {
                    imageName = imageName + imageExt;
                }

                string base64 = string.Empty;
                string _base64String = Convert.ToBase64String(File.ReadAllBytes(ImageFilePath));
                using (Bitmap bm = new Bitmap(info.FullName))
                {
                    using (MemoryStream ms = new MemoryStream())
                    {
                        bm.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                        base64 = Convert.ToBase64String(ms.ToArray());
                    }
                }

                ///Change Data in Encoded Formate 
                string base64String = EncodeBase64String(_base64String);

                base64String = EncodeBase64String(base64);
                //base64String = "iVBORw0KGgoAAAANSUhEUgAAAk4AAAEnCAYAAABfSsz6AAAgAElEQVR4Xuy9W6ht65YWtuZel71u%2B3r2uUTKvCaBQKAgPiQhCSE%2BJCQ%2BCEkU8lAPBVGQRKQkkiNFGUoNRQ4xFJYPsSTGUqNFxUuhRC0iyhE8IAexhIMXCkSqzjn7vtd9rX2Zad%2F3te%2F%2FW%2B9zrD37qBpjz7OcbRz6%2BS%2B977nGaP2%2FfH%2B7fO3k2r%2FxO06v9Kcl0BJoCbQEWgItgZZAS%2BBcCZw0cDpXRv1AS6Al0BJoCbQEWgItAUqggVMPhJZAS6Al0BJoCbQEWgIbJdDAaaOg%2BrGWQEugJdASaAm0BFoCDZx6DLQEWgItgZZAS6Al0BLYKIGTa%2F%2Fm72zn8I3C6sdaAi2BlkBLoCXQErjcEjh5%2Bd%2F%2BkQZOl3sM9K9vCbQEWgItgZZAS2CjBE5u%2F%2FB%2F18Bpo7D6sZZAS6Al0BJoCbQELrcETu7%2Blv%2B%2BgdPlHgP961sCLYGWQEugJdAS2CiBk9f%2B%2FR9r4LRRWP1YS6Al0BJoCbQEWgKXWwInb%2FxHX2%2FgdLnHQP%2F6lkBLoCXQEmgJtAQ2SuDkrf%2F0f27gtFFY%2FVhLoCXQEmgJtARaApdbAidf%2Fc%2F%2BlwZOl3sM9K9vCbQEWgItgZZAS2CjBE7%2Btf%2Fyf2vgtFFY%2FVhLoCXQEmgJtARaApdbAic%2F9Nv%2FeAOnyz0G%2Bte3BFoCLYGWQEugJbBRAif%2F%2Bn%2F9Jxs4bRRWP9YSaAm0BFoCLYGWwOWWwMlv%2Fq%2F%2BjwZOl3sM9K9vCbQEWgItgZZAS2CjBE5%2B02%2F%2FEw2cNgqrH2sJtARaAi2BlkBL4HJL4OSrv%2B2nGzhd7jHQv74l0BJoCbQEWgItgY0SOHnrP%2B%2Bouo2y6sdaAi2BlkBLoCXQErjkEjh547f%2BVGucLvkg6J%2FfEmgJtARaAi2BlsA2CZy8%2Bp%2F8kQZO22TVT7UEWgItgZZAS6AlcMklcHLnP%2ByUK5d8DPTPbwm0BFoCLYGWQEtgowRObv57P94ap43C6sdaAi2BlkBLoCXQErjcEji5%2Flv%2BpwZOl3sM9K9vCbQEWgItgZZAS2CjBE5e%2BuHf38Bpo7D6sZZAS6Al0BJoCbQELrcETq78O7%2BvgdPlHgP961sCLYGWQEugJdAS2CiBBk4bBdWPtQRaAi2BlkBLoCXQEmjg1GOgJdASaAm0BFoCLYGWwEYJNHDaKKh%2BrCXQEmgJtARaAi2BlkADpx4DLYGWQEugJdASaAm0BDZKoIHTRkH1Yy2BlkBLoCXQEmgJtAQaOPUYaAm0BFoCLYGWQEugJbBRAg2cNgqqH2sJtARaAi2BlkBLoCXQwKnHQEugJdASaAm0BFoCLYGNEmjgtFFQ%2FVhLoCXQEmgJtARaAi2BBk49BloCLYGWQEugJdASaAlslEADp42C6sdaAi2BlkBLoCXQEmgJNHDqMdASaAm0BFoCLYGWQEtgowQaOG0UVD%2FWEmgJtARaAi2BlkBLoIFTj4GWQEugJdASaAm0BFoCGyXQwGmjoPqxlkBLoCXQEmgJtARaAg2cegy0BFoCLYGWQEugJdAS2CiBBk4bBdWPtQRaAi2BlkBLoCXQEmjg1GOgJdASaAm0BFoCLYGWwEYJNHDaKKh%2BrCXQEmgJtARaAi2BlkADpx4DLYGWQEugJdASaAm0BDZKoIHTRkH1Yy2BlkBLoCXQEmgJtAQaOPUYaAm0BFoCLYGWQEugJbBRAg2cNgqqH2sJtARaAi2BlkBLoCXQwKnHQEugJdASaAm0BFoCLYGNEmjgtFFQ%2FVhLoCXQEmgJtARaAi2BBk49BloCLYGWQEugJdASaAlslEADp42C6sdaAi2BlkBLoCXQEmgJNHDqMdASaAm0BFoCLYGWQEtgowQaOG0UVD%2FWEmgJtARaAi2BlkBLoIFTj4GWQEugJdASaAm0BFoCGyXQwGmjoPqxlkBLoCXQEmgJtARaAg2cegy0BFoCLYGWQEugJdAS2CiBBk4bBdWPtQRaAi2BlkBLoCXQEmjg1GOgJdASaAm0BFoCLYGWwEYJNHDaKKh%2BrCXQEmgJtARaAi2BlkADpx4DLYGWQEugJdASaAm0BDZKoIHTRkH1Yy2BlkBLoCXQEmgJtAQaOPUYaAm0BFoCLYGWQEugJbBRAg2cNgqqH2sJtARaAi2BlkBLoCXQwKnHQEugJdASaAm0BFoCLYGNEmjgtFFQ%2FVhLoCXQEmgJtARaAi2BBk49BloCLYGWQEugJdASaAlslEADp42C6sdaAi2BlkBLoCXQEmgJNHDqMdASaAm0BFoCLYGWQEtgowQaOG0UVD%2FWEmgJtARaAi2BlkBLoIFTj4GWQEugJdASaAm0BFoCGyXQwGmjoPqxlkBLoCXQEmgJtARaAg2cegy0BFoCLYGWQEugJdAS2CiBBk4bBdWPtQRaAi2BlkBLoCXQEmjg1GOgJdASaAm0BFoCLYGWwEYJNHDaKKh%2BrCXQEmgJtARaAi2BlkADpx4DLYGWQEugJdASaAm0BDZKoIHTRkH1Yy2BlkBLoCXQEmgJtAQaOPUYaAm0BFoCLYGWQEugJbBRAg2cNgqqH2sJtARaAi2BlkBLoCXQwKnHQEugJdASaAm0BFoCLYGNEmjgtFFQ%2FVhLoCXQEmgJtARaAi2BBk49BloCLYGWQEugJdASaAlslEADp42C6sdaAi2BlkBLoCXQEmgJNHDqMdASaAm0BFoCLYGWQEtgowQaOG0UVD%2FWEmgJtARaAi2BlkBLoIFTj4GWQEugJdASaAm0BFoCGyXQwGmjoPqxlkBLoCXQEmgJtARaAg2cegy0BFoCLYGWQEugJdAS2CiBBk4bBdWPtQRaAi2BlkBLoCXQEmjg1GOgJdASaAm0BFoCLYGWwEYJNHDaKKh%2BrCXQEmgJtARaAi2BlkADpx4DLYGWQEugJdASaAm0BDZKoIHTRkH1Yy2BlkBLoCXQEmgJtAQaOPUYaAm0BFoCLYGWQEugJbBRAg2cNgqqH2sJtARaAi2BlkBLoCXQwKnHQEugJdASaAm0BFoCLYGNEmjgtFFQ%2FVhLoCXQEmgJtARaAi2Bk2s%2F%2FGOnEMPJCf8%2FSwmGXfh%2FVcZn1Ty4FPmF%2FInGafxv2UZLfad5i0U2VB9PjGe2flGJImQxfv6Uy0np3%2Fn36vfRN1x8T33N7PsNfs%2Btvyd%2FDn5U%2BU3zN453v88fzF%2B2%2FC35pnbIvsoN30L%2FJsSco2wxzMoI%2B5zBhn97vH%2FUcwygZL%2F79vxdWx4%2FO0bKmFF1ynvLH9znmTPzcTlHjz0%2F9%2Fmqh3h2sR7U%2BYNx5rnkdSJLj4tD%2FPu%2F0b%2FhdWT%2BnZyH7qivz%2BvLGEM5jna9c90an2O897Xsta7ORW6sZGPOz3fC6ehvV9YEdpXn13Np%2FKznyaL87vUedQwZ%2FEbf%2F3n%2F%2FZRR2emqvBaylfB2ybWO%2BcX6M8ZXXXfn4Kvj818teT5fVryzwg5nZPo5%2B8fJm%2F%2FB109feunkyrhC4qjPDU3C1sanN%2BBN0M%2BcNzDW99dAqN735vdZboraHH1duaL%2BvD47ZfvTLD%2Br5apvn4X0avz%2Bqy%2B9dOWlqyrdvpptyAf9kIv%2BrjZw%2Fq5czLVvZzs6l99Nv8N99ft7I9hXpp%2F3PL7nS%2Fgd%2BW7xe%2FS%2B%2FdtU53vf%2BA%2Fjp312%2BplkH5fKz0o9%2BvgbP%2BO4uXp1ylFynbLl94i%2BlzDGjKjWG8disTzRv%2F0p%2Fl2Vn7DU91E52xt%2F0l6PaQzkOMn6kGmR8693jnzul%2BE0lKzG3PS8zM1G97a%2Bzb1%2B%2BtEePrshz9XNixrmx3jH8Z713j0O6vvXGnGRH76bPCRUcDDXUwFsvCeMfY4fvLcsd7V9uB3vvq7J41C3fR5bPl67EtOoux7wcj3DXIdcvXadlnWW%2FXnPda0T6%2FV79uGfqb%2Fdv7nuR1yvUi6Wlce39qrck1KOL9K4p2xShpbrkJ371%2Ftbkb%2F%2B%2B%2BV%2BYhmOdb6MrYV8c43QeCsyzP2%2Fyvoi59E%2B%2F%2FYcd2XMecwW7LDYjy3PlZy9t%2B36909%2B82%2F9idNr2NTicom6NzEJL4Sawqz9nrxbf9hcx%2BaCtlzbEoCUCejNeACN3JzZzg3yk1w4Wa4W00%2FwTPTj%2Ba2f69cgi6tXWF6LMuRxHWW0UUJOqOP3W%2BtRAV7Iv4A9vcD5HetGrwXf3xGbAF7ooT%2F4nvjOvvT78qr16Nu66GCy43vvuj7%2BZNmPMXP9eshsJdNrKU%2FIF3LGd%2FLpZ4B0Aqal9g8P4T3j3%2Fn4k0%2FL9dmVZ2h%2F%2FOko8f2O8dkpS%2F4OjR3fx0J16A%2F%2BYt1cxwIH8LvaeA%2F9bx%2Fr740DSO7c4xCSG3ieTziX8M6fxTtmyfd%2FdhxgDOwz54%2Fxu7RWChhMgGSgNEvc58GChwuXebDAWgxgnvf4rl9aAYWda%2FP2X1QPfxK%2FD3wCT1X2mE9Yk%2BvBxOuwDy5s52Y0DlZlc%2FI9grD4J67598Xh6Vr%2Bfs0fycDlS5ABf79k4oOKD7K1vf3XX9yTBJUpSx4%2Bh2x14FR796EAcl0cGsaB8VR7echn7uuWYx5evdfn4bnKkgqD0u%2F2xUlpv3%2BZgGgc4CW%2FXe15wNY%2Bpn14iR%2B0L39W7V3jy5z8W7%2Ftj5xWUEBgEIv%2FGJxeiHNRnqeg%2FTQUuR7qH%2FZkrIvkqGsweSBxgqJdtAkeVN60tXnG4pmb6Sdo1401B%2BDWV3Dj%2BtUrL1%2B%2FdkXl1Ss3bly7chPtG9nOe0D0Z05g9TQQ39unCYOJz%2F%2Bu%2Bq2H%2FmBhxm%2FBu70RAOYGQSDqeWUdfVuVFPjd2rhC7glU6mb27GNtZujDmLkZMrwRcns5ZFjlu64LJ%2BVGY5Ne0aLogH0Sg%2FzTK0%2BffXrlybNPoozr4yyj%2FvjpbOPfP8aHMvT4yPqNmDdDzinTowAnbLSLRS8318Wit%2F%2F8PIactv7NoaHl8mAT7DxIadnQAYjv%2FenHfO9P%2BN4xFub7x1jAuDjGIWTr78Fz43RPja%2B0Jtz4S1ugKQ82XHsTdONQAQA%2BDjaqCzjl5mZNArTfCy2VtOFbP2vteAVS0xQq2WNt%2FYQHo3WJTab0WQuYB6yhFeYGn5s%2BT5gBnHiAmgcrH1B1YJ2H1XqwX4DMAjhxaDnGnNsqy32eg9x50A%2BZsuRGHTLMDXv2a38b%2Bx3%2FG7Wxz7E%2F9z%2FUhyx5WJ2Hfh34UwGwUpRInlevXA15C6wmgE%2FZ7vO7LvJZASLJc4D7IdtlH%2FfighMoTx7CIFccwFXu0rmc%2FLv%2Fzf96yg00NjaChNjcsCF4YR4INAVYTTyYwHtNUNsUqwq4mLiEnaBJAgp8zmBCvwdRnjifYuMumzfrcT3NjRt1CHTr5%2BbL167cunH9Ckps%2BDdfvn7ldlzsZ5%2FqBk5S%2B63R7US6AHrL7yPNyK7veQwNiYEL3u%2FL%2BD35rlG%2FhbqvuI%2BFfMsH8jRYeYKNy8AlZD3BjOo4Rd66mfJbyLXIOeQJsLo0Py3NxFUl%2Fyz%2BvcexeT5%2BovIR63FF%2BfDxs7z3Mf%2F9Y3wox5AXxgbAIIA1Ssoy6jcJsq9xATr0B5ukNRMyc86TJLXFo2%2B%2F%2BXno77nP38OSQMA0gNNZs7dNGfUdP8p37neP8eCxcIxDyD6%2FSabcBEypIQFwsgmF91Pb5EMMN7Y85KAUQI81OQ871j7NdbiA5tROEVhtm8b8OUP2uRZXLboPuZY95h0OSjoAlvrok8YX6%2FfHXMe1EU3NdBy4iqYa7xu%2FcRxSXccBa9VPEElgaUA5gebV7IecAERfhA%2FkDjnyoL%2BrTJnivvcLyJL1VBZIw56a9rzHsRRywBrkej0ka5%2FX4ZmavVSWXKVFwDKtMj78Gnas92MQSfwAmSYwpXwXYD8xwsAN2qONI4ApcBiDfHcCp%2F%2F4R%2F73UwMBbga5gUl1DAAl%2F5P1gmzEvxdySl8g%2BwRp0grQVCdPqs3KYNIpR%2BjQdQ4m%2FLg8XVr78CR%2FMDfzciLdB5Dcjk3%2B9s0bcaG8fuUOrlvRjgt13zdwokYsfS3WqlejXrwIAwoDjfEdE3jgPibGoT%2F4nrdigwfoc4kNH238HvQJFF7fvODi1PiY2h2AlVlCE1DbuI%2BF7u7tKc%2B1fC1rfB%2F7LgwTse3wWdpMgXf7IAASQJKvB49Uv%2F%2FoKUvcx4Z6jI9lid8yZZvyBSBNmeL0d%2BjPSycJltIsOM3sWgg5b1NTcSay49Bf5lB%2FL%2F0PMPqXfo1T60T%2FplgD1u%2F4Yb53v3OPh33m%2FKF%2Bhv8Otm4CI4PaBFE0S41LgBdjBCD75Rj%2F1MqmdlsaWvVJ231tguJq1vOhtvRtNbl77a1%2BpAv5l%2FcB2XMziTX32arEOvws1jHeA7gaJtT4b0p9nvC12ePjQ4gOdTp84EDHAx4OJXkYqYDy%2BjWBSbpSEAQkuAwZQeYvxCfGs4GoSm3ULHnNurTqc7OnlpX7n%2FZA7YW6LDcfiiFTHeymfHHog7JkyDABOsYaZVoA%2FLWQ7YvyIThaAXthBY9J3Je8rK3Wvuw2tNXCDtjfUN%2FlK3nyX%2FzuP3EKbQAX%2F7EJXJedlOjd%2Fk%2B76%2FtM0Hp6GVEV5ZTpiA2eUvxDKYR6skkB5OTV5u0rN%2B0dffssoncDIGGjv3vr5SxvXHn1DupxATzx3g0ueFQJrtSCBktWuaK9%2Fo54WUuAoRd1DNMSNlMDQIAUgr9bAoT4HeyLNp7ZrHHCBhagBCd%2BlQFaUD5etaMP%2F36Vn2QLGS%2FleSe%2BR2CC4Swrs4SdoGcd3xGADADp3sOnV%2B77yvZH9x9fuRd19GMTPcZHAFrjxGBacl22sQAd%2BgOZzJN3nhCHX97yxLjfwebQ33T731ts1sNZdoIoOxhjruGdf3T%2FSbz%2FJ%2FP9r8bCvbgH88VFfQichq%2BJfXdQplnOPihRQjsA0CSwDQ2mtNro4yaIfoIIr8s2o0ygXE0rOKhAK7n1Q9nvcKClD065B9k%2FfvpMZlGbSp%2BFyTTrT1nHZvNxntxT085TvYASN3%2FUs8S%2FvTh45KHj9s15yOMhBQASGz3dJHSpbiuJXQECOB1hzm2V5T7P4bcDgBKMQna1pAY%2F5Jj3eSDNjRx7hy4dxtdtHequcT2H5cTtcXCmjCcor3K8Ec%2Fb6gR5W877%2FK6LfJYgKUF9BaCQ7wD1qVzhob9ghSdWAGQf9jPs0TuB0%2B%2F4fT97OhZ7LPpxAUBJHVpt7lNFihPtcObdaNrRyYb%2FP1TyBFJDPawH0AZqXJxqjMbLiQb3MWGhltfGHSr6xUZe7328lyYHmzyuV%2B7cZInr9buu34x%2B9Rk4DZt0NS9aTZh9Bhn6jp%2FoO%2BP7D%2BChOhaWQ3%2BwqA6wEu%2F3lQFcEhAWgLjVPwCbEjQ6vGLTUqn2%2FSzdB%2FDw%2BitTfpKtZFhlDTC1dm42eKr9J6F2ehxA7cMHT7iBfhTlhwGWWMb1wUePxj2Aq2N8DK75WwbQLoA7%2B7CwH%2FoDLQVOgT4VjhNi9F2zmSdPkIf%2Bt4%2F19wyczosywlz76MHjK%2B9%2FhPf9ON673v96DGBcQOtxUR%2FAFjs4M%2FghnZ2vp7Oz%2BgSiYDqhOwDWXh5gb7DtwyzreajV2psBCDa1xH8%2F1uvUOG6dx1qX5b9Uo7t2RXphXX4U8xub%2BJMAUNDmqh5XzEdsRKrHhfU5NSDSsK%2Bu7AO0vYPfHkBpHu58oFM%2FDyQAlLiofRO4pHsJNnqXMJHHM5gPL8IHcsceBqBJn72Un%2FtqWybpNENjg4%2FNnSbpoTSYbcvxbh6GqeEPuUxrieqwMty4LllKngLuC7nGfbRflA%2FAkrWiE3hOcE%2BACisV915hhoe5D6%2Fxw4NQAqBvV5DJyY9%2B%2Ff86vYOTf57%2BUQI8WQXqRdkgqtpA6Uy818nGIfrVl8G%2BDdOnAQveThROdeVE5pi4D%2BPHPYhJK7NN1LmZy88FpfutFt4yAACSXouNXuUtlm%2B%2BGuWqD5viMB3ajFjsqLJby5Fy%2FX3G9%2BR3n9%2FzGD45AHivxHsdQCXqBi4ChAGgsg%2Bb8pYPTIrW6kADcC%2FAkrU%2F6GcfNEFRxzj50mu3r7wW%2FxZkyJL1W6MPbXynCZBq5Az8RNIBNn1GIM8P7sUGGtcH9x5lqfo7Hz7kPVzYUI%2FxIWAKmb0Rv4eypHwFRKussSke%2BgMfFp8K6f%2BSJ2%2F5wugU7v49zjWH%2Fpp7%2Fb31Rq2NPEzgGWxhHxvMN7zzd%2FmO53t%2FP%2Bp%2B564fQ3u79UdB7nTMHRfAbm2jPs10AE043AA00XRNTbC0mrdSKwwtsaJ956FW4FnmlbpW7wWc1pQCKfcl1YAckB%2FGfIZ2GQcXgCiW2X4cbderRuQRtFB0VbCGBGYR1XFQxgaPPQclNfrxuzGPoAXnASU14tjUqZGjBi6BVKnrflgCjjDntr73fZ6DfAk2U37UKkV9gNDSj0PpVBJYWZBlyLdq%2FynDkN2reUBeyBYyLRaGKkvLzzIGKHV9n991kc9KQ1eAaGpEIVdpRHVPfpJrvCCrifdmWCywN%2B8ETv%2FDT%2F7fp9auYAOAlgXgSVFXchQXiJoOiq7jdIsNbdun%2BCqY9yj9GmCi45dLs521SUMAVgFTJZw%2FPkpMVGg3eD3GJl3arM%2B%2BfTQ5bwRIAlBiGZs7yi%2B%2Ffkft7H%2Fj1ds8Kdqp73kOfr4%2Fv9tzvmf%2BFpwgDv3Bu3ztrrRmAi0vs8RFQBjv3e3twOnT0OqEyQSn%2FYfQ9GSdWh%2FVqRGKOuT01kp%2BQ76QZ8gY7Vfj%2ByxCjenLI9C0Dj%2BGluvdDx9dee%2Bjhyrjwmb6Xmibvv%2Feg9EPTdQxPpYjvrdlV%2BVqmcLEcugPTEDye7H%2FS4KnVLPXe3uZ0g%2F9Rff4e6cOriBQykALgyeGFCsAA4D9vXjP338%2F3nF553z3aMd4cP8PAnBCpCXAE0tEXQJIZek%2BgABsblh74QaA%2Bp3QAquugywOtwBTBkrTB0Xvfvr%2FaJ3GPNr6cWCLgJKDXGbd%2FXD6fhAmUPiUPYr19mFcj%2BhfFiXb0U%2F%2FwqfShKTJA8BJ7U%2BnaYT3RBkBDbguHDpUx1xiPX6%2F%2B6iJo6ZEmrmb1Myp71aWt2%2FG3hXyeBE%2BOAxAbgSblKEBacjPwDTvS6tfNvqywVM5UNqW12sxnqZsLeMpZ4wraTNVQpa3Q967ZPwiyBPfUZgB4BPgSCXakHPVjEK%2B2pO1H%2BPgv8QPsYfx4P9sZ3Tuyde%2F8f%2BcYuHHpqUN4BZP0DzFDhungBOB1ABUmrB7nWwSKO3iPpqRHXKYO6P%2BLULwPUxU%2BjukdkP1XX1P9zKBQTvy1uu3qSXhFfWvvnGX5VulD2pj%2Bl9Bs7SIKlGfHf8AqvwdVS6%2F4%2Fz%2BOlUc%2BgMfijdevUmAAg3JKGPTx%2B8bffEMggG2fLApfRCg5IMwiQCcoOSJH6XbKO89oRr4K2%2FekewCQFG%2BKVfLGPKGBkqcLDPkWlGdZ7lF7gVYe%2BeDh1fe%2FuDBlXfezxLt2FC%2F%2B%2B790Q%2FtwzE%2Blhm%2B91qmtY0F6dAfACer1qVmX6nX2ZYK%2FkUBToNvpQInA6gBpER98Xa85%2B%2B%2Be%2B%2FMe38nxsLbMRZYxjPQWl%2FUBxonRoUBJJXr5dAYLfuu0t%2FkLrSWsfZS85%2F%2BlAASrrtfGsUESvb3Kb4%2FBlb7OEgPoFrkXPlvXIfW%2Fn6YRx%2FAdzAAFDdzACmczAGYRh%2FAAFwRYD4KbQhMHmlmcp%2FBFIATDu6vFbP9a6G5fWO4Rsx7NGVCA0eN3Muj7j5o5u7cuvnCmJYgVwJOaPE%2Bt0xfPioIVhv8Qnmge5Yn1iFrwS3fKWf58FJ2qdG8FaDzdow5az11T%2B0X5SOtXQDPBKEASLggY%2FaP9jPtyfaLTQxh%2FAAsgb0Mz%2ByiNTn5yT%2F%2Bi6FxSv8TmkuAUl9mVA4mabWnO%2BSz9pEEElJNbVFWKecFkVqVvJyd%2BJFhaEkVQNBh7VKq3sTTIo3TM%2FD0QOMUQuAPLaYhmYgETAik8h685iuDbQVvM5JHZkODJmhJDKK%2B%2BuYETu5HtMIMzVUEBKNJ0qHdURHoq8AJWpgK%2BHCPvyP6jw6cqEVL8BR1%2FNba3qpxwiJqoERz2QBOYT4rdQOnr37p7gBLBlAGTygNnEb0ZoIntSdDN0nwAkhBjYoNEuAJpjmW0X6Xm%2Br9Ucd3G%2B8aVBcOe7d%2FXS33WB0IPgNofhnAM7VmaFNDCflmHzbFrR%2F5mlSH6FU9TSpLjZNAk%2BhE5KdQNVFbgRPmoR3xBwGeeYJW5dmDT%2FGTWcgz%2BZiKH%2BOSr2lSEIgPrWg7ipluaqDEDfbuB9Aq3qeGEdc70DTFe3ebZTwDX4aL%2BgA4IXKJFCDwYaolo5zmPfqfpKl8oWlKjZPdJ%2FAMncAz9N5h5PB3c1i5%2FU8d5LFcWc2PJan4Hp1fx6HWEc5mXp4MzODHeRAHFmhGqF1KLYm1JkPrRJOdzEjShKxMS%2BnjCd8SvPfpQiBTNzb36RMpNwL0YYMfICkB1LoNQAVg6cwTZ3zmcn6Zf287Sc32kUSCWnPRORp4MHNPNnn8RZk3c0Ovps%2B68Yec5Q6Re9uinG4SdpcwOMI6hDqsDRWcsg%2Bm0DQNVxlijNU2tHpoY4gMzsKc47U9ggi2i%2BkoT8IUZ00TzZ70xUuN09BCOfpa2OE%2BMYS0TyzT9QRWE7R3Aqdv%2FMn%2F97SebFAHsnc6Dp3264l%2FefrHMKj8K8lpttiscl4OWne40XhguV5LskInCKngg32MxlAJ8CQ%2FmvSvyQE1oq1KGx7zYKwlizioA9J3YqYMmelCGjidP6aPCZyU7mZyE2ksKpLIPDaw%2BXujhOlGdZjswowzNlX5vYgioqSGwTgY7LKzf1f0xPMkcQzgVNlsnUpGBLBL9mDMnRpVNLTBq2gj9G8FTthoJ9likg5WFvRCxCh%2FI8u0lEk0W%2B8ZCI4UB2Xjov9SXZB3%2BNbAdFR9beTjFH5sAZTeD7Msrvfg64Y6fJ7Cadz1izXVBQUIo5dCo5RRTCxLHWZc3AdwwuYEgMRIqOLTRB%2Bn4vM0UiPRfL1cixE0YbO2oykHzQuAUqIEr9cET9FHfjQfYkf9dPQ7Xak0JNqMhlN4OoMPx%2FC8By2TzUdYn%2B2Lyn74n6Z%2FKsa3fAKnnytQTcEAACAASURBVCV8c2gFGX265w19muYkm2FuSk0UtG41g4SZoUUyOVMyob%2Bc4c9f9DY%2BsU55MjkRlxxemJsLp%2FDig7Pw00EEcVpWeMime0RaWuAWwbrcIlDfCzjZ1JlmT2nyZAaF%2BdPmUZKWluhxZ8IwcafuaS29yA%2Bcv9fO9gZP9m%2ByL9k0fTrIKeTsgCdas9S%2FEzj9zM%2F9f6eyqc8LgnPKi8EDs%2FAydbJAgKbMk2MUysVQJxsvjD6h2gwziOEWnCYzd1llBn8ekypeGBZG2SjtNxQq4%2Fixte06bOwEZIV8bUbDLdOHNHA6f%2BgfFTjt4KhZ84jBjwL%2BTLi4eYZvy%2Fv0ecKmCv8XbawwI4p872yKGC%2BkJufbJ0XHMYCTiAInS3Btk%2F8GmswoGbFln0Nz2AzSxMlnA43EPsBJrO5yLh9M78n3UhnesZAMlmOzSGdwhGSqoIgJ%2BiY4dU5DgUHnOKw5znSA2RXppX83fOtCo%2Bl3izresc3FrqP%2FIqPqAETl3B1RYYwac2STosdmlFO00%2BkZB1ZH09kRmoS7g2vNZt%2FU8nOaps6%2BrM8BeaRRsvbP9QRKsAT4MIttDnyR9iFUShOliRF5p%2FiocJ9RYAyZn1xO4m8SjYojodFnTi0ccHC4rVG3tY5xNH2bpj8TgNPa92n44hSfnCmblF1s%2FHCgdyqmsyl5tG%2F4%2FjH2eUa9lqhJ86yBCNjprszvtQydt3uHeZxCQZCR5NjHONZXPqRsM7I07qdf6T7AaTiEp5%2BYgJLHoX3KrtO30OmsaoqjQcSZMt2HaPr8XWb%2FJxRVt6LIIH1G0mgMH%2Bk0ISeNjrWj1JQW0I%2F6TufwP%2F0L3ySPk0496SgWJyGmPEmtzCIhXonAUMRL0Mb7OZ7kc5HMe3gGffgfKd9HaK7rGmSiiVfYrif9cgFVhI2ja1Bi0mFiYlCNsHiEwqezOMPjaYcPdR15HMwfos1JL72mDZEpoIHT%2BQP2WMBp8tFM3rAz6RVijIAvClFVI7IqQJLbjrj6IEPWmRaGPmdZJiHfknV3P3b5YwAnk9gxOKKQ3bltEjxsessoqhKeXqOrYgPZmrUZGr3K44aonDW3m9s8tCRR3zBVV9I%2B3yMlh%2FMxGrjO%2FIwVzE4zeporEzwNAIW5D%2BAUCw5O3wBIMscHn5MjOKM%2Bojmjfgwy2fNnhp4A0GBEWIkWm21ol66LxiIpCAb58DC5Fkb%2F0qfcZQWIUotekmuXNZiH1wKgfKBldgZZ57imVmqEXRQKI%2B9igCgxMCvCzofaZQqWGUUMEwjWZmhIeIBN60CtQ4NIqhQ6giedBzROCFLKtulT5LSMiLobiqyrUXbp3IyNH5o4p2EaWQxW6Zncf4yNHvKS4%2F9Mc0XfYKZkioPJSCNzMlOtDPqambpmyDfk7TG%2Fy4d0%2BJimb%2Blm4BTyXcuxOoo74g5yprwy1N8EkSSYzn6muYr6PnyJW%2BfSPs9VHqfJ2wTgNMEo11MGJ1Q6h1k3zYMpIHYCp7%2F41741mMOdXoRh9jjh4jRZT5RjwiyTuBocKfHgamK7HRPUzpJKJeCcaSpfRl6dHFy7HM5HkHw5WWERgebBJxjWk0OIJx5GeAhIQUiDvZtmvkwT4g2qtBs4nT9UjwGcAEbIep2kq5WEdQAq5FOK%2B7BjfxgmmqFhGHVF2H14X9qme7Foiz7%2FLMOugYg5ZrABbf0cAzgxhJsEgvPCguQ2eXPiHuYbfVlMTptEtThp63S7P3M4zHQKW1YkFwJErIV2n9tY0CdXijQONC0Uwr5xkk4Nr3NJjnxQXF%2BU7xBatAmQzmcOJ1fY0GJMlnhEe%2FkAhXl%2FkYs41jBRfKQJKulAAAIGZUXWAUiV91BO386DOPNLZnBOvGfm0Mp1WSzcM8nxyFeG%2B8iTudL60yy6sgzg4Ov8lWNNznyWy7bM5cv0UlNTOHyJ8mAtTZNArUGuAO4kLUUdwJsksgNkimCYofSLcHppQRZUBIMkNKkJQPZIEl0Q5MbGSJ8WXd4E3da942z0YoLX%2B5y5OdU2Mzru47lFrlPKLjWuVUGBw0LI0%2FQr78e6ZsoN%2BHD68v3twGnKbYCkkJ9APIJL5v0pNwOOmuZKGkY8c5GHFazd1NinjzEj3e1vHOu%2FA7no7lNAINdXBKQ520iSi9L8%2FDzm8F%2F8pW%2Bf2rHUCW3xQnn6HSrYzDifVOUjbw58jmDbZNJGASaeRkrdYAoLox0lx6DC4MrEuSN%2FWvTRLDMSWCrXE5NY1kTDyTe0SLlBp0UtpIsrgRPDY3PzIQtrhMOOTalsWg2czocPRwFO4VBt4OTUIQ5EcAoggwXYqWnrJ%2FFlXKGuvocyLhBgjr5YnCsgEfvu6t0nONlnoz0GcHLetRGRlAu%2F2lIhow4T2K4kp%2FQLW5k5aXLf8IGcTfgK0PR6RHghaEQUJfBBMfHrTW7Ww18gOVNMiAiVuP1flOvJWj5oqVZ1rDG58Vdn3TPO51JBE1xhPRF%2FmyJQxSPkjTHLlNc%2BQHiDiPZ6BMCJUcqF6mPW4ZyLCGbRgEDbr0S3JXeYNfPQWqCePmY%2BBAyt5Dj1izHZKTgAooYPWdH%2BV78y15XDMh3Wqd1SnjPntnQb34MqzMWQWo2vPNji0IpDCy7zqRE0JVmp7%2BF3TDcR8zkpdH7dT%2B6mJGrUpq6IUkeWmncIzlkPYYJJfyruBc9pH2OMYP%2BUEmKmjnHe09sj%2F6nk%2FLmf4i4EIPpeaNjlmvBYbgrp0zdcFgJEob4VOIEXbCE%2Fa%2FAWcpaMJb8i05U8leYKwOniSGcNnKYGVKnanInEeetMHTSY7Bfa%2FWS3B89Y9u9kDv%2Blb%2F7j05ExOf0kcLJQ1JpOuGIyFUUA1XPYaLKOf5wqd%2BSXi1I%2BRLNtIIVJSmdIDKjMP%2BR8RGjD7o8SfUrUmBmaczEZJ%2BnRL0dIpvpghIcmx4j4KP3ow3MMjeVC68SwYg4djKyZILSB0%2Fl7xDGB0wI0ZQSR3z82EIArjL%2F7uRCrhOkmTrjJIo42%2BnHK1QYrZl2GQefGyveeYdP7npaOAZxMkupFykSudqZlCpkYvzjVVZoGO83bWbje2wabgqwx5r4ISUX0%2BmZEC6Jd%2B1iPC34EDuudJcDMMjqIa0SaSK3Vm4uVcpjhRIdDmjUhI7OAQnXTF0eEuWjgOa5F8T5n7sdcl6j5mv3HMMOcPzP0BPxcIC9ENu0qIWOMIZQATjOnHQIjpr%2BnAiVmmxrI1KK4Tv6fTBfhXJGQs10sYjme9dAw2UJgctGZq7I4r%2BemP9J1kJqmHmqfHzCEcQjKgg95oPFBZnnIMdM%2FwJ7TPzEfaOwD1D4xlRFoB8ByrdKbvHL4mYLDqVbUFv3HyfR9HT6v8oMFoJPJUG1soof%2BQE7OYQmgJFcY%2BbLZBE4AFZcUBFIUSDkgRYEiXFPG0YYmlQEwAEzkLyscdtFX2%2FsBp8kebvmBTVzs4cnSHvJe%2Bw3j%2FU4eJJhjJVO8z4v8jAAb%2BFkyf6wuvGenQrNDe9XWym8LPtDW4KYvXLShuV1%2FTv7eP%2Fgnp0Pln6AEDqXiPjATrHKRccMhWZdPec%2B46BHRJWii%2BjjBU63jB3nw3AK9PhwmnVMnB5Tvm%2FnYqupJ8Jaq7GRGpskmwRI3QAOkFaut%2BhXlwQgPo%2BXiCFb7GjidP%2FSPCpx88t6R9sfmOyb5BTCCD1uUtY7FWgukuGZ04szw6HT8W4yBHAf7nJaOAZwqIdtyobKviBYnTPBdqWjWiy0W4q3ACZsRyDwBmHC9FbxlbwbJq9uq6z4WR86pQYJok3iEqlPe4qVxCqFFUutkkKbZHFeySosAt1KYuJ3aJuEobvrmSJOT73T2tfOqy32c%2Fc8f8fs9AcBDeZE0N2RH2apuIl3LFGvhzMsox%2BwZday6o455SBynf7wD5Wz0gdH3YZoekcPD70n%2BqMMxP31Ta6oTpTdZpj9xqg4cakF6vDMd14Ii4SrnI83ojHh8mGb1MJ%2BDzZ%2FO%2FKpjHjuZ%2Bkj%2BnUzitY266DYm6asCGZb0G9js8WGEGTRejjZLol5Qvpi0F%2FV95vzWEYDvwMTwBIECfq5Tk5b3nNrsTJLuHcm78V4RSSr6DdBtZEkqFpH%2F%2Bv4%2BwMl5%2FyxXmOzWfWhXOe6qg7sPcr1I7jS8H%2FkAmtbEvn9Rjqi%2F2eegIFnM5H5UowextgBk7YoTPPn2L%2F%2FK6YInxyYw8hnkxkMHaxB1yRSmuvyJ4DBm%2FwUlchRwchbsZwBUqTYeg2kxqGayWQ0yOaWuCf7Walm%2F6EH3D80RtUnibaANu7QZGmvagvR7oq8E62JkdY61Bk7nLxHHAk7LRbnkS6z5uWKRxuZNs2yS7mE88gLnSUxg1VXez%2Fe7yKOXZHIMSc36PuHrxwBO5PrKUGPyfJHvS6HHJGTDphMlQAdDyMcGqyhXbrj4X7l3%2FpvUE5hv4Cd76424ovzaW6%2Bo%2FXrwb2UfSjDoY3GU3AFYkwQRphkCVskcGycWeyazTsdcl7WPGkD4ETCAJNGRMJM%2BMNGVH%2BGgkJFAOxc9nyKdcBta733oJbbKaetz2AwryWvlhBOprglhb%2FMQefZTfnWp6qCAMS1tKtZiJTx2vzQqkHEFSDWKcV2XL1GmN1k4s2df3id4MTs9AUwBLStQQ98mBG9QQ%2FKAgRsfhomJZQZ1oISGbBmcpAhE5kzNaEQFLQk4zSS%2Fk5R5JKXN7wAMPol5lc%2BQpLz0g1TdJfxdDv2BJgl%2BgXJqlwzt4A5QM323Qn7IOZmKACkKdrWvcS6R7BeAKUh%2BQfBqolfy2RUS4H2A0zpRMsGp5ZxRtngGILeSHcshffZBC4Y2DkIX%2BanBJAsOr%2FQZq8FlDLLIw4MDLpZtUSzs%2Bpx855%2F9y1MuwGXBxX8Mk8dHcSoAKqfJI9G76zaTYIIOwBQAiar5BFDP0sEcbZx0MIgcSTLqObheY748DTRzl1R%2BDnJLkFdickwATCnR5ARKI%2FkkwJMTUUbdmyZCNkmQSY2EyTOX7QZO5w%2F9LwQ4ZVTKOl%2Biw41FwKfTdq1j864aEbxvcXvl%2By4kZ5UHbK%2B0PEcgwHS4MReoDDOGuUMh90%2FIV4SS%2BQyHq4kq0iyZJoRVUYps%2FAA4geT1K196heVv%2BvJrUb%2BrvjdfiSvqcQ8lTPdaB9IcmuVHsRHefxh9iKLKQ5fM4E5Kmqk30AdAlTm2UNb1ycS5u746lrFFMtrh8GwKg3l%2F408%2FymMATl9OoMnSVwBR1AlC8wJwOi%2FRrhd8%2BwjZv08%2BROHTl8mO5ef3hLLFyZv%2BpoxsnH6ortsXFY7YyreoDV7O63JqB5cSeZagKYkLazPTnIyUJ45uc4SWQtgxBgCaPkBKpNjYUYJCAqX70cZ6rfQpGcVp0xb5q5Z9IyejwUXNy5hpwXCghtaBvkDJ77Wojz45WO9zWNo6UGDerIEBlY%2BKuUFTxtjvbH4cztgL3y07ZwM4fcw0Q8iM8Pb7kRkhytlWv9ubgVPI16DNGUEWOTBL2jX7VkFm74ErrfhXoQ4gB98ruDxc5GdBup2BEDp%2FTXM%2F15C0v1HRnc9Nmg7n0p3PrX%2FTyT%2F9lV8d65T%2FGE5tnpA4RcqRTxPyXjrhug8TVEBJgOmpQVMFUAmcAJqUf8jhpwGkso2XTVSeToHIOUSKfdi9I8rHiS9BAa8EmMqpU0mthmNqIRITwZiAE07wplE3WdhQO%2BYJHyf6Bk7nD%2F0vGjgtNFExoT8JElRrFUdizNQ2AkTZ9wYaSKrnTRj3XAK50OSE5sOfpZ4DM23Jb38MjRNObO9HihqfjjFWEUED9nX0wY8B5THyGcL%2F8GtvvXrlawGOoG36oa%2B%2BFkAp2lF339eyjc3uPteFctEsg4NW9OU9aENq6g35GM5UHDUdx0Wa1c4f7csnCEfz%2F2Z9%2BkzjIArg9JUARgCaAEhfCdPnlwFCCZYARmcJ4GBfjAXxKc0L008DgEdmLpu7FBRBUxj7ZB7DMwoiKEE7DthJU4b8UAWoxNwdFAA1EXgmrBZrt8AUGcxJ0qlUHDMB8WT1xrqMNRvA%2BQMkYo7vBo2I6xM8YaN9yDk8fawAwuSnJE4rEIQKmAGM7MqXus7Rh40fv4ukuPYHog%2BQcxmmjxDvRVqeI2icAIRfheM%2FZJqpZFwiS4PuKRm4FQLrnHsGp6YHwLwBsS%2FycH4%2FgFMtAaRqeytwwr895GfgueCHmzlq5UM184GiLfmKeJi5I6ONcXcZPif%2F6Dv%2F4rTaBG3jw8CHek4Otnml9klhpjhxSiUMs5xNdAJQchJXFI3MdpigM9u1bL%2FOhE3tE0AT2HOhcSJYEjhCSadBA6ZSB7OpuRoGKdsgZEOYNLibxN8AxA7gh1M7E9DeF2FYJQ5zvYHT%2BUP%2FWMBphtnLEXUGCiRNQfo%2FIXLCCR0BnivTLqknENDAS4C5MuvytG4wRQ2kzGLM1r44ncjnJt1vhg8O2g2cLidwshlUfkjTH2lmPlA%2Fxu3QLKUJFIAJJrt1P6LF7LeliB%2FTDIhnrubBdGSaDq4y5ULj5Cg132emBAOn6te0AFACTiaatElpEE%2FygDtJKbleM7OED69lXU7Wbq%2Fb0PraJPdeACfUeSXfmtuYqwwSIkByKXNd7Wvg1MDp%2FF3pi3vi5Fv%2F8J%2BfMnzPYXtJCgk7OiYjnWyHL4Ns6rzSvg7HTzmH6zKAcoSd%2B8EXcoZJF7bsdETEpBwsuyuwZOCksgCpmKxcWPISOZva634gYZg5gJIXJhHbvKFaTpNIA6fzB%2BAxgBOijwaHU6ZYIT3BqM%2FUKxhzzz4OYEzKjMlkLH6O2Q%2FiMzuDGhgP4JSh0XYkNUeS%2BW%2Bsxt1FItjA6XICJ0c8mU17ZEGICKjaB3%2BV6cckvzG2kTyc5WxDSwJfUQD9QSmQEYLmmzGho%2Fybpj8T2qDeqNFi6ONYBkhaOIPbeTYdxPMeD7FwYPZhtrTrPay%2FSsnlA%2B26FJDCc%2FCHhQM4tF%2Fvh1YCbh%2BkDknNpOow1X0yAVMBUAM4lb7WOLXG6fyd6Yt54uTvfOs7p6TLH5xNCumFMxq0SoMPCZPV%2FEiOVIo2JjYi6pzWwilNPjanU96DD0MNbVVdKlhcSEvgOlTA5vDgRBycHlMDZRD1WTITiz3Xqm3n0pKaG%2F0ATnAOBHBam0NIHFZMIg2czh98RwNOq7yIVyMUe1eYPTYFE5qZ6MyAeSRbZih8AKf0GRJg0qU0BaWdfiEK4Z5JawH4xXdjR0K1GzhdUuCEdBoxRq%2BBIgBRyIu6siCgHxw9cAJ%2F8zUAJEUnfinqLNlWAnG0YS5xxLLyaE2SwUE9QF9O8VcpKGJy1S3WadyP9RkmqJnRIaLp0hF2lrPPKWBwcJ11pYth9HMG86AE15fWZgGk2zDflTbr0QcfQ5ttpRGDCTdpQwrvGvYacx6JFTzC4PPfNJs6NHLQRjVwauB0%2Fs70xTxx8jf%2B7i%2BfjoSNydWENoDG8FEYYf415F918jgRJCkMECCKTom2oSchJjYj8zexJIuqmFWV7FJtZA0ncCpgSczF7puMxugbzl00qRTel1qPe1iY4CzI5KCFbVUOhOnslv0NnM4ffMcCTgqpX5KdzlDt2U8umtAuLqKp0ieEnB2DsfpTnXIZ7CCn62VbviEAURjzg%2BMmT%2Bs1pVDdfBo4XU7gBK2S0kMh4lNpoka6qNLG%2BvYGgBHoBxIgvZH0DqQjiD63AbSwlopEsHLRGShNnjoTfg5qmFynBzt2EoIiWqwCpzXw1z0dArz28uCaGp5Z19rM5MQBnECEKp4lrcPLUofcuwGq8D3t4jFcPjJooAYQEDgNwIQ9QMSW9nsy6WUDpzbVnb8rfXFPnPzlv%2FXt08rLVCcmuG4qbf2yrlMRTGI1vFUOh87oXhJ5BnAiMzmp6HUp1Yr6zFQr8jCnfhBYwkQc6SBqO%2Br000x%2FA0cVKUpQDpyuw6EWzmvw%2Fp%2FJYScDa2VkbeB0%2FgA8FnCaIfY13N7vcfLbyJwWHBslpHSdDgJAGuMTpgwng7UDLTVOBFS6Vx1qt4znBk6XEzg5D5nSoihdlFNJYe1ymhJs9ABGJL9EGWBpUZZ%2BEkaSViB8StMVYmGOYwSwTHRKyQPtk0x7KBE9PNp5%2BDUFjM3OlTF89gk4iTVch9iRFsTtPMxC%2B8NoMeSQGxHQGQnNdlwJpBDgg73B7hzQNpm2wn3kXovfA42wwZIO0rroNG1W8DxUt8apNU7n70xfzBMnf%2B6v%2Fv1T5niy71Jy4ZBrJSfmZOh1uoqZPwsmupoQeKES5qlddnX8D6c0ns4yJ53rKLkQ5T2ohxd5ihIsuc%2BRd7C3Y9GBOcdsyaM%2BUk9IS4GF5d2I4kD0gaIDlmyrlXm1gdP5g%2B9YwGkGLM1Q%2BhrFNO4r0O3MZx3KDhBv0OTcdo5MWuS6y0gkM90vktOmBrWmFGrgdDmBEzRMThPFXGR5CBwpSrINsxZY1nGZcf15dZzwoPEkrQCdvs2yvTQnK%2B%2BicgPSvSKTQTO1DXyisg%2F9GMcCSDPcmrw2MWNqvjo8cwYEZh41AUGtyzrcXmOKGDuMqxR4UmlH8pfT3UMmRWieRJYqM6LNjSBLxcFmpv2wFSJKckYJRBlQNXBq4HT%2BzvTFPHHyp37%2Bm6dOVeESJxs5K2qCOv%2FR2USpmKDmT5mq33U%2BJJvTnGXbTKnwE3CfMnTrArM4tEwGSiYPU7v2v8xJvcwUL9JE5n3Ke6jjt4Bx9XsBnEhdb%2BbVwcD6aDCvNnA6f%2FAdEzgNjg18jURHlcwQ42lBAMk0BUtCSKcwAGgXg7GS%2Fg6wtGpj0wIL88eL1EEljVD67Nmfr4HTJQVOsabUVFHrNFJOG0XghHx%2FDD9XKptXweHDtDbqcx3gBmMT6xJJGkk2GNQTKDN5teqPMsGvgl%2FW0Xfuc3oJrbszMpQgaqSxmXWsuVxHc%2F1d1JknTzn08Nvw3QGSeCXHk%2BoTNKEOIGcCYhzKq1WDKWIyuwOCeQyQlBRX6VSgsRv9CaAaODVwOn9n%2BmKeOPmZn%2Fvbp0teEOX80okG1AImtFSbKQ7odKt%2B50NyGHc94ZC0DXtf%2BhspAmUZfSJNERwt5z2ohBUam6eZwfuU%2FE%2BpFgb3COnhz9Dwn%2B3DqQxmuu%2B9G%2BRhZmBN9lX4PZmJFfUGTucPvmMBp7N%2Bajv81mLxJ1cO83hlpB3AU0lw6zo2CoIlhkObuXimfDCTMe4h%2BGGkCUpKjcGCTzJX0WzgauB0OYETXQnSbIV1ymmjAKZUV5DLXThSA2Q4WTLqYeYCeHrlzi3eU%2F0mXR3AbwQSQ7kMKA8Z68mf4%2Fbke1JAzk4fv7QC%2BNxh8GQusnWb6zLnTsmRt8qXh%2FUZv50EjslBNIgynQg6ARQIHgHiRE4sPy05vYOUOPqYH1RtfH9liUiglOAJfk9KPo8ExLrXwKmB0%2Fk70xfzxMk3fvZvnmLzIJsr2UAVNuqUKXMjWaZSMQWBzHCpGCgnGk7abHvCrrlPIoJ35GWq97DwTKLMySMyCDSpeRK5GCIwxPcBp8JktGV99uMeaBMAmL77zj2xr0ZdLKy4AJxmu4HT%2BYPvWMBpAHH6LgmYV5p83wfYnqSYOC3P9CzSNuqUDIC1SPPAcS4gte4ncMLBwIz3hfl%2ByVXWwOmyEmBiI2eUmfO51bxupY%2FmK%2FgD0ScIACkOgdke%2FQQgN6nlhAYch7qRjywPd9KMK9UG6k4J4Tnhdk0v4TlTFLaLRKULduV4yLnx4hySefGUaHa9Pt8Iny4DJ5FmlitZxt03edYEkkALAt8slkwarzpM6QJImVTWvlVYw0efwFMDpwZO5%2B9MX8wTJ3%2F4Z%2F76KXIJgQHUFzYUnIJoliBzrVhma%2FSc6wuGZZtVzvnulW13JovI%2Fyhu4vQ2SNhAT5%2Fap9qHOoCT2WtvmWmcrLZKDVDZbWFufDuYV381gJNZVt8mC2tcYGQFgMqygdP5g%2B9YwGmQsdp3jgkbS7JGAKpoQ9uk5M%2FK2u4cVgjtvsF8WurDBqA8WQJKOCAohxbMIq7rHp1VV8z3kwl%2FsuPjmdY4XU6NE8xVyKc5eI8ykSs0TOwnB5IIfe8EKLobaxRKhOiLebvUEaEWfQDrWIN%2BDWtTWYecQgP3nFJDpmsttMPHb8Fqv6S43%2BUH%2BLzZDfO3Pk7gs2jSnIdxbybxNSs22uwLZmxokuR3lS4fWXcfS3BNxekaVgMl8EWg0NJE57bnMw5FvJ7DcN3M4Q8GW%2FkbYSbmO4n3AUBb3xfqzRx%2B%2Fj733LnyEz%2F9iwGcAjRl5mUlZHx8JreRWGhntJzp%2BqFVOvQHfgPSOM0EiYs0LWm6I3CqZGxJzjaYxksbGz0AkxanWIiirsVIdS1SQvTgWWEiTmSJT94VpEyo%2FbiHRRRhv%2FItiIsJj1GiLf8w9zlRK1N%2FkPFXaUBcfoQ8atH%2F6Ai5fuDg%2BcarN3Ozj1DomFDa%2BG%2FRLFnbUNdv%2BRwNOCWlAAMOXF%2F1ATjB4Z8gKcHTWEyzzzmX8JyJ95BLbdSTjM9EfIpoQtLq9OmL9%2Fhk%2BPeh77NFu4HTZQVOcCMQOJqJcd1W5gMAKGxU5DrCGsTQ%2FaxnaQZulFgnsP782jsfcf3xujTr81C3ZW4e6xlocKVxypx26efEvGzMbTdz3uEAZH5AOrTnWjhcQLIP87w6gK8dwquf0zpXHed45q2riX7xN0EzgywRsKCIfgbWlEI7k%2FVj5arTIT%2Fz%2F5V8fwQxdqaPfexMMnuaLdMx3ubKaDPJ7w7rCN1OVv1bU65AczoSDJdcf85bV%2B89X56SKWl%2BfhBy1SXf3iAvtsWC7kI4dE%2FaIh0%2BdNAwjDGeWfevzhRXTv7gH%2FsrAk55QR0Mn6cz2bTBm0OqgXKl79KhJyqAkxYlnewWCxRAU%2FZjAmPh0aXTmxeodT8ADQYegFNNlMh6LlZOnmhiOpW3CKAAnERiJw4W9EFt38ApcmVl5mw6sIIpGGzsWUeeNSaQjYSxBqEqZ3Z4tAHgEH20zNmVebqgcap5u2IMwlTn0%2Bc1nz7TRIdF9Bojg64SYDnpbE1QPdMIJAvNbAAAIABJREFUOaWQGPEfh0mXEaUI6466SrTdr7KB0%2BUGTkpWvgRPs08gQoc6AKeZmgTr00wfpTo2b6xD0IY%2FL4mrtU%2BHXmv3%2BXsATsxZlwdamiOHHOR%2FSkqCuE%2BCWvrBGjTpcCk%2F2Thgpv8sNiry95E%2FavI4IbIafE4mv8R9H5Lo15oaKmuafQ9rjZ3tRzRtyQ7BABG2ldcP3%2BnQH3zXml5MPIRSAmDPcqox9BH4Yd3K9cpAUO4G0KhrHUPKsGqyRaCTzbejnn2bgVP8%2BxVwSqbS1i9lfXXKrFC7SI6SJ%2FzxIE8mIL%2FAD%2FFJ%2Bv4t8jwmr5%2F7BKBqsMQysW%2F1zR7URtbEIhDpD3zjLyVwUsI%2BXBAGT%2FyDBND1pOxPEOWw1kPLyerwOwBNqQqXelw57lxntF36ENxhEkqpxlWmSjx5R%2BCjAmROH6eB0hOtj3b4GMQzJq4DaAKBHUrkmXozievc18AJQOlwwAnh2mPQEygFRxgSRNdEpwmg4Ls0oyflz7QruhKmuhkGbcZllKvw6GTGJ5Fg%2BF7oEoszSvf5fgOnywucqAkvoKFqwxnUEvcBMJCgFcBIpV0IlAR3JsiNfJsxxheHus%2Fxvzz0WrvP38Mcq5u%2BGcWxHuO6nWsz6mL2z8g%2FauKVf2%2Bw%2B2eaL2xXcqhXJJ1Lyidz19nhfgQBXbfj%2BNkgIPi2YkNUzj7lqFQuSpWkesgS7WMAJ5gdlyzsYmS3Kdds7Ph9u9JJ1SAXppwKuYPWAXQ6743kukiyu7u9L3CyXB3RuCvgaqcMQ7aynuCgDPkGXcYFAyf6Xjvl2sIaNC1DTi%2FnQDazAFAjRQqPGJX0sVUdwMlckarH9WM%2F9QsBnBI05YsAclxwMyUXk9ln47tNJ8V9Zt7GZwFIxmREOpZB%2Ba%2FULJyk6UdgR8szZUasAEDhnoHT9969x2zdAEhny0DxBE4yY5H1N0vklkI%2FwBOI7NDfwOkYwEms344WMgv47NP9EzuHM8WFqCdEc2EncfUDODmChwSuGdnDiJ9SRz9TCkU%2FTncsx3W2v4HT5QRO8L8UaJIf0wRNMM1En90IQvvNzPYAALFWob77uj6A03djbaqBKoz2zUCWdzKAZeMSepTHYMaHG4SiCRU9OCIJMz2LU2mdMosEcqA6D6pAFHnSMi8qSuxK%2FFtY07MEUBr%2FDmSX%2FeZ7kt9TgqekL5CDuYKC8DcfgD%2BK3ITLct2H73PoD3zBBvO6IzBTo%2BYoTGnZruaGbGLfWi7pVXD4e8%2Bmxiyf194HOA05prZpRDNSwze5tODGsEueli8AKurHMH3u835q3lLQJ81cj84DKc4zgCsCo6IcUqBFpCJKk56zSBAoxf8m5U20f%2B8f%2FXkBpwRN79Np9jFRO%2F%2FAAjSZPG32H8HFiYAEA4zInJEqpe5%2Bcj2F6rOE9zL0N0OAR%2Bhv9CH0Fw7uAEoATu8SOCFKReDJJVWfAE4BisT0G9crAkkwLbHNPpVQabap7oAap3hXSKMyw6x1Qp0h12hr8cVgNh%2FY1Zd0KltfAFE4KSDpL5OkOnFqOqrWvpGfEWSwsUj5woKhejAhMy2G2g2cLi9wWgSpMHClXNmmxglaFDBgR7QvmbBLif5biAKOEn51WHu%2Bi6g6AiWYYRRJJ%2B14ltG%2ByA%2BAE39Tpsma5jWBgGFyo7lMJhMDpUqbUGkUMI9hWVAC%2BHkBnELrVPvEJC4T3gRO2QfglJHUJxEO%2BCgOQtQ08yAUKWuyRBs8UsiKgQMSvtehPzjEmRhVrOxiZEcfiVKToR0s80tzUXrdkH%2BrmI5CKweN08IFouRWrW4RsBbtC5yqTBmdvpIzNFFDjjxUSnZVxnBzQN8xNHj7vB%2Bs4yOFHAm8deG71n4APLkdTQLv6oYEQGU%2FboxRJvdOrkCWv%2Bcn%2FwKB0%2BAOiTo1TlZZrcqp3povd58ftuVZODOf5UdRviT3g0sFZjuQyA2COdZFMkeCuSSZQwmhACB9HxonEmAKMMGna1EP53imSQDjLwBUMv8COLGewAl1hOc2cDoOcKqnUpDkCTDJdIcSHwAlMscne%2Fysm99JJ7hKDLh4X4VE8JOYSAJGoXom23GWaDPdRTjvM%2FWFygZOlxQ4mSrFztBwjMYBroAn1AGcTJMCwLSmR6ltAyfTEbyd9AMATroEonBd5Ad%2BhWTxLqmzZgotRbcaMBg4cQNa%2BSdOf8XwVYTGKX2AAKDkiiEgyiAfumeoX6lZknrG9SxNmgkNH9YBaplBfWDOKKamUZ9K1bFxHvqDxM8ARWZcV2YMZcx4uWTOgOlT6ckUua4k9QKctY4%2BgD%2F6bCFBeSYpd8mk5aVvK3CCTCFPyU51gHn3UdYJVC03pfiZ8nMd5MFMwXYEILrP%2ByFfmHPrFqJVJMYGYAaAwn34YjmnrgLf7Lst0uMRDBd15kpN8DQoOn7XH%2FrzpwRNg2hNwGl4pce3dh1lEPlnW9qnY3wwyMzOeyvQ%2BUhCiTpUn3m6gcnutdAIvRZgRukNog7QVOpOewBBwH8LwAkMve8laEIUIcETKBmyNFgC2%2B%2FrCOmMv4eIOqdMcAoFfM8GTocFTgJJ0jqxtL3a4In3BJywQGIxfylGM0lUUXdflhj0PFVk8mksUCOXoheo7MOJCSpn2O2nb4TqIxIyfSQaOF1e4OSoKEWRATQ5UkqAyVQpPsl7w1%2Bc7MeGf00aJ2Q1WPA4gb%2FprAPwMdbbrX8Tp27SAizSZu1uD56peqqH38iKWsTmPydyt%2BM5ea%2FS0dx5Sq29G7x9ueEDmI6NP4ATDlTOckGtMqJjrXF2HelqwpRzDOCE3yQW9ixHu%2FSRYHR1qPN6l745OCzaL%2Bx%2BbPbVz2gdnc31iuvW080aJ8jVcrNMaV5eAX0AqPPk6bRsxzB9bh2feA4uF%2FBfpQaslAgGqm2AvJpea9Zj30mwDwAl6wb2FWmdrmb95Ed%2F%2FM8KOOWFOpDtQoVYwZPrCaD2%2BVFbn8XEhHqT6QxSvUk1sOt5T8AJWiCAJ0RlCUShrbqSawJQYSIDMIGribxVSPZr%2FqpSxzMIuSXgconwffwb7MPf0%2F0GTgf2cQrZGjhVR9IFgEqNE94nwJJOA0F0SQCVbdfz%2FkjhUlTgCkGdhwAcARanOp%2FuWGaS4HKqa%2BB0mYETeHESMDnUvLQBqLB2TE6iHf44JewcmxLWHaSDkjZcoGmUcag1MebWNfQYz2GuzdRYYht3mpZZCizwkF1CwJfEtnD1kAMuwAOj8aq%2FGMk0pcmr97Spw%2FxpomOZOuVQrj5w98FEbwdh0KYsU9OIJsH3YUE59MfaCR3kcsPNtFDq0wYMXyzzWdE3x64EBHVoh4tB9svHaJdGfKkJxzObNU4hcwEmy1F%2BeJavTcl4xhlDpCiYDtiWr2UKBcVFfgCOzkRMM%2Ffjo0U%2FNE%2F0wQtwpBI%2BeQJKLhG0YeDE9wb3kDygn%2FzI1%2F9MAKfgvBhU%2FwGc4h%2FCx%2BBpzXOw5jg4tKCYSBPgyAk0Sbu%2F7KMDebxQgqQIZ1fmcdThi%2BS6%2B%2B8QOEHjBMqB9xMwvV9oGGofzH3OLcW8UunTJJMg2roPgNcap0NqnG7SJLeMvpEjHzVPMWmtgcL0tNPeiHggcFo6Vdo%2BrWcmsFq0sx%2B2e0SHvE%2F%2FAV2jnhQLbjdwurzAyRuTTXJky07zHADVa7Hxg6%2Fn3HRQmS5qAKfwb1IeTSQghxYcAMp1lRf5oV%2BhU2QZAKCNk%2FhoS%2BvLY0keVAygquVCqZVOCbLMecQyZQn5KSeeACpKO9dP%2F7Dc6Ok8rg0fUYwwidGnyuTNxVRIM0y2nQj50DJ15BX%2BbuKjwEgw%2Behf8n38fvrdpDnxydMwIY26All8%2F36YmuhnmT6W99Pncul7KT%2FMfYCTwZE1TYoCFTjFPcn1ukiw13LMaGdqa3hPPEkX%2BXnwSAmy7xWevntx8IXvdu0DwFJWFER%2FZrYIRuTNDCkATngGjuEGTAM4%2Fbf%2F458%2BfS%2FJwQiemFRSwMmfXw87%2BG9EeJhMsAXTlm5HO9qJYUPPMtrwd3oDQAlXmNJQvsm26rpAJxDAKb4QgNI7BE5B1oUrhHm2%2FoC%2BUc4l9WrmlwIoo%2F9UyTnVwOnQGqeIflypq5npfRCMJgdMtKVFwpDOlcgFQJAHX0ZDgKZgno6jzoSm7hOVAfpgp8dcQLTKPEiorjky7zVwupzACQErBEcl3chkZJapzmzNS8LGyXBfCQYBrmDmeDcAEriaGG4O0BRjTeBJbhQIPUf9oj8zLNuHlDyoECRkH2FCbqCDXFBAauwprAs4OU2L5CigBBcJ9QuIok5KhzPRiYpe5AWfqNj4IVNT5RigVQ1YBXTHkOcEiCZb3F0CwD0KQET%2FmwBE8sMRZYr7XYfv5aOgRhmRvsgBmG06vvPS%2Fa3ACdq8tTxvB5XPruhP5xAdIBhvj%2BB3hu8PRcsxhLrxb4Ju4sPMCqEsERHshnU7XHNmBomH9GF1loiPw%2FVjZoyYKbdg4kX6LR8MaIK1xul3%2Fv7%2F8xTMnw5tRAlns4v8wDYMkETQlI51bs8%2B%2BT4RKIXjNkpepA1QWe%2Fh9wAovWvgBOFW8FTaBE2gMSgl%2FJqYtHMk6rzZGqckvjwUASa0eZN5PdnXY1M5A5xiQE8OsVyixwKtCa1lWae7uoHN9CyZpsWMuQHSsTCRG6X4%2FGEDq%2F5%2FuIcNDOkMAJ5A3Im6AgrQl6zsWYKbZuuH5KGh8UKpSBlrv9SHfxclHDUP%2FYEp%2FGtvvXrla196JcpXrvzQV18L0tJoR919X8s2TsaXNVcdgVNoQ5B25EzKEfZrk4e5X2z2mSKkkBkuc65dJdEqxhWYwjXeDJzkQkGfzBx3h37vF%2F33cPgcYDNlBxki08E6RcgETuLCqhv8SLEF4BRj2ab4mdg414Q00VcrSjl7URzWDM3z11QV6aA2D2xOTjO0SVGhWTJTRUkLo8gtOXwXx%2B84AMIX5wFD%2BUsZWpMHsbFDe%2FIwS5jgwCWHub%2FmlJtt3dsbOFGWAqAgjp5ynRxka%2BtTdX8Y2kUvuhc4qKBdQjotsgMgzVaW735wf7Rx7374g8HMCGC0AE3oy7RbSrf1KYETABPN0Szj%2FTdwmtonA6kGTueP%2FGOkXNkHOHEBqlQZ0RCBmdTFLvFLBv8LOV8UylxTOZD%2FJfrBEj5SNFD7uk7TkOkb4h6%2BKzZHkKPSJy7bMDHgtOw%2BAJKtnwZOWyV1cc81cDqs7PcBTgRLaT5ac2SJ6iE0TrHxg317OqHPaDWTOiN5%2BDArxRoyzfs2oxVtGrTaIwxd%2FkkKSCmBKABSox%2F%2BXdMcuE4bBR9ORxXikCiAtARP5EsaYEoACiY6rE%2FIYMBowcxu8PhpyW6Q9a3A6U7VONHPSZGM4h6rptEbSYjtnKG5xmYUoOQqmRpQHXaUbP9r8G%2F6iFazSK81yli34%2FCBoDek3cI9yH2duF1t%2BTzBZPcUlo6oMy9qgCW4EDEwAsnjGzg1cPpByVW3D3CyvV2hozOMl2GksLdnP8CVnEcnO%2FF0KHWf7sPXZGh7OOmg%2BZGWxz5PrkMjiQXqdZ6MbVZwQk21cR%2BAbOungdNWSV3ccw2cDiv7vYBT%2BtvILyedwYvDOEFVbPzQ9E2yTfipOErXpJzZjnUCmpTYBzPIxKBIDt01mormmuSKo2k%2FHePZRzqU6Q4gKobko0Pmg8FN539XtCoETgGKYDYCUBJgElBiXzo6sy98l2A6AmCChhJ5NFlnlCDq6NO9vYDTcLY3UWv6OKWMxUV2Q76n9GWaXHqSsX6THcYv2scJvkvQOsFkV0skdkfffd57zEAg%2BTNV5%2FDp8yT%2FJ12kl0gXIVi8YP1q4GQ%2FpzbVkdTzIpP87gOcdCqYk9aTFyW0YZ7omMgk0XOai0GqpzQYItgT2R7%2BO55KMo%2BVuFHk8weHQ9azT46r0i4N59YMRec91gM4halm66eB01ZJXdxzDZwOK%2Fv9gJMiwCYH1jrKTk7i8F%2Bkfwpz4ylX3vISRQHuw2Rnh99BaZLO7tXhnf4tML1mPkznyRztmOe%2Bj2jBSauSQCNpVOzDafcDACRoSQSSVvU02aEfgSsjAXlJPv4sko%2Bv%2B%2FcBTpVrjIfLpCMQ9cOMVqS8eKU8KdvZB8AmUsnD82LtM%2BLA1VRNn%2FdThgBLBKAJUOF4XyPoTEHgiLoabYcxOghNM2CtgVMDpysvosZJi6IXR4Elt3ECc0JRaKCgkkZyVXLFMBF0JtocdSSJ1qlKOa3A26SLua1GXf5%2FuO7m32PSUyc3TdI%2B3ss%2B%2BFRt%2FTRw2iqpi3uugdNhZb8PcOJmXkkwSdC4JhcVj9OTCOUHWaM0NGCTrvW4l%2F0ATvBZEXgSz9LZuvxbZpSkkuCSvRwBTJmAWMmHr9KFQMBo%2Bmc6KpgJjgGiEoQQLI0Q%2BlW93IMDOH1vuOZ5vcty1d4MnGIdHISiSXYJ4FRJRs3ztJRh0CSsZIt8nngGa%2BhFfuB%2FSab4zEUqJ3uBKfZnG9GKjgQ0aJK1AmSYsmAARMHUindKZvx4v2bIb%2BDUwOmFBE46ZUk1jZIEbam65iKZfZgc1v7AsR9aICSCrloh38dkAWgiazjKTGA52tkPMEU241hkAJAWDMep3TILMk6kWz8NnLZK6uKea%2BB0WNnvBZyS3Xr4KA5ma%2FssyqwEsxoTcyO9CvNTZn30hb8Q%2BqINUx38VyoPlbiq4BBsnqrwb4HWIVORIOCDbNsFyMEkb5Zt%2FM2PmdgYFCrS0BAwESwFuzbaWJ%2FikpZJ17000e3qw%2B8YofIOmTefUg2jj77twGkyh4ucdbKyK%2FWK0tjg3pBlkSH7mAhdNAhoM%2F%2FgBX7o%2BwV28FUuUkQskuoh85NirxguHskaPtnDk0U8KRaQIofE20xCrQwmDZwaOL2QwIn2%2FIwyodMkwBLaUediyRORFhvTSNAXKSMl4cQ96%2BqHY6N9C6w6Zzl8D2bdSUmRER7mPvgCsKz16GvghMV1RgIxV1htI%2BdVtI%2BVheDQa3gDp8NKdF%2FgxGS%2BGdxxYwR5aJNHGxs%2BfJOYsLvknaTWAVdqIpyLEhon%2BK0AOMnxd%2BkEPByCkc2C3EbmOIL5X%2F5AJuaUQ%2FV1gjGQWTrhrMBTXiS2VB2bN8x0SuWUqZ1GCc231huUAALiS5JGxOSN5lAa9%2BKZrcAJa9cMlBFJ68xVJ3k6mMbyskynPEWjgO%2BIZwAKL%2FIDkIp1n0zxAerEGK90MNCSOW8p5B%2BiUk7F5J9ycl%2B2sx91BPjccb5cJqNu4DS5nNrH6YXycTJA0slSYMmnTJDCuQ0fAEa5Mecgot3E%2FO60OrUPocVacMWtokVCJdqIbHE%2FTp04YQIsuc6SJ5Lsi0UWC%2FLWT2uctkrq4p5r4HRY2e8DnKj9SNJQAijWteFXlnaEwRF0GIRUYBJanXEv%2BgFyTHmjnHKiwXF%2BuZpjDkCJfpFZ3g3t9aKPBJw3BJxCs7RkBZ%2BbuPrVxnfR99H3mu1ZB7DCxq%2BAlxoMo%2FrQlKSGZB%2FgNEyOKUMApylPmCIh42upEXueTJ%2FSDxTfHYDkIj%2Bms7EvFjR9NG8SrKYGMLkCF1HZjMgOIJWgCe%2FQAApaJmQpoasHcifG1Rqn1ji9kBongCTkloMGg2AHTLqZtRtJepkZPfpg0oPT%2B5tIzhwkpqjvbt8mpb7s4EoGybLUlWVdfTyJweZNtX1e9HsAy73uoYS%2FxdZPA6etkrq45xo4HVb2ewEnapUEknxdr%2B2ch9j0nPiWPomZPsn%2BiQjwcD2YCeIAlIApIqdeBnByWUmY428DKMFHUqV4%2Flyv9%2FDvCxhVLYeAEnxwoPlAOhX42SC3XAVMy%2FoEUzBBeVOXhkTakkVftvcFTkOea%2FkW2S7kuUOmJM6Ofvy2i%2FwQSDrXKTR0rmfAkKMA4bs0SVGVfgvAaUn0KRnjcIwcikwBlPkTGzg1cHohgZMB08zhFKSMVMU%2FY1Je98P36c1gj0eS5i%2BhJJP8rNc2nEKZ7Ttt5Msy7OblHp1CsciOxUURN%2ByPhR3Eh6jD4XTrp4HTVkld3HMNnA4r%2B32B0yCzTfDEeUZyUTlmQwOFza7Sh4igd00pIlLZ09hoYYpRiq919JRypvJePEMfSYAllKAjiRyoJkVGm%2F00%2BQdwgrM0TUVZ0lSkNYT9WEuibaA0ABT9KpWst4IoAqeysZOzLl6FN3px2Km9GTgFINA6tZTfIAlO0lbc19pkYt5VGf0g50U6KrhLXORnkI3S1GbiUTl5C2jOPlCiLvKYlvy7JvxECQ1TTf2DegOnBk4vLHBaLC4BmLzQgHEbWif6BsREfuuNO1e%2BHEzyYPl%2Bi2W035h1t2FW86LGHFHPubDoIfTYkTbXMlu8%2B2rIMkKct34aOG2V1MU918DpsLLfBzjhkCI29gBJg5Vdh5TRH%2FegkXHS%2BueXSqUE4ASflWUCeeVJrYnlYa5BKi7kLWUZF9J5LfoyCTw2W%2Bad4%2Fox882hDo31k8xBh4OZ1jCXEzB9tAJQAE7%2BZLYaNkeOhJI5YV%2FgZNnx4FdkXPurHJV6aqafIus90gVFCV%2Bsi%2F6sAZGZzSmveDlVfgsZFgFLrvpAy8RUQMnNh%2FKkc9Wt89aVXHVOrwJW6DDxOG%2Bd89WJaC0zbdecapmQdkRWRBsTpE4GTpiYHOzP0wXuwwR16A8WGZqowreHJismLY66U4bAlIUUIeRxUoJOz8o6gOr3umjmcJjlpvwEkixLAqeULXyhCJgiDc8ETgZNyxL%2BDM5GPpw77eRZSjwjEjws2CbDmwR4lRzPCU%2FHnHyeQOOBBk6HHvmH%2F3vHylW3K%2BWK8tZhg1KeunWuui86h6ilWXNBzr7lAaEmtHUOE%2BeVnP%2B9HLGdkw456lx%2Fg0Ecs417Y1NP8LRIaQOtCTW%2B1%2Bjz47Q1yvOXaWuy7j48Ay3ELYaaK%2BTcyeUVfm5tk6KqAJqY%2FB0l19A7A0ih7fuQiX2Y5KA8%2FZsAmuywTFNdrlNcv2ACK3tBrSMYZqaJmXn%2FANK0%2BQs5obkVOMGRfaYESkCacqxgFHLVOFym%2FxnpgZxnMe7Dt%2FRftQ80TM4%2FiQAjBBad%2FMjX%2F8zp%2B4ukpkFJnrnqrK6qeX129R1aUJhMHsCjDDt07UP9TjiyIfnu60jqi5L1yFU36u6PJL%2FxxTFR3mauOiTTFGBCqfrscxQWThMgZUQbf3NEZ7HvlnLVOSltAigTm6GEM5rb4gaam3utVwB1jIEH1SvA0psBllSmn89O4DQXQE%2FK%2BX7nhH1hgFNonL4UaVFknsNvt5ku%2B6KNtCkw2WFMgYcEdnBmVx%2B2cjH9MnIl%2BnBPZHkCTayTQVhpGJhBnnwwQc1f9pPPkydk3MDp0CvJ4f8eNA8jwW8sqGNzH3UlpcXiOnl%2FVr45K78c%2BOFhM%2F9%2BrE0jqe%2FIT4f1SUl%2BUeo0nVtl0TKMvnH%2F8L8df5HpR%2FinlYpENed3K31ISZJJthcpTTIRsJi5gwogNmX6joT8BpEsNqqQ32jHfdSPApwYNVWSyRMsydeJSebTfAftk9Z%2F7wkRbDL2hARUuB9rKn7X5G3SwfqTQUeQdewPcRjTgVqASbxx2CPKXpF9jwN8LXxyimnOJrp9TXUNnLbNEYy9mVZLeShPfvTH%2F2wAJ6velAEeHvLVxufJajVXvbftn97vKQASq0pvmXwKoZKDiEpqVNgegfQxgF8DWAqb82sBCgigWAeYwungNoETkmW%2B%2Fd79WIACJH2AhUhgqdbxDMASL6plVYdaFqcN9WsCQUNB2vnnsMJWllhrnJZlTpjURuHecYHTWfD0ZSapFZjCNUxLY1GeJ5lxtkHUSPzmkYg2E9KqHbbwGD%2BufxBJa%2BEk%2FdUv3Q2tj3yNVIYGqLShDdqHOXyzxilOdcMZvIBG9vHUmEAy3inGlB0u6TOQYaqqw5lwOmMqV9Uyb5VSNDiPlcrcZRanxWWC0QlGGzjtt05cxNM02VAzEqApS3CC1far3PhvLiK9FEafpIlZd7g3DlgATN%2FH2lS1IzzUTdCEtenz1uJjr8sTOO3I5UbwpOS3GPYERp4LaEd9MT94X8BJDre4FLkEEEVi2doX9WMAJ5j1AJRqEnnW2ZfO4uRwuhrfSfsBc5liT0gfJ9OaGFjhAOUcdbXEGqJ0UEr0i73DTuqzFHCaxLsCVPCNctSXw%2Banc%2FiMAMOa1Rqnw64MmOeKzFYOUlhuTn7XH%2FrzAk6pisPERWoJTsLhgFa8zdOByuj3sF9Rfw0DFqpRbGRQo2KxGvXsm8BJYAkgBwBpqEyzrv5bsnvHwvP9d%2B8p2%2FgHkYk8wRPKdxNMoXTIOoFSCAn%2FPTQVDmM3qMIEg3ZCAMl5fGb9%2BcBJgOlDnC5WJ4xjAacKEqrGCb4%2Bu4DTSNZI3JSWdKuF4%2BW%2FSMCJ1AMwt8IcWSYA%2BtnOe4iQy7znwjvPOV1rA9FGcOY0Pe7pmfEptnX7JQw1e1YaOB1jNTns3xRwggYkwBJKA6jUmGDDt2pfpIImRkzOHJMnJuEgwBTmEoATDnXSOMV6lBomrlU000kzTq1C%2FKQz0T9lXR5%2BHIf96fxr1hQRHC0S4FobpTnhdCXO8cbSBw1qa3WwgEmIId4O9c4SMlz0BaiiE3OmPYGf0yFMdWaGNl8T6QfM6QR6gqxD%2BwQHcLlpACiL0sQJ4dHW%2FZeZ8kXvRyvnqOee6n7822eAE1I%2Blag%2F15d0BKYlWNETJJFjA6fDDnzMaewT2Ce1h4RW8ff85F84xcSU1kmTFMCJ6JYvf1mu1YKf47Lx6%2F72ACRw2DNL5676bWicYjLZWc%2B2Z6L%2B4sDnOoDTuwGWAJzewcJE4CTwtKgX4FS5fmDqQZsaruQBEnCaGqdZj1OFTXd5f6hkAyh9aPWsTXfoS3Xt0YDTSsNiDROcpq11mRqn1IIYNC1KLQQvEnAi0IVjH7WHSr4769kX9zDeaGazGc51m%2BPKvTG4i1KpDvjq8VH9D2oUx3RalLwbOP26l4wv7D%2FEGJEJCRonASiYmlSf%2FVhsax6wmV8t2ZmTpRnPIIUGD3UFOBE8rUATNU5aIN2GAAAgAElEQVS5HgtATe6ZRb9B%2BoGlIm2STHAGULWkaS7vy4yd6UvSjM2%2BYtZGHcAJfmPKGTkvaJvWfccATliznfGeJJjJIi72cPA5ZbqVWOsJigmQ5HuFPYdgif26hzoA3fJQVQ9Ysw7tkICR8mM%2Br469AU7l4HFyehByNxVCTCc7R9nA6bADH%2B%2B0KhvgH3zye%2F%2FozxM4GTS9DyLIMLlgIlIliImapFATTJUJe9jvyL8GdA%2BwxAmF0qyd7Mv%2B6KO3O08AQv6vMNpB5TgdoB59GHTvBFD6HjROUb7zvgAT%2Bly%2BAxAV0QEw7xkcCWWGD0yYkhakidFHnxgO3syAXf1jCqDCAJd2SbZrg6RRT60TnjkqcEqzlEET%2FLZgqnMbJRa3GXkwT0wyL2mDf5GAE5ztq9PprjoXwtj0kOiXi2hJ5OnEneqb96o8IBS5nZRyBTqpVCon0MV%2Fn3Jt4HSExeTAfxKacAMklul%2FM%2FqyjcVWLNNKlAp%2Fklqi%2FxYz0AdwCpJWAqfwcRJgktZpgqcJotZrscw1yekzQNU0%2Fx7y5wM4DVN0gieCqGqSSy2sgicCfDA5rvz%2BlNZE%2FoBIZwJgBf9LyEnpLMTAfyvWdqQsGn2UlbibDq1xAgM3QVICOqVaEVhiYt%2B8R1%2BsVaomWCCcugnriu%2Fje9LnMf0c5f8Iv0fJwG1otJ1AfIInJRMXkJolOORq4lkzh7PMFCy%2B38DpkKM%2BnO0DP9Q9EvWTH%2FupXxBwojNi0TgB0aZPR2COAp6gHpzkW8fQONHxOxk6AZRGHRMqJhbaOI1wsTJ%2FxrokoJqcGxhg7wQoAnACWEL9bPmQ%2FQBOVM0RQMkP5kt0OldE2uvpZA2Sw%2BFInLbrT8N0Zzt2JdsS6ZrAk0EUy7Bn1%2FbxgdMSKH05QvWXwOlk4d%2FGzX4FmtDx9AXxcQJw8uYGoF03uOGQmn4VMA2YuHLhk5JklkrrID8VZECnRha8IFbL53wRpwruLdX1BEsL9f0STDVwOuyCd4y%2FBuDEcQNCvAROamNsJUkefJxiI2UqjkzDoXQcu67r9HWh%2FyWcw%2Bk%2BYKC0NNPhmUF4WNZkMRxrjdZh97jA6erw5UuTnLVQAB95z4BJWhtRd4wrzWEAKdA40Q2DeedEKIuSjPxm4Od9cQ0dHDiF7IdmbGianeh3ljhQMc8lAFJqGrGhag3J3JdZxzoxo9WuXbk26BKSMykPZgCcJOckUIKJzqAp29Hnew9D44RxAu0k9rJ1ne3sb%2BB02JmP9zwDixRIdPIHvvGXAjhpgvqUgwWck7CCJ9bn5DQduf00DvlVEeUgsBSOgrR%2FCyyt6xjAIB27Gyyud5ilHkDJZfQxoavYXQ2cvvvOvStvJ3B6G%2BAprtm%2Bz7bYpZNlOoETnJfNOg2nQIANOAwaJNEJ0NdnCZ6ggUKm5bRlGzyhXICnbEsle%2FhwTpzqBI70vTUI1IaP0%2BhP5%2FBBqlY0TDQxDQAVwCkcWl8E53DIE%2BOHjqcxnljPMWUKfTmlYpxl7qnUBEAjsCsXFfonuZoI1dQ2udqyrH4OkCHzsu0ApA2cDrmKHOdvkQgR48WgyYzCCaYIzuFCAI0TU3C4jLFE81O0Wbp9g5ugTXVntEwrILXIo%2BX1%2BMw6fSTgBN%2Bl4qtkkBT4Z%2Fgs2Y%2FJfkLiOotQdwCn1NgO01imN1GC3MLAn0DJhxjdU7j8oYETgIj8raQ5m6DQgR76bdASKfpPwAnvHwDlbrxft1nifTMZ8TIQwDnhoHX0oQx0Jh%2Fdl2sMgdMASqUPjNzRj1RP%2BK5PAZCQQiRBFFwmWA%2BtpesNnA4792F9Mnmyy5M%2F%2BMf%2BSgKnPOnERMWLUk6ccsVCv6vvOMAJZri52Y1oC0dd5CaISBaAI10CStj8Zt%2Fsh6M2gNKvATgBLMXpTmVc72WZfQYVMzXHrQAY1RdIIAoAb4Il2ZxrFAU0TthMbapbACamAbAGSvVjA6cvZei9fx8A1NQ4KVwfPgtnnBlXAAr3XyTgBFMvNJU0%2BQI00fwrM7C0l7rvtAkaQ9r0FmMKOarotPryfM%2BxaDHL9gI4u433TwPnMHHudBRNTVQDp8MueMf4a9jEZ%2FqFXKMy%2BkspGRQZRtMvc5ppzDinGcbOMudZHOpibarAieApARMifxXMIi1UPdB6PV5kdc91%2Bhjrsp2%2BDZ4IKHwloHLbJm84WxM4jRxwAECKYnOf2PcR%2Fp%2Fs30hlRO2uNDSiBTgWcPo0%2FbXke7TLd0u%2F%2ByW%2BV4GjfMcw3TkikP26h3x1OnTJFGtNI0ATxoLvwQ1gAKd7BkuPrnxEsBQlgZTaSPZr0IS192kAJWj9WQJIoQ%2FAKsoGToed%2BbA6iQswo8LDL%2FjkJ376FwWccmJiokKTgEm5mJBsY5MQgPK9Y0xQnurqCW6hEi%2Fq8Bi4iwUpky7C5KIFS%2FfRBhr%2FfgAkACf4EhgsuQ7mU4ApPANeH2thyPFDzUw1aYn7B99zHW5K%2BWS4KbRRnzHxonycCJzSCXC0rW3KfqQSOfRHGifzGEnVaPD0Ffwu%2FkbxGi2BUw0OSLNTakpAAvmiaJxuvSwCu2WwwexDoAGdfofzp0KO4Tvn9AoztYJ85pY5kMDtJC2j%2BxEcQG1k0hjIbDcjbKZ5b%2FY1cDr0yD%2F83zNwgtZycaDLJKDUXEYdGicf4rAOjXo52BmYY8yYKsUgqQImaaFEobJ7XT67VlOreeAPAAR9kxIs0S9oRx19BkwASNAWjRRFCYIU8i8CWfsuGWDBzAWwZHPX7D%2B8xglAQ6whivJYcFLRGV5CFHBKuoQ81MOvSZrqQqWAg9mO9%2B13jfUE99GGpu3DAEwESABOrLvMPgKnRwROTyJ9FIDSEwKnT9kedfRlu4HTYQc%2B3HOQfQLgyRkoTv7wz%2Fz1AE7JZ5QOiR%2FEi8IE%2FZhe%2FDg9pzc%2FABMzNCsjM%2Bq%2FHvZah3rr52lkjiikqKwdMF8l0rdtefqpYIBY5X0rVOBE%2BkUFfgvgKdsYaAj3%2FVUApwBHFTAhmoXAKUuZs2zWUimAUU1dt8X7k2BSZhoBS5tsDKpwSjRoktYptU2ZfFL3BKwEnFaLXjY%2FbylcynQpVwKnBIAETEDOWfJ3sS6ACHU1tSTpt1N9dbzZ4z5OOMhNBJ4m5oHKOvt%2BgHicIE9oBgcf2OAFK2kV8j4AkSgozA5c6C3YHySoGVlpYtNKOUFKihFNKfJTJZOUPCXLpPmwX5R9paLdwOmwC94x%2FprdCM6YfdMnUyZh%2BT9BCw7XAWvDnRB2JIrNTRQAm%2BS85Jhb8srZfUJccw%2B5HnvtFYhCcMoy2gr3AdTx2Qc%2BTfaMs2sy%2FhYOVfRdoukKpZ2qs4%2F35AAOQERNEYETNElOpOt8jgmOqHmCGS%2FTpmQQBvLPTdMeAjMmkKqpQNYM1%2Fsyh2Nf2PLBb7eZf4BjvOME0NWVBC4j9q%2Blq0hSFaB8FdxP2YeISmmUJmhiHWY7lrqH614CJ2RCIGCKy%2FXHCaLcbuC05Y3OZyr2WPfiHqxLSsuVqbuiPPnGz%2F7NUwClD4KOACVoCYCA7YDGsnjuux%2BTHXWZInKCFidiTtpFZNFaDSoCNKlGxelhVekI%2BS025XUEC9SiGCA1zPdl%2BKZkmO86%2FBcDDb5M9HFKv6ZhqosIO9xzezpLS7OENpCmAYbv38qEktUZeGgSckM08HBG7gqg7Cg%2BtVABnB4HQ2wx7VQ5pmvMuO%2BTUuUSGjwrhWMFCxjDKYemaWrUpglSoBB%2FS8SPSz%2BdCghxD2kDCJB4CSzhd7he%2By6SABNOlU6dsGSeD5LVTLHgfmicyPt1t%2FKBJUdYSbUAAAUNk8KBn2%2BmE3CeDuQm1KRs7UjOcSJZN3Dab8G7iKcZ8VvMvTb70uSbJmD00QcqN0htpOlvWTZRgKpX4h7GCNZe%2BFd%2BgNyZuR5jLUYbazPr0Q9%2FqPXaDG26%2B7ku03y8BE5VAVXpMQyIRE5pOoFcj1frMw5V9F3KkH1HyQks7eh3SH9G000H8YxWS44kgSY5kTuidWiZSoTrOj3IIXic9gFO0%2BQv8z582RD5vXj3iPZO4DS01BnlzYNZAidEfsMX6l44hI8r1tFlHUSY6rsPcuTIgoDcm49i7WXpNsroc7uB07aVwdQZlbh1QSORhwUEi9U8p6if%2FMzP%2Fe1TO6e5RHoQOqDRCc2OaGrLm9%2F3cnMtkUKYr8O5GJsDAZTMFFLrOjWF1bxOWTHvATjJngxHb0WsLEqqSJV479y0BjztXONG%2F3ac2r73bpjpSEMQEXS8VMc91wdnQ%2BE%2Bcth%2B5TyCxsnAZtBEpiyW4eYZdpraJgGmiLIbZjtxeFDjFMDJYAuyHFqeWs%2BoxsFeXUOCHRpcSgCH6vDu32c6AjvCgyQTqr%2B1r5ZNj%2B7H4mzghO%2BMDR%2BgSfUEUGmWRBtyuijmcAAnpE%2BgD0X6WzilAtMpJEswygGcCJ5MqqqEniZSFbC6tcq0PecBDxIGnQRHqYVM860BKJ3JQ1NQtZQNnLYteBf5FMaRTbtYp85yzCl0nlonU6QALGWUb6VPcc5LrI3QLiAF1IfpDIz2qA9zzuOx9sK%2FxQ7B9nHRuqz1GXPUGqf1AXbdXnIrmWtprseTk0ls2tQEZZ7GyXdk4khF0A2H67E26ZBsDiiANNTxtxcAyAAKjuCORhukl1MrdSgCzH2Ak%2BgR8p2DRzBpEmqfDv0BiJMaB2uHmMZFlaM0LeqDNeR%2B7LUP4jq%2FfBrWiE%2BuPIwoYQS8oI6IYWjUH6EfZQAolA2czl8hFtQaiz2z0Gtkv6Lqle1CZQCnP%2FXz3zwFULqPnDhZ0hEtfFiexIug0xmvT2hDZRLU0kdzXZohJp%2FIkv%2FJvh0%2BcTgJKjkzFqcSnVzA44HoBICl6ZAn8LTsB9mY1LxW9S7rUwWM3wLiy%2B%2BFmQ5%2BBHC%2BFBFmlhFVSB6n6FM6DtERmFUbjmFOjOvoOpgUZRdPZV%2FayHf1WeO0BkuDJTaBBwa%2BNlddNYpmhBtnv4gatcCRH2VnOK3SBQzglFGCplmAClIUC%2FqtAIA1J9vw2Sn%2BO%2Bh7ErmTBJam79YwQ0LzlMAJ9y8aODmdAv0peCk3FVmCSxsLngDSNNkZKK37dYIvfkuJoIcfU7YdcbdIwVCCCOwDh%2FsNnM5f8C76CYwXZzVgIlhmMoAzs%2Bo0C2c4vUh5nd9MG6cSweZGmnX8Jh6cCJCsZVCp%2FGXZF%2Fe4Luc6LJ8WtLU2o%2B41GnN4raHmobYyjGddlAGTLmBRZzScwJDnysLRuzp9p%2BYI80sfRY8uy9mP70L28AKM6DRuZ%2FDnmefYfxjm8K3ACZoIJgMu7xqgWW1luPA9mGSVrstJgecYgNbfIAq%2BUQ9ir0XE3EOUvmo769A44RD4IA7WuLBPPAhupwcAUaNP9xs4nb9K2OF%2FEeBQSVu9l8a%2BikwiynUKC1QCpz%2F3V%2F%2F%2B6cNHIfB4ab7wIjEZQfMOwKGJqZJX9qFOB2hs5Gl6OLvRy%2FSD%2F41TyphsVs86ykJtqD8Nmuh4twJMaKMfGx2TqibR2KKepGO4h358Z6QxgH%2BT8kGdzTzuLOSmVwdQAphAW8Ap%2BZ2SPRwq%2B5p6w2ZH52TyPZys1jT6VeNU74HojCagBEdyxpcfw4xqlN8ZgNMSeCZxm1XjCahgvlR6EfFSGSStiT3x%2B%2BAbURMX16TF6OeVoHpJrzDJPde0CxcNnEYKhVz8ZW7QRlBLapyoTrfGSfWRgqf025kUU7Q6ltbkpwDQkOfSpDdT8kwNnsx%2BDZzOX%2FAu%2BgkmIB8mXkV80dRbzL4251lL6YwDyjowtZeuY514gGwCobml5iHWYpTYLKWNiPYjaCae0kSDQ4tKrcXQQNC%2FJdZrlZ%2BEOe%2FTZBlfpWcJAa4zQgis%2BEBRnbbloyQH7vRXSk2QnbvdT7ATfkluO7%2BjoooVXYxDgjSsSd2RWrHqFE5QRuAkjZOB1MKv6YKA03jXeOcJlNZ9aBs4WWtd3zm0%2Bx4X2MMeBxh6FGs%2By7geR31RPgkTXfRBmXE%2F9un7AEuPPi519eEegBTKBk7nrxKYc0NxU%2FbR2SfNKtp4j%2FJvDgyQ7i4nf%2FlvfftULwsqP7%2FAmIBUB6KNSZrXoi5ghY200hRow5%2FRd76H047DSj3Y6DiYpwsvPFSFg78pBhVzFSVoUuTCqh33uHGlf5Q3LdssqfnBvXgGCw0AE0xyKHG9%2F9Fj1eOkV9vOZ0agkUn9gDZnv%2FKeAeABlDlFBxl0zRKbiFWJYF8qSRvFCDuTOMpMpzb4OkB0llof%2BCvAAZS%2BNLPPdWjuvPlLe5K%2BAitQwIzuBk25cAMMYEK%2FCUb0NEWhzeST0ComQKJ5llrGWIxpvo16guqaZ%2B9sGpl0gI%2BFH0R2F2aqC3kOX4xBwieAeX01YbjgMW%2Fd1DrhPY%2BchZSZ2iPBb7zbmbxUY6EmNMWBm1q7TARtB%2FLZntF4DZzOX%2FAu%2BgnyEqWWcgE2BrgQAAGRIzZJaXaVbHxRln5ojHFYBTCi9iHGLK5H1EagnmW0seZqrdaFNjbM0c5%2BzN8KkOhTl7xPGJOjHQ2CAJK8ihJAa3G2oVEhUBBIxFyeNAFJI5DuEFrLRRILkPTxJ1ozsH584nqUPIyxT99xqWWalASiIDCQOw4dwXaNE3KoCsjBxI%2B1Vs7vdnqfwBPriLJPlCvaWINBpOx7eA5gt15P0Q5gvO4HeIaD%2BL2Hz%2BICiMo6y7wCNKHewOn8VUKazmVewuVhWu8Wz0BDuOB2jPl88jf%2B7i%2BfjpeUpxa0MRFx8uGETBS8q057Ojd3ASZE4llDMvLp0AH2ykKdjYlqYjMxx6baM4ETABOBE0x2BUQxrNftKKdpxJFgO5IqhrYLAPD98B%2BAOQ7l4goABYdM99UsyE4Aiyg09zPRH3KbhcZpUOiHzd8mSNHtA62qD5eBkQETy1TLW%2BOEPiyUBC1ceBDZOJ1B7fjpPi3iesGOYBnRK2UhhxPiwvxUkxcHIBz%2BPPDdoeP3xwMgASQBLEHjOOoJpPm9cVL2lbn3MHkHqIr6RQMnpTiY0UA0bWZkUK0z4CDB8iwFlAyYVN4c7xUkdvIBmakUnFIBJU7eZ7R2uWmsNXsNnM5f8C76CeZXSx8f%2BfrMw0ttY33T6TRPqdRYS9VPV4DSxjzmQTU1D6jrEAtglGW2DapYRh9KmXH03%2FvCgcdWAPtK1vQsuicANZKow4cHQMkpUFifNB5i9UayYpE7qsyLQGv2YWw%2Fi3WEQCAurilo03ox6wBYBkeVlsDcTguqgiMQYO4DnETiKTLPmgh4kn3q4ApLiLX6EyxjDQkuoHCNEIgOP6d4jq4vuba6vqsPQGmst07f5Zyndb2New2czl8lAJx27ZXDjSM1ydhbAZxsqcE7xPs7%2BTvf%2Bs4pncC5QUqjgMGtCamNnBdMeaU%2BJyjUwlMrohw6ZzUlmLx2rhucOiNHkQgIh%2FMdGZ51if9igihQDsx7N%2BhgawJCq4Fhxpp1qYUB%2BsA79C40TQ6hj7ZD52toPcESksEimS%2FrwRzKE0NMiGyjhKlOPlUCSY4IGe0QPvrxjP0Uqs%2FCrjrkSmdPRM8UdthRz6gZgCuaDYapQCG%2FbteSwClNULK729dCp2D8TtvjQdqJhY0LHBc8LXS1%2FgQLeizaAEwESSxLO09Bvn%2BRwAlj1nbsygxshmPeyzQRAk5439I44R27bcCkvlvznZd3rEU1x0P63QHY%2B%2BTtk7a1d%2BNEnqfxBk7nL3gX%2FQTN4%2FYpxEa6qE9TOeaffCLCoRT5IOkjIUoTteVoijY0KzCvASQ9TVMc2tY%2BuA8lNtAH0E4N94rQMsQBhuY9mnF0D%2FO2AqeFC0UMSljJ3Ccy2EkQO5PuOi%2BoIscIsDJymWzfYMhGWhSAJ6ZMEWM2SoxxrBEyRYWmLMon2a517BUyzUmjJFOfwNiiL%2B8fmjl8M3CKgafDsN4%2Ftf08LM18dj44AxAtg3HSzSPeNYCTgnPC1ylcA6b7Q7pBDHcItK2d%2B5TaJgfgnFc2cDp%2FlcA8PrNXpgLCVjDgFOypBk7V9H7yrX%2F4z0%2BH%2BYCbsl4g1MZjQqZ9vfpB4T7acFQ0NQFAk3PpOOGgtSM43SjbtVmclW%2FO4bzKhp33CmgyUDKRZW3DpFd5dFgHEaG5dNJEgn4AJww4AKczEWCICisRYa8FaOIG6TKzIy%2F64h5Swqx5RNjOk5Ht9GgrrLQ4ehbzXO2HvxlIzcwEC4AE0rNaInIGUTU2ddIhFQsWVekuVbe%2FhR0S6bC6I8rDTqx0%2FAZgikWcmsiQmzWSOj1Ocy5VxDgJpfq4qpLvpdoYfRcNnBbRh6a%2FyFBrR%2FqcxEQicDIwTs2StYzWOhlMXbc%2FR8gYdZ2aM58Wo4G08OOzNHfqYLI2f6LdwOn8Be%2Bin%2FBYWgBvRt8so4Xx7hGFI7ZhkOcBQIlEb92GdgUHV2p1M%2FhG4BraiDSPZz8DeGCq4WFFdfhG0XzDC0E%2B8lG17%2BlwpagpWtIvFffET5TpiLj2zvainrn2TPlytpx0MFgr5PSsiDEcvAGg5ACNA7nqMOXZp8kmQEbApvlv3Ltg4IRxNw9gkwTUATo6lMlUD19J8%2BWRSNk0MFGKSFl9WIfXtCZOGF%2F9ItGHdyuuvCVP3vsrzjw808Dp%2FFUC79ImagZ2eO9MX8W5p17L%2FVIHZkdYn%2Fyj7%2FyL05p3i2SXfFGI8pCz4rhCDaiJmX3RxgStgEn0BTIxWWuC%2Bpig8FXakSuMVPb0bRJlPa8ktRxM4O5n2gJR12uhmWakRd0mp7iPyANoeN6L38QIliSchEnJ0WCuAzC9FiHEKgGi4gRBx2D4wLhPGieplPNa1XEas81%2FAqeQ6RkAZVAlH6fHjJqZl9hhRadPxtgsAZzEhi2HejNk2%2FSJfkf4zLBYMWIzFDpVkDVkFos1TAQGSNYu4TSsEyNMt3JYJDiiI%2Buso0%2F2ePWhjgX2onycoHEaPFfFH04MweIOsx%2FcAE5Fs1i1jlXrxHebp%2B4b%2BZ6VBFjmCuajun6dUZc2caoEKFW57G%2FgdP5yd%2FFPeLwsU3MozL7y0UEzgk0SjMNkG0b5xt1BpFf7cbA4S6gKE309BIpcdfpDzqg7bKYLF4BYX3DYGSzj1DAtrxp84sTXiyTYgwZmEg9zHTZ4ogYq04pg7UF6kcztiMTG8Ju9%2F1BrHdiw6fQedfexjD6AxekblT5STqpNfyn3XayPE0bemXdeeK9mupYATqFxYj7QjMQa0VjR%2Fsqbd4emEYc0kQ2bMy%2BjqRdtcb5hHYUrCfYvcHoNV5Os1%2F4GTuevEwBOMktr%2F5yZJZx0etJOgI%2BtKhuwb57801%2F5VfOh0R8DH6BdTEQQrt0jKVcJjV2Fy8LpWgkHZV5iPp3SdjJCqI2dpX7yMs0M43jZTpaoCZrgKM11mLAESwmacB95gGxDX2hJim3d%2FdhAAYxgmqNPzvDHUTRY7ePAS4CEOi44hgM0Qb3qPnxP2vVD%2BN4wZedPlXUsJPYHIImZw4pJ%2BzDlOvrh44STGaMXBZB2lnkPfEQk3SMJmzllkoivcI5AzY6XjQHgVCLmlSEhW3LM4BkAJ0V5hHp9HeGRKneeGjOCg8AJAMlAaZTqB3iCqfAigRMDCMb%2FqTLYYrMfbQBh%2B7QNk%2BzKPGsgRTPF2DBUVzb3eOeFhBX%2Fknw6QqOQYAmgVBqG7M%2ByNU7nL3g%2FCE%2FMsZTjaLKR8OsBQMFsA1Z%2BbJQAUF8J0PTlqKMPAOorb84S80OpmhBdmQmjedh07suZxsncTspjhgMgNtKH9JdE3Vx80LDX9CwGSg7eMds4nsGaBk6812LDV11tlgiYyLpzOTr32rIsyYtjrcYaAcCE7%2Fl%2BZKZQElu1Ud5Lbiqszwtn8wRKmF%2FWNlWz3UWZ6jzuxK5e1g9T0OjN8yCGfWxoG9M06zxnX03gRCfx2FPw8b4rhpPMxbEij4aJ9r2IBHdgEywnz2s3cDp%2FlQBw8t5pHi61J1eXiU3nvillA9on3%2Fln%2F%2FJUJ%2B55%2BibCzZPCvdQyDZ4ncz1B84STDU7RCZbgh0NiNoOn4Y8TC0D8zZkcU5olAyjUMWlFOwAT3uokw7Y2JZZoc4O6VrQj8ruRpgQmpihL3aGa0C4xMmFoSmZ0gjQnT7lYvILFgguJSmidoIJF8k4sKEypEMBpra6eG6hPYfje1xVWDP%2BDBeEZzJ0mP9M9aZwCOCVosoZpkZdoAKfUKGWy2uEjlqa7MQiQFiCTIM8yTI2JpJkaIhMlw4GTwQAETdIsWcPk0t%2BTMiWHyAyHBY8IfS3ob6H6DwJwOn8qCTgRFNvHzfQEBtGj%2F%2BZI3gkTMsaik3l6bHqcYm7ZKXY4x8KXhQ6h8iFz2cBpy1t6MZ4BcHKKBpa%2BXheQkgZKFw4%2BNfuA6iXIhcE1Cn6hg3AeZl2HxgkRuQo2UXQuDrROjSUwtsxnx4Ce1EJhTfPahnXN65vXP2hQ8AwTX6dmiese61rf5oFBc4HAKdOHfBDASYAu04tkShG0AZzsYC4trfyb5D%2Fl6D71De6mC6Aj2GfUQV5MYVU0TtBAoQ0A7TqAk%2FbdufcCeZ3VkAddBYBTRoMvygKm3O%2F9CwFMfp%2Fex8a7RbqykPHataS6l4gaQm4IjjpHENV7DqbKqHT0IVodUeqI8rzozxqIJh4VSBUzNc2uc78sxKYGTjHeoIwgmS2xSeQYRCYA1AGcvv3Lv3K6CKeHzjk%2B8LUxpwgdw2mbVmis6umECFt8pgEYAKpEgj2LSYv7mPhAcIsrE2Iq349s63JCtLmjRHDED5hRG9NEZgoFRqCYC8MRKaVNwrD0u5ETZfJe5AZfN%2F8l6aYAHgbcmoyT35UgDouIVdf6%2FuiXOVELDO37BYTI5i95qrQTZYC%2BYqYbJrr0daomPJzITL5mMjYTsVVSPiJqq9mHul0aPSacLPn9FBig9%2Bvvh%2Ffu76%2Bw6QwaSPI1RvQkIZvrMI26%2FqIAJ8hpnLgNmvPUPU7heSq3PAE6by1kO3Mm4hkBJ5mSrXGSo%2F001bnewOmil9zD%2FfsATr4HdTcAACAASURBVNYyYMOkjxNLEelN%2F6fb3MBSYbHUhObXqdpRcTrJZQJ%2Bpoy2CsBEdwr268KBdvo2nTXVVdOdD6xY33TVZLbm0ZNPanU%2FuBGm6J2uCrHpSOMEsAS%2FHCWvdRtWDAG9x5wHBErU1iZoQpQ1Dshp9lY034sDnCBDp%2BVSpgknVY%2FUXW9kdCWCjRCdm3Q1LDP6l3yEK5obrKUy0U3qHEaCZzqeYaqLti03OASOPStNr76HPQ0yHg756Z8J4GpfTWsC8Qw0ncoKUctZh%2FYL6xeCGi7yU9OV1QwmM1%2BoDiQICKJvU5rqKomp91AqHmLcyXVI0fxI2I36yd%2F7B%2F%2Fk1CH1JlPEYg8Qwg3Tfi21pDZCIbNwfJVzeAmdT96hkecuTzxDNUazkkxKUpMhw7RNTFLR%2BoUO4rN0uB28HvEysTiZQGxJlbAkFZP2RBs5zEcK482NfWzws4%2FgjiBOSRxRp4bJwA%2BAg47u8sciSOI1ARPa8s3SPWnDxLtCvyH6DE1%2BLGrK6JQtbdMwd9IxPJ3DUY57EcYbUQDOwwY5jlxshZfFTm%2BOdhk5%2FGhOxPfNE2O28R0NnAAuB6utIytz0aZmjPmSRPmvUrT%2Fy75PKJeLNtVtmcyYJEzt4ysmyPD%2FKAuPtI0xgXwSwUmcE0sRoK6jxKFEfncFKIWsBKSyP330GjhteUsvxjPY%2BJzncmyczHuZdATeUKNPfHDOD6eS%2FjTsS9%2BavL%2BgI8gDF%2FOYFf4nRuaGVnqQEqePEwJ00FcBFXxsGKST69ky71oG8OQ9zI9rqyhS7hkZQeoIYrQBnOzXSZePoRFzPjZpxjAPTH8wyliL8J3W%2FS%2BKxgnrvkmUSV3DS%2BTJiKh0%2FdXQXDgC%2B0xpuWapqHD5NtUS2kb2MZehaHWshNCeJSCsSHQloHYdB9q1fy72hF0%2Bu%2FBrpktLZhhZ17F24R4O3hf5menK5C8mItbMvQqtbWpvMa%2FmfmmuMjmJm9B2ZAJIS1c1TZ%2F80jf%2F8ekgTiQ4ES8NTgI0eWVYulhqZVogc3jWlRdpZukWHUHJ2p0s2PhB6%2FQENXUBJ0o6afE7JFnhVUzKFS8S2wEaEMkC8CZtjQDR0N6U%2FsFDxVw%2BAFEi7%2BQmT%2FCizf5xAgA6Wie4I7DzwlL6CQITFFV6hFGPAQv1t5Gqo2YcOaMw%2F6mJmDxJ4QA%2BqAjM5zQd7Z%2Bl%2BRNaPMhBjpUAUABOYvgdWclLu54sxNRr8jqpazVZropQLzWMDnm2xtH9mET0g8rkkgyljt9iNuNFPe4BOL4IwAnj01FEPnWzPQIa5mncGe7hH7YwfxJMAUBJrYsNUdFRjphSmPkyiEH3Gjhd5JJ72H8bGgSx9YtQdV1qQxU%2FGNabBQccOcaSC65kRuBBkevUkpAYh8B1Pwkwc5OI5XjWk7vJVAR4hlrxwtd0ljZGJ2%2BsD%2FgOiiw02SvKWtc9Aqd054CWwq4e9JctKb4wL3B4k5Zeh2i0seGrH4dr9ZnTacEinntWjWSGCfI9pNNKPyCUSKUFrUjtwzNb6Qj2GR3DV5JkujM6G36T0EQ5yARabJF%2FlqjcZE4ffRmxizWWOUGp%2BVEew9me%2FQBPAwRjf4JSAnL1QR8llBYEpqZ9mAEt8i2TJnEEu8T3G8zl9GkVWat8W1PrCZeeqON9XuQHOGMkpHdWk2Sqr4nq8R2Ru7SScpsPcZByJ03GoNugJUyA%2FuQXf%2Bnbp8O2jAcZXv2SwuG52GdyX7NGO%2FFvMsIyYo5AKe3oJV0IQyvTlg7kt%2BRNyHQFI%2Fxvpi%2BYk1MszOP0hQmanDvop0kxT10oxTM1mXcnB5W0OdzQEwwqNQGcr5W6wKkKUCfSNBkc1cgYeDMvke8RUGFTxUaZpdjNU0VKm6jy6w2%2BjkGRMKkfZkSNImfWlA6V%2BLLSPIBPxDnXRuqDko9NzMZKyIkTjUk5R87AHfcARMkJk5Oj1tnHk6RMdTQpZt4s589imT5azp%2BFRfBFAE4Yn4uTN94vFxkl9KwnczgIOrUCbN5sZ7Z7tWULh8w%2FLqCJgIlRdWZjn6CqgdNFLrmH%2FbexPpE7bfjJ1XqJ2gUfHHxNRl62mV9zEC4mVxye8YGLvo95%2BCLnU9aVyw78P3KPGOSXCZgqg7jrXJczJHsyhOsAVtv4PpmcswhrEWYBz%2FixLjttDIFTUiVUygSkkQEdwWJT5zxLbX3d7F8w4FSDiGagkbRPvAef2dgn1mSiyyAjE4xGEFS81%2Br878AABwPUewbCdCVJf7EBhg1EEzRV95cR1DIig6erjMlWaalJJcWo08cV%2B64yiVzkZwRUlOAKkKwKi2SwBUjMwtFpZAAo%2BUpr7lLtqVBGKEp6llevnPzFv%2FatU9uXBRhkKvNmTY4nhMXmP462OSbcZ5RXHRCdoHamXBG1PjdyfyHnQSJ9vWjscd%2BgqL6AMT1zYuIe%2Fg363KTPkvyvDKAEAAiooo9mMC82ZcN3ZnEDALQF8JRywBoccyJ5IcEzOAVh8GMDZUZsgCRunurDwql7NzJqRkBS%2BZtKapp8qf9%2Fe%2Bfzak92VfG%2Bpps2mu6k28YYSZyqIAgNZqCiImagaAYBNc4yEMSJQkgmNohICCIGEYkZGAeKAyc6ceLIkX%2BPP0Ki0aT9etZee529T737be599a4v71vrNq9vVd1b7%2Fvqc6rO2WefvdfG9SzlVdr%2BVGNPwxTfY2Xxu3XXVJBTlcsh2iYDdJYDaQaojFEs0cJwUpxEj5mY2xm7gGVPGdWs1A6DL99TZ0rHnorhFOV%2B0mBG56OlZC0nzyro4ztMUWUZBUk7wPUeldD1PraxfHHHSEpDilpOVdLGhtNjdrkP%2B2%2FjOetJJhFgnUklfK9EE3lT1LfI%2B8uOurzB2OcEjEv22%2B2oOABvNcInRh%2FTS6so4PxOGZYxhiwKymHA9ULY2mfcDb1YLX1eSyFaBkkvF7NuU28KMgSLp4LeCngtcA0RppE6UhEeAS9vLjP1z56KxyliJVuCUQ%2B4h9dJwfiIM1JsLIPtGSd7bhttqmSAemdCwCzhlctlUTIHcWKIDVOwfR7T8hPjyihcyizwzAoe%2FLu4qT6vsmtcreGKjbyfFMxmCTYYJY%2F3wthKLUfZKawDqhJX76Y9g2eDiu9ZfkvjaCyNakxNlXgIXMuzmcvSp7%2F%2B%2B395hgdXLtLQ4xhAe%2BFeuXy5VsgMj3rnuvl0C%2Bd3uqQ%2FjAX8FwN6LsHV9vqH4zheWpusbBPOoPpxGA8wiqimW6q5cWyjrvtfoemkGKHsfFIoMzw8U617KHJvDDzVJepVwdHZYHCNQTIDiOMdnWK8szSH9tFQM900t2fwWl6vOroZg5BLnlsNFhldIcg2eUrBluq2cRwqx3Ctp3eOlcrzpbRX0s4%2F7iVmyKWIHkX2SlRPInv%2FHjX1OLtgaZj0nuU2blpo0PD4%2F4Y37il4nGCE9uXjc5XPKTCK2n80nFBWY4qKZhFgiIny2Pun93YVvKTRiWPdeLLh9Hgd7kP%2Fy3jm7gZbK%2FgaXurMKs4g3Qhj0KCVA1opckuZ%2B%2BUqAC5v%2FvT4azbNMAnGd4zJ5aZvYT%2BkrD2WXGGfXAXDsd0nXfJQoxuhyDAGIhbv1bYGK0783o3%2BIZb2R38SQspKyIEB1fpqfF%2FL4bMe6TCcYHhoXzE6XA1hOMmMd%2FoOXKpDu8UkerTta6Od4z1WJIbkQwRsM2aWos%2BMiVSCCbZnsk58zmQTcNcyp%2BSBzgkqYxlUk%2F2Y%2FOdy0wzhyH16E9NgiqXaVV5lZknm0lR4N7OqiFYVYmUhjyNMA%2Ftoz8d8TSNJItjSQotY7KwZmsvYs4ZpLofrPmc5rlUZfimrNT47%2FcXf%2FvOzXvsN2zCkqvq7REq6S5Ypk3Db1qwmH9RwD%2Fftqs4tldWlBAb%2ByPlDRVZ6ZNK9lg%2BngPA4rUgMPprJaL3160NSYLsei88iPTez%2Fab3LDqdbQFdxg7VT0HsxwEWHgl4G2QgyTUfx4bhhIwKumVH%2BmJ6eJh6qsBPbFeRWBzHa6kxpTiFxWCltw1fjwZtDIuxig9Tc2RWJE9v17YkDdyZMNDQ2bFUClKb%2BR77uQ3jCevo8DgFu%2Fx98z29Z1G7ML1j6CCehOE02rQ6nVyq2Mjwa7lZFc%2FfRO2pKArMGkZLMeURCAxjLAqd4kGehZKH0ZlL3%2FyMxVBtOD1ml%2Fuw%2Fza8uHcqJfR4k9jOMicZfIrEgkg0iZiejPFpSSfolzUB65OuKV0QRlL%2BNIMJ06X4vj6H6dS%2BN%2BykWZya5YcYkB6ZXtHH0GON39FrVlaCQ5Xr0rH%2FTJkSeCIg8RKGVIZV8J376CMinGEKbsLYyAloGhv67OkYTlzyZ2JRCj7HNo3lCtLuMjEVF8n4SaS%2FV7wkOK1i1BKm5sQ2fkJg9Jv0mChWKrwqrQB8rvLE57nCFGV00tsVjpOUmZDMCowqlvxCH6YJMfs0eTnlAcUY8pgvhr2wP1WJK9ZNRPZ%2F9sFhOGHFhmFA76UIr3t%2FitsqdOhLX%2F2nZ7G0lI2EbVi4TIlUEODzAwFpPOmhzJnM8tDWQ4qHkH9AqTZvj2E%2FDJyQOVB8Vbvo8AwRDALYWSl6rRjNytFVQRr7iAOIjBLVsUsvGZfOUnQu47SqnEIZH0vaKAyVcR3oyFSiY75HjTMaS8igUSDgthgwgz8r8D2KxWbgpTrC7XvXd8FnwS4bUqVDlqW4%2FBy95LkyNP3G0ucsJsk4JoqCSiC0siowwKPjm55HcJvZC3Tliyu%2Bgxivp2A4yQs648bmUnLGiqUnEp9%2FKLKjmFbO7RH0mcf6Npal%2BwP77Wkw6Z624YQkDdwnL9IL%2FRzViLsqMYOsqfbPpRJ8rpgeCUwqG3cWNJ%2BZmpS3iAmWJmCbd8ySOAHjJKxr2gix%2Bmt%2BzrCkecbc5sQs58fxjn4SSSHIAJ6F4WeWsEoz8TMWHX5OJvP87H%2FidzJzNTNYUytPMUCxzJWfPRXDKcpcZVIR3memIjSBInu84iZRxaEEiFnV4ZxQMZ6PKHMWshOUoghNwNABrG0cr1WIcgDMmnoz0Wr0aXH%2FNQ26sR3eLwSOp1YiDakh0JoVRRQnFBPj5uBQPDPa8zFfESM8Pfnl0Y%2Bs5jlxhRPl3VSCVxiLlOFr4kCleDmJ1qs6feHL%2F%2FgMy0qhUyMF6XGjImsNmVeVJjkG9shwq6K2SDvFL14UT%2FNhjIcyl4DuoGydZD7ey18VBlNq3cwisxH8mPo34RZUoVnOaKJu2vyhIRUFaPMzxDBpqY%2BzLRl0Y6Dvht443gXJIhwy4S3HxzEEiUe2DJZsInumMmUi9XQs4%2BjYOVkFupuZURFZb5FN%2BL7gVp1ccpyzRW6AaXR26aViX0rvkryB6vhw3dQSQpyXqnFXId8oA5IZfmAGkVAaTEO3I1NQeYyfIf0V2Yg16y3jOBhveKJTfAqGE4xjLVtoqeKVXMKYx6OoK1LNWfUeKtB41z6Kt8Kg0j7iMr4NQ3%2FO1srzxDqLnARg2x6nx%2BxyH%2FbfxrOn1OaZ9gzdtR6InRmw8EzBwxAxkTGB1TsntK%2B1%2FZhcZZHZWj7ISVc7rn5h7XurX2H%2FzFcYV9EfVp8Yvc48xuMYbDBYd925KZCbxXyV4Sz5F7xDFPcbKVfyDWQuw3BKGRMMtAxnkOAwRYch3liaatTReyqGEyZWMo4jLjIFiWEsh6hiGs%2BxYjE81b0GGvZfn0v%2B9GRjyR8vGEmq9Rfxu6OvRt2%2F0lXk59JlnA6ADNfoeo3R142%2BaasCD29XPxYG1PiJlaVY%2Fm0rSm1fMgCPazaNpeSewdwkX7aZzDCwtuOkxk9NPjSWxrXjWWjXe3rnS%2F%2FwLJaacskJsRmI0YmBPCPJ58C%2BFK%2BlINm5QO7ndUHbB%2FF5%2B7AMWWCWAWec3VD3aM52Um4gjKNmNKng7Hrsv2%2BSdkrDiUbTfEfl69yHAN4br%2FOztY7ZXYFPpn%2B%2BEpooD%2F2CB08FemummLpSbQaJ7%2FxH6nUs9fsgfNaMKIitofO79AXDCSUmVPA0hACzFIHUdSEMiPtwLl3J0EjPY%2FfaYDuWAKLt9V6GM8vq8DiWAy59YYYR8WGIDcvlz%2FU948fGZ1G4cxhJKKOh7Tez6j33%2BTnaXYYTPXxatluLUctw%2BrevjVJHKTI331N8DqnUtxKZg%2Ffjw2%2B99tIPfN9rw8h97aWPfv%2BHln0cj8%2FGd1AAOuIrIs1cujxIiR41ydo%2BZr%2FU9Uq5j7mtY6wh%2BWJ6nEbQdfNQyov56pgYlUeTQdgwnNDnfnAY3IqPnF6ImXAA4wK6P5i48geTMb7nBLcdg3F16QvLFlPrZgn%2B7jXUuFSD9kW7asCOwRzPGQbyHMSxXZpu1cah79buAYRPYEBSBpoMJZR46YaTSoiEeriueQbr5sRTsU%2FjO%2FCOzNIkXVlbcgSjRI2kCbDE9NCviJWEkYxMxYiJ1PZo6%2FA00oCGUQUvNYwjtD236bmex%2FIzDOIhlhzLnu%2F9rlUIhodo4k%2FPijyWWK2YhlPGWr0f8VRpOKl6B0qcwXB6Ki8YTnK29MoMGPdU5ipisa7I%2FmNYyzAYWxLX6Xe%2F8HfD48SHEg%2Bt0qy73Ho8nGk09cA8RJpDS%2BmyV81mtuqemPqEqz69FTCcpK5MvagUhpzb0JcaHqfI3MifcTPNbR2LTA5%2Bfgu9DjwUEdc0luaQLbHdfhMPQS7bremMqc4ahmlT3x378Og99AsNT4bkBpFNee9gnIov3mOpbvHepecuDZGIcRqGyTXS%2BohxgnIyVXSHYbl9H5xwHPdeZD8osE%2Fr1ciEWI69Gx3z1BHp98Foa3jK1O5YMrj01de7ZTD1%2BLFpUI0OCfFM6OCwVMelOeiz1JKdPo8M1bwmZahq%2Fb2CFauAa3j4UGBbS6RhsNL796%2FDqMI7AjIf%2BoVBqddQ%2B8hbr4dRGMdQGmRufyDuFypX80fbX%2Ft6FnPVZ4gtnFIf706tL%2Bp8cR%2Ftg6LWWlJ66Ot6rN%2BH2Sy8lJQD0VLveM%2BYE7zHZ5GQMDxO6fFneYeMd8nwCZZ54PHu8ZfGXV8Z0LGrDKfMkqM4YM%2BYyyDzPI77ll4PVRLAAK7qB1kZIQd2abxRI48ab2hnabzpHkC%2FPwVntVw3lueixFXEPZUILZ6lu0bj1oh8XwxyUxgylMtTJHIKSOb%2B%2BOwmhlPq60V220gi6h5HqFIrThKeJ3iX4FGahdbbfv8M91No50GzcKkjygoPFIIe9UXHu1ZG5lJTGkwVIkMDCg6REBmdpXO4VIeluShvFpl%2BLN78VF6Ib9oWTw9jaqOdd5XhFGEolREf8cW%2F%2Bc7fPJOYX2SBZDYDjaX1puyzHDzAMKJg3V760hKZDKRFEl3LeuNLmH2fq%2BWlshX6DJpMEWQI7aEWcBiu4dB1UkDisDavsDAvvR48ADOLLgMaZ6rx6OiwTKfadhQ0o4gcl%2Bea6Fnbhiv%2BoV9o6FlUNl2ZvcCseOI7Kj2jzBcZIPN4GlbXSOtjRg3PUsSBRcYZljcpDKhj2EcQ6JS%2FyLRRLmetKaX4Tgh1tvaNrJ2IqYCnqe4HzHIvfdFwymDYFjSIeLYloWHsM6sOCQCcJdJrC9d6vmN%2FbMOjEOv%2FykZSaqyuaabOjqwZGKyK14vt8qIhjoF1Fm%2FjPcWSIlSNUXwU3j9WcR9lQnAsyoXk9njH0i6XDNoPJi7ItsyBUyV7vhm6QlmsOvW9uM%2FjKmj9ohpOkfIcP8OL2VKedSzU%2F7GEMwYsGEeMb%2BJ7qdBTqR7HIjYyQiaaLlss8XMJecZKXtMvt8QTZi1nBvNynJl00a5RRWKtzoD9WRQcVRKyffEOw2kWLNfxlIbBmKCsuSk6O%2FoL9KMlPsuA6jCcpiZdGlG47uSh8QmGU4QZRKp%2BesszVT%2F0jxSGMLZvoTtEYeLxEwHa63vU32sJJ9R%2Fkw7c3Xd9pmoeswIFGGc1D9Znzf3R38HIqvicVvsOHqgZX8z7UTIEs6JEyiFIhkDZdpf2oY%2F9PcY4VcayknDWuCeMJ5d7GktBoCYVp09%2F9q%2BeRc0yZHhExD%2BzObp8%2FpTVP3PTai39EmCM28m189hML5RienIfM%2FFFWVnBXqOjlSaOvFIYGDFrjbIf8a596kzws9voS%2BBBprGZqadtG8cQO6bPlUbbvXcyTjljTNX2WxhOMEY32kG6kWBA9Zsr%2BIXAWRmfs0RNHsfgfo20PmYuYUSmTENJNlQ1dnQguAe32ZTTaIoMSKY%2F4zsw3Hr7VrvT%2BONSAVXhL31Rz2oYTvHOBIC7%2Bzg%2BKqCn4CWMpghsbR7b6bnFkvdoV%2Fy9%2BNvntaVRyOMUZpO0xpTVUPo2vGm5raXHW8yScS%2BHwnUGusNDyP06FkrX43PM4DjLzSLQim%2FBoNpmxJjY9NqK220Opkhzhsfp0lZ6Gt%2FDdFLpzj21%2F5WIkatYOg6yWZ0glkmybFNm1XHJpEo7bdOiJWobBpVinJAunbGPl9AqyZcqJqzSFKv8yzB0Y2mfIRMhJqxQih5WgeOY5SOBJ9qY78tPHkN8qURmu8AsU%2FWb%2BGyKhM7rhbZOMx5nQDSet2E4SUqFsa6ccMxjSh4ax2%2BhO4T2DUXwKUa86mJRN4ueKJZpyp8726NPDEfGqxHQynCLvnLQ9nM1Bp%2FPeNdtbO6moDAMJ6x4VJFlyhIobITC2Nx%2FKq%2Fw4k%2BNs5ZZp%2BzlDJdAn3vpS8%2FCXNJGHPQv%2F%2FZXQsdJsvbxrhIAOZNZHs6Y2XCGg59rHtDuaZrSQS2YmMcoAqmsup6uvcS5pOdkun7DHcyB8tyxW%2BhLYFAsefsUcWsK0%2BG9y%2F2q57TWduKavWZNY%2BnzBoYTGl4pmlPBfPCrDITM7Bo3VRgkaXTMcjQyQrIWHQb3awZvzKijSDKWHBbjkvuYWauj7MZEGVFlYOhzBLlHW8%2F2RifC%2FVj%2ByePXGHjocGQ0zSzFaURxFkch0dHZZ126MKBSLZ5egvQW5DYGzalYi%2BzDaURJCLUUbcv4Y7r2so8g26izeBt1XtyHFefIuLwptSHJDXjUEIc23OG93qIGUWVccUDFADvc5pmyHBpqMRscy8ZxjHIiIUA79l9Ew6m01BAzh%2F6SsXNhUOU7PJlRrDsyrbAsQhFiqj9vf1ifkwVg2f%2FinVpt%2FP06fk2%2FHJ7%2FJfC3AsV7UCzuXdTYjBiSGKjhNeRAPpN44F2KDKZtG2e9zXYc9wD%2BbY45lW0Y4rNRmX49jj50MRybodgNx8hAy8kGBZBLJHnqSaXO3y3GhQi8PiNMrGVafRaCuxl8PWuehuOi9JtULB6D%2FFw1kEp8ZoqtqzPfboYTzuoep55ARJmdWdA39J0Q15ylbbA%2FY5yfjuHUdZx6KAT6rFjNCM8%2FJ7GXvrYTC9xfp5%2F7zJ9N5XAqhsLKzAcUBpJqJZ3L5mDk2aX%2Ffnqb5HXiaTNdNnvOyN7ADLzFtMy4l7bMIZecSgxEeY9Z6oPLACz9gXgeeioe%2BoUOqx7u9pDnAx8PRXYIJT3QJAg2Lnd1hA%2F9d4KxbhiyTL5pneNG0pKYRM16CRrWKcyyNHC9D%2B%2FeNS5u3E%2FwwK2lFfo%2Btym8ugbi4QbXsdCiSr0pDLb8W9d2jvI5iOFKb8Y1Bp5c3N1omsdS20afSWcnlla23oGmwYN7RLpkJXtB5XjNYKSxNQ1BTQBihlkTAhqE37rZvSwF%2FIi3gQct9HVKGV9xNlh23MbKIW5uHVQ5mJZAKkRRKYg6Fa5Di41iqS%2Bk4QSvZRg6tdS7xs7xMwykrIFVJTbkBdi%2B97pwXS6mtmk8XW04zQw6ZRzXyoCSeCLJJD3X2zgSZuvWioBUzdHeMJQlhtvvB4VPxLgT2YYMnA7V65RriFIw4flA%2FOcwECN5Iw1FTGLkaUvpHPDGwKbVBxWj3%2B5rJeKaAfTSfjliIcPBcFdIVEu38RmWaaUUfsdILgXxqI0GwymXoHpa%2Fbb6ABwNkRUGkyk9TiFd0fdzO0QeW6IBQ0lq9SOSwuLzp2M4hXL4DIPoIq00lrRqge9d%2BjqbVfcTv%2F4nz6ImS9yctDoBrHSLUsNpznRyVpM36jV2kzrHri0iL5NyY0PVNjQj2tJGF8HE8VjqUF23nLXmzFVlQGI2m%2Bud2L6FMJeK7Kpz08OvjiDWhyODYmQfblzpwbcfmzPIawzRy5oe0hrLUpFuoM2SEZdIi2fMIvt%2BGqFRC%2BsKQxRu69AGCf0avlc9wNxPg70yfEpbq1yktcYsja9qY3k0aECr%2FMs1rvgZGzCwMkbg%2Be8oU%2FRq1n0Kz0BMOuj2pqeAg2CUqci4kXD5Ns0wzubrmmTkk3sZhdoONz2E3a5gf9kdMjxt417kUgkNwYivwXsuE9Ho5THcS3zOqubetgbfjDNI%2FZcuOvutdoxFwVke5EV7zbi4jJHT8m%2FpxHE5WIKFkXkraRL1xREnU%2F0yPZ7sk6eG2yyy2z67ohtR7Gm8TxmCJlOQE9yIlUwtHBpGJaUxs0VzKSQmY9nOeAar%2FYf3O9s82n387sg%2BTGmGuY1SM5vj8qitRYZ7wWEaVejvYglxTvg4AYkfJBXFOzO3bzEuoG1oIFcWbiwrNm%2BjdJXY5n25bC28y2zsl8Pw0eT27Htbnqq0%2BvQ2heOJxhONquzb0lvJ1RDGx8mQWmWHHj7u9lbPelTZwGQ7QyAUCrFdyUBffOlLz4R0FWG%2FnH70k198xvgbqYsS4pzZAHgaSbVUgWP58F76r%2BPh03dzeY4up9Ip0vLdnInr4punYXog2sM3Zzc5ow1vVW6rLMgthLmohZEPeAbT82EnS8yStM1Z0raquGZP7fg1luiF7OXFk%2Bej6uXVEpjq51WplG0tLBUl5gzympkaOg0YFjDKq%2F4fBwl2mAqaHxpWzw1OrbI%2B4UGL9uVMdhZBVrujE9G9cIWR0WdlEScw%2FmMwZXU2msVpMNNgt9QXk9s7JiDoyMcAkYG2tV7eNFHyMxqDpdCrZS6VA4IBhe1bdPa4lxkomsKMWXqJRq4MQ0pm4F4513lr8Oze4lm%2FMj2FqrnIMkJU7ce9dHk3duFNPTec%2BQAADLtJREFU%2Fx3wtVkfEgZ4GDwZN9f241gEjmcpkVy2jwEsA5%2B1nI9i3eiL76gY5xJyP36F3TR119QXVyzquiIAQ396rDOpoZdaidn8rG1atTgZl8hSMBzYahv%2FJg1HFiPnOJRjUXhE0iuShsdMtU%2BeMCLLgORYhb%2BfRj2LkEc8bBj6mBSWyjmO3WJcmKrrzdO4rZoRCSfp8aFnp2QVKoGoysvgdu4xns%2BL%2FaQ%2BEVtfQ8m6X5%2Fx3uOSLz2j0GrkUnAJNnP%2Fqbw0SdUYJ5mN7uFX8sPF1zQnFKX%2FePrYJ%2F7gWQXZFcQelR%2BDR39gYzb%2BfFXN5%2F1BNausbnKdaTZRyhhAazmjVKpzho7P07CSimmV%2Bagiunpob6FMHDOLcMme%2BcmOgJ3fMJqS11T2Fs%2FsAKi5karAF7foZV8MV2PPlDmn1ZK8FVfEEiprORp9BqPkmg4nihHDmMyOMQaJ5BJGew4QcF9Pt6iWDiL2IgXI2nJCxA2NzxQsXttZKFmVsK%2BYWWxnZDSkaDQt7u9xXHFpy9%2BvNp8xazSWS68sHzwZURJizeQIDjqbotqaIET9P35%2BDfvL7hAO7CrTEMY%2FDN1lMsBOHAZiGeAqi7QpqBkDJX%2F03EZHpnsst0u1%2F0U0m%2B56K2nYcAmlv2PwpwcCsaNa3lPWnAY1xZSWLk%2Fcm70vjvv1vv1yE93twsWa5Oa9yvuv4vK6vg1n99kv97aGsTT783UbLa%2FaYIwBq%2Bumppq8NjlRb9dXmkRr5hh%2BJ413Taq0vR7D83aLcaGW92kso63LiG5K1TF%2BZOhGBLtvsyWrugSe43N6Qj18Qe0SRpM6rNiu%2F02DOr3ptfSrlaR1gq8J%2F6X9yGN%2FTzF5597BZyY7XPOH5jNAoVg6gE5v%2FvQ7z%2BgJUYOuA%2Fiimq0BpK2ZXvPv67vUls7Xps9k4l2pk25FMkv9mwGN2O%2Bdci8DMrdjwL3PX%2Fre54CN3O6VhaVSNeVNwndW9XG5TdcHfg7SD%2Fyn4tKfJza6VVPvhZwZe3OmgHMGkl76Z86ZTbqvGadAPnNJGIGtOUXqiuRxo87OW6rkPHZpIepL%2F87oX7JnyRZq%2B%2Bx8dLyWWtt15Ky4lyvS7%2BsPna6PGaZxw1OZWawxMC0DT5WwiYLZN7iZ417eDFyV4o5g5ppUib2M8WWC04xyPp%2FZVvkMMtByPXaLweuaNr%2FVdxdPZd5c0xiffagMqdYHwzudE6n5PvuQte%2Fgr23Hcv%2Faa4onK%2FvIvjLAu5OvnmGnFO1zHtQ7CtNtwsP%2BpiZC%2BL13rlXXLi9dm1z2paYeu9MnNvh7FQspz2b0Fc3rqSXzGzxKZz3UMXFWW6UXu9pWpb1ktNSSazdc1FcvfDee7LVv4Piyfa0TRC35Pk8o8zaT%2BWvvz0u%2Fv9WIDFun3X9adrvWxS27RM%2FC6eW3PxfbBLyCTqdemqz1p1%2FjBr70gvv3FhsnnufV0OJe%2Fr8%2F7PkU5Fikb9zEaNLfO7kR350yKHOobdDOcb01094BZi%2B43juz3%2Bwzz%2Bgt%2Bb0zn1%2FTtoucfbvPuhsZDO7Yt9vOvPXu1aHzD3yIv7Nf09ImmwbaeqHOPUN3AnRlJJ0Dd45%2F%2B343sK7hfs13lzbadPTqG4ShWPfncJ2g9E5c329Prm7Da%2F7EJ%2FndmvHPXoNegNqd%2B%2F2eOde38JTsaDY0btGHnHseZ3%2Fc7tlmdy2GfRlhs8fmXz3PlUekYnDyCmNQ0jWVAVBXeZfrCoQOAv5DfeD7%2F3iW6hrOtPmm%2BbZLacvkrX13ZVkd47nxcP777R47%2F%2FCc4b71Vj3Bp25rQ2ysiDMDzWUXqd97eunHP3vn2bjsV%2FhbJmACJmACJmACJnAsAjacjtXevloTMAETMAETMIEdBGw47YDnU03ABEzABEzABI5FwIbTsdrbV2sCJmACJmACJrCDgA2nHfB8qgmYgAmYgAmYwLEI2HA6Vnv7ak3ABEzABEzABHYQsOG0A55PNQETMAETMAETOBYBG07Ham9frQmYgAmYgAmYwA4CNpx2wPOpJmACJmACJmACxyJgw%2BlY7e2rNQETMAETMAET2EHAhtMOeD7VBEzABEzABEzgWARsOB2rvX21JmACJmACJmACOwjYcNoBz6eagAmYgAmYgAkci4ANp2O1t6%2FWBEzABEzABExgBwEbTjvg%2BVQTMAETMAETMIFjEbDhdKz29tWagAmYgAmYgAnsIGDDaQc8n2oCJmACJmACJnAsAjacjtXevloTMAETMAETMIEdBGw47YDnU03ABEzABEzABI5FwIbTsdrbV2sCJmACJmACJrCDgA2nHfB8qgmYgAmYgAmYwLEI2HA6Vnv7ak3ABEzABEzABHYQsOG0A55PNQETMAETMAETOBYBG07Ham9frQmYgAmYgAmYwA4CNpx2wPOpJmACJmACJmACxyJgw%2BlY7e2rNQETMAETMAET2EHAhtMOeD7VBEzABEzABEzgWARsOB2rvX21JmACJmACJmACOwjYcNoBz6eagAmYgAmYgAkci4ANp2O1t6%2FWBEzABEzABExgBwEbTjvg%2BVQTMAETMAETMIFjEbDhdKz29tWagAmYgAmYgAnsIGDDaQc8n2oCJmACJmACJnAsAjacjtXevloTMAETMAETMIEdBGw47YDnU03ABEzABEzABI5FwIbTsdrbV2sCJmACJmACJrCDgA2nHfB8qgmYgAmYgAmYwLEI2HA6Vnv7ak3ABEzABEzABHYQsOG0A55PNQETMAETMAETOBYBG07Ham9frQmYgAmYgAmYwA4CNpx2wPOpJmACJmACJmACxyJgw%2BlY7e2rNQETMAETMAET2EHAhtMOeD7VBEzABEzABEzgWARsOB2rvX21JmACJmACJmACOwjYcNoBz6eagAmYgAmYgAkci4ANp2O1t6%2FWBEzABEzABExgBwEbTjvg%2BVQTMAETMAETMIFjEbDhdKz29tWagAmYgAmYgAnsIGDDaQc8n2oCJmACJmACJnAsAjacjtXevloTMAETMAETMIEdBGw47YDnU03ABEzABEzABI5FwIbTsdrbV2sCJmACJmACJrCDgA2nHfB8qgmYgAmYgAmYwLEI2HA6Vnv7ak3ABEzABEzABHYQsOG0A55PNQETMAETMAETOBYBG07Ham9frQmYgAmYgAmYwA4CNpx2wPOpJmACJmACJmACxyJgw%2BlY7e2rNQETMAETMAET2EHAhtMOeD7VBEzABEzABEzgWARsOB2rvX21JmACJmACJmACOwjYcNoBz6eagAmYgAmYgAkci4ANp2O1t6%2FWBEzABEzABExgBwEbTjvg%2BVQTMAETMAETMIFjEbDhdKz29tWagAmYgAmYgAnsIGDDaQc8n2oCJmACJmACJnAsAjacjtXevloTMAETMAETMIEdBGw47YDnU03ABEzABEzABI5FwIbTsdrbV2sCJmACJmACJrCDgA2nHfB8qgmYgAmYgAmYwLEI2HA6Vnv7ak3ABEzABEzABHYQsOG0A55PNQETMAETMAETOBYBG07Ham9frQmYgAmYgAmYwA4CNpx2wPOpJmACJmACJmACxyJgw%2BlY7e2rNQETMAETMAET2EHg9F1vf%2F7ZjvN9qgmYgAmYgAmYgAkchsDplY%2F%2Fng2nwzS3L9QETMAETMAETGAPgdN3%2F%2BTv23DaQ9DnmoAJmIAJmIAJHIbA6Xt%2F5g9tOB2muX2hJmACJmACJmACewicXv%2F5L9pw2kPQ55qACZiACZiACRyGwOmNT%2FyxDafDNLcv1ARMwARMwARMYA%2BB01u%2F9Kc2nPYQ9LkmYAImYAImYAKHIXD68Cf%2F3IbTYZrbF2oCJmACJmACJrCHwOkHP%2FUVG057CPpcEzABEzABEzCBwxA4fexX%2F9KG02Ga2xdqAiZgAiZgAiawh8Dph37tqzac9hD0uSZgAiZgAiZgAochcProp75sw%2Bkwze0LNQETMAETMAET2EPg9JFfcVbdHoA%2B1wRMwARMwARM4DgETh%2F%2BxT%2Byx%2Bk47e0rNQETMAETMAET2EHg9NYvuOTKDn4%2B1QRMwARMwARM4EAETm%2F87Dv2OB2owX2pJmACJmACJmAC9ydw%2BuBPfc6G0%2F35%2BUwTMAETMAETMIEDETh94OO%2FY8PpQA3uSzUBEzABEzABE7g%2FgdP3vP1bNpzuz89nmoAJmIAJmIAJHIjA6dUf%2B4wNpwM1uC%2FVBEzABEzABEzg%2FgROL%2F%2FIb9hwuj8%2Fn2kCJmACJmACJnAgAqeXf%2FjTNpwO1OC%2BVBMwARMwARMwgfsTsOF0f3Y%2B0wRMwARMwARM4GAEbDgdrMF9uSZgAiZgAiZgAvcnYMPp%2Fux8pgmYgAmYgAmYwMEI2HA6WIP7ck3ABEzABEzABO5P4P8AecvY%2BgxW%2FlMAAAAASUVORK5CYII%3D";

                ///make post data to change header image from selected valus.
                string postData = "authenticity_token=" + authenticity_token + "&fileData=" + (base64String) + "&fileName=" + imageName + "&height=260&offsetLeft=0&offsetTop=0&page_context=me&scribeContext%5Bcomponent%5D=header_image_upload&scribeElement=upload&section_context=profile&uploadType=header&width=520";
                
                //Finally get to change Image..
                String Responce = ghelper.postFormData(new Uri("https://twitter.com/settings/profile/upload_profile_header"), postData, "https://twitter.com/" + screenName, "", "XMLHttpRequest", "", "https://twitter.com");

                if (Responce.Contains("profile_banners") || Responce.Contains("status"))
                {
                    IsChanged = true;
                }
                else
                {
                    IsChanged = false;
                }
                return IsChanged;
            }
            catch (Exception ex)
            {
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Method :- ImageUploadForProfileHeader >>  Message :- " + ex.Message + "  >> Error :- " + ex.StackTrace, Globals.Path_ErrorLogForHeaderImage);
                return IsChanged;
            }
        } 
Ejemplo n.º 10
0
        public void ReTweetAndFollow(ref Globussoft.GlobusHttpHelper globusHttpHelper, string pgSrc, string postAuthenticityToken, string tweetID, string tweetMessage, string UserID, out string status)
        {
            Follower.Follower objFollower = new Follower.Follower();
            try
            {
                string TweetId = tweetID;// "197682704844734464";
                string ReTweetData = "authenticity_token=" + postAuthenticityToken + "&id=" + tweetID;
                string ReTweetPostUrl = "https://twitter.com/i/tweet/retweet";

                string res_Post_Retweet = globusHttpHelper.postFormData(new Uri(ReTweetPostUrl), ReTweetData, "https://twitter.com/", postAuthenticityToken, "XMLHttpRequest", "true", "");

                string pagesource = globusHttpHelper.getHtmlfromUrl(new Uri("https://twitter.com"), "", "");
                //string TweetId = tweetID;// "197682704844734464";
                //string ReTweetData = "post_authenticity_token=" + postAuthenticityToken;
                //string ReTweetPostUrl = "https://api.twitter.com/1/statuses/retweet/" + TweetId + ".json";
                //string res_Post_Retweet = globusHttpHelper.postFormData(new Uri(ReTweetPostUrl), ReTweetData, "https://api.twitter.com/receiver.html", postAuthenticityToken, "XMLHttpRequest", "true", "");

                status = "posted";

                objFollower.FollowUsingProfileID_New(ref globusHttpHelper, pgSrc, postAuthenticityToken, UserID, out status);

            }
            catch (Exception ex)
            {
                status = "not posted";
                //Log("Method>>ReTweet  --- class>>Tweeter.cs : ReTweet Exception " + ex.Message);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Tweeter() - ReTweet --> " + ex.Message, Globals.Path_TweetingErroLog);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> Tweeter() - ReTweet --> " + ex.Message, Globals.Path_TwtErrorLogs);
            }
        }
Ejemplo n.º 11
0
        //Code added by Lijo For tweeting with images in the wait and reply module
        public void TweetMessageWithImage(ref Globussoft.GlobusHttpHelper globusHttpHelper, string postAuthenticityToken, string tweetMessage, string ImageFilePath, out string status)
        {
            string status1 = string.Empty;
            bool IsLocalFile = true;
            string MediaId = string.Empty;
            ///Read Image Data in Byte 
            ///convert byte in base 64 string 
            try
            {
                string _base64String = Convert.ToBase64String(File.ReadAllBytes(ImageFilePath));

                try
                {                    
                    _base64String = StringEncoderDecoder.EncodeBase64String(_base64String);
                }
                catch
                {


                }
                ///call method for posting 
                ///
                string txid = (UnixTimestampFromDateTime(System.DateTime.Now) * 1000).ToString();

                string postData = "authenticity_token=" + postAuthenticityToken + "&iframe_callback=&media=" + _base64String + "&upload_id=" + txid + "&origin=https%3A%2F%2Ftwitter.com";
                string response_ = globusHttpHelper.postFormData(new Uri("https://upload.twitter.com/i/media/upload.iframe?origin=https%3A%2F%2Ftwitter.com"), postData, "https://twitter.com/", "", "", "", "https://twitter.com/");

                MediaId = globusHttpHelper.getBetween(response_, "snowflake_media_id\":", ",").Replace("snowflake_media_id\":", "").Trim();

                string finalpostdata = "authenticity_token=" + postAuthenticityToken + "&media_ids=" + MediaId + "&place_id=&status=" + tweetMessage.Replace(" ", "+") + "&tagged_users=";

                response_ = globusHttpHelper.postFormData(new Uri("https://twitter.com/i/tweet/create"), finalpostdata, "https://twitter.com/", "", "XMLHttpRequest", "", "https://twitter.com/");

                //globusHttpHelper.HttpUploadImageFileWithMessage("https://upload.twitter.com/i/tweet/create_with_media.iframe", ImageFilePath, "media_data[]", "application/octet-stream", nvc, true, ref status1);

                //if (status1 == "okay")
                //{
                //    status1 = "posted";
                //}

                if (response_.Contains("tweet_id"))
                {
                    status1 = "posted";
                }
            }
            catch (Exception ex)
            {
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> TweetMessageWithImagePostData() -- Tweet -- que_TweetMessages_Hashtags --> " + ex.Message, Globals.Path_TweetingErroLog);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> TweetMessageWithImagePostData() --  Tweet -- que_TweetMessages_Hashtags  --> " + ex.Message, Globals.Path_TweetAccountManager);
            }
            status = status1;
        }
Ejemplo n.º 12
0
        public void Tweet(ref Globussoft.GlobusHttpHelper globusHttpHelper, string postAuthenticityToken, string tweetMessage, out string status)
         {
             string tweetdata = string.Empty;
             string tweetUrl = string.Empty;
             string postaTweet = string.Empty;
             try
             {
                 //string abc = tweetMessage.Replace("�", " ");
                 //Post Tweet To Account
                  tweetdata = "authenticity_token=" + postAuthenticityToken + "&place_id=&status=" + Uri.EscapeDataString(tweetMessage);
                  tweetUrl = "https://twitter.com/i/tweet/create";

                  postaTweet = globusHttpHelper.postFormData(new Uri(tweetUrl), tweetdata, "https://twitter.com/", "XMLHttpRequest", "", "", "");

                 
                 ///Old Twitter 1.0 API code
                 //string TweetData = "include_entities=true&status=" + HttpUtility.UrlEncode(tweetMessage) + "&post_authenticity_token=" + postAuthenticityToken;
                 //string res_PostTweet = globusHttpHelper.postFormData(new Uri("https://api.twitter.com/1/statuses/update.json"), TweetData, "https://api.twitter.com/receiver.html", postAuthenticityToken, "XMLHttpRequest", "true", "");
                 /////

                 var message = (Newtonsoft.Json.JsonConvert.DeserializeObject<JObject>(postaTweet))["message"];

                 //string ss=Uri.en

                 if (postaTweet.Contains("Your Tweet was posted!") || message.ToString().Contains("आपका ट्वीट पोस्ट हो गया") || postaTweet.Contains("tweet_id") || message.Contains("tweet_id") || message.ToString().Contains("Your Tweet was posted!") || postaTweet.Contains(message.ToString()))
                 {
                     status = "posted";
                 }
                 else if (postaTweet.Contains("Your Tweet to") && postaTweet.Contains("has been sent"))
                 {
                     status = "posted";
                 }

                 else
                 {
                     status = "not posted";
                 }
             }
             catch (Exception ex)
             {

                 try
                 {
                     if (ex.Message.Contains("Stream was not readable"))
                     {
                         if (!string.IsNullOrEmpty(Globals.DBCUsername) && !string.IsNullOrEmpty(Globals.DBCPassword))
                         {
                             string _tempCaptcha = globusHttpHelper.getHtmlfromUrl(new Uri("https://www.google.com/recaptcha/api/challenge?k=6LfbTAAAAAAAAE0hk8Vnfd1THHnn9lJuow6fgulO&ajax=1&cachestop=0.88776721409522&lang=en"), "", "");
                             string captchaChallenge = globusHttpHelper.getBetween(_tempCaptcha, "challenge : '", ",").Replace("challenge : '", "").Replace("'", "");
                             string ImageUrl = "https://www.google.com/recaptcha/api/image?c=" + captchaChallenge;

                             WebClient webclient = new WebClient();
                             string captchaText = string.Empty;
                             if (!string.IsNullOrEmpty(captchaChallenge))
                             {
                                 try
                                 {

                                     //WebIP IPObj = new WebIP("http://192.227.234.242:80");
                                     //IPObj.Credentials = CredentialCache.DefaultCredentials;
                                     //webclient.IP = IPObj;

                                     byte[] args = webclient.DownloadData(ImageUrl);

                                     string[] arr1 = new string[] { Globals.DBCUsername, Globals.DBCPassword, "" };

                                     captchaText = DecodeDBC(arr1, args);
                                 }
                                 catch { }
                             }

                             if (!string.IsNullOrEmpty(captchaText))
                             {
                                 string mainUrl = "https://twitter.com/account/challenge?challenge=" + captchaChallenge + "&challenge_name=Captcha&response=" + captchaText.Replace(" ", "+");
                                 string response = globusHttpHelper.getHtmlfromUrl(new Uri(mainUrl), "", "", "");

                                 postaTweet = globusHttpHelper.postFormData(new Uri(tweetUrl), tweetdata, "https://twitter.com/", "XMLHttpRequest", "", "", "");

                                 var message = (Newtonsoft.Json.JsonConvert.DeserializeObject<JObject>(postaTweet))["message"];

                                 //string ss=Uri.en

                                 if (postaTweet.Contains("Your Tweet was posted!") || message.ToString().Contains("आपका ट्वीट पोस्ट हो गया") || postaTweet.Contains("tweet_id") || message.Contains("tweet_id") || message.ToString().Contains("Your Tweet was posted!") || postaTweet.Contains(message.ToString()))
                                 {
                                     status = "posted";
                                 }
                                 else if (postaTweet.Contains("Your Tweet to") && postaTweet.Contains("has been sent"))
                                 {
                                     status = "posted";
                                 }

                                 else
                                 {
                                     status = "not posted";
                                 }
                             }
                             else
                             {
                                 status = "not posted";
                             }
                         }
                         else
                         {
                             status = "not posted";
                         }
                     }
                     else
                     {

                         status = "not posted";
                         Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Tweeter() -- Tweet() --> " + ex.Message, Globals.Path_FollowerErroLog);
                         Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> Tweeter() -- Tweet()  --> " + ex.Message, Globals.Path_TwtErrorLogs);
                     }
                 }
                 catch (Exception exp)
                 {
                      status = "not posted";
                      Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Tweeter() -- Tweet() --> " + exp.Message, Globals.Path_FollowerErroLog);
                         
                 }
             }
        }
Ejemplo n.º 13
0
        public void Reply(ref Globussoft.GlobusHttpHelper globusHttpHelper, string postAuthenticityToken, string tweetID, string tweetUserName, string screenName, string tweetMessage, string userName)
        {
            try
            {
                if (userName == UserName)
                {
                    string strpostAuthenticityToken = string.Empty;

                    string get_twitter_first = globusHttpHelper.getHtmlfromUrlIP(new Uri("https://twitter.com/"), IPAddress, IPPort, IPUsername, IPpassword, string.Empty, string.Empty);

                    if (!string.IsNullOrEmpty(get_twitter_first) && !string.IsNullOrWhiteSpace(get_twitter_first))
                    {
                        strpostAuthenticityToken = PostAuthenticityToken(get_twitter_first, "postAuthenticityToken");
                    }
                    //Reply
                    //string TweetId = tweetID;// "197682704844734464";
                    //string ReTweetData = "post_authenticity_token=" + postAuthenticityToken;
                    //string ReTweetPostUrl = "https://api.twitter.com/1/statuses/retweet/" + TweetId + ".json";
                    //string a6 = globusHttpHelper.postFormData(new Uri(ReTweetPostUrl), ReTweetData, "https://api.twitter.com/receiver.html", postAuthenticityToken, "XMLHttpRequest", "true", "");
                    if (!string.IsNullOrEmpty(tweetMessage) && !string.IsNullOrWhiteSpace(tweetMessage))
                    {
                        string TweetId = tweetID;//"197551187803906048";
                        string ReplyData = "in_reply_to_status_id=" + TweetId + "&include_entities=true&status=" + screenName + " " + tweetUserName + " " + HttpUtility.UrlEncode(tweetMessage) + "&post_authenticity_token=" + strpostAuthenticityToken;//"in_reply_to_status_id=" + TweetId + "&include_entities=true&status=%40" + "screenname to reply to" + "+" + tweetMessage + "&post_authenticity_token=" + postAuthenticityToken;
                        string res_Post_Reply = globusHttpHelper.postFormData(new Uri("https://api.twitter.com/1/statuses/update.json"), ReplyData, "https://api.twitter.com/receiver.html", postAuthenticityToken, "XMLHttpRequest", "true", "");

                        //status = "posted";
                        Log("[ " + DateTime.Now + " ] => [ Message Posted Sucessfully Where Status Id = " + tweetID + " With User Name : " + userName + " ]");

                        obj_clsDB_ReplyInterface.DeleteRecordsAfterReplyFromtb_ReplyCampaign(StringEncoderDecoder.Encode(tweetID), StringEncoderDecoder.Encode(userName));
                    }
                    else
                    {
                        Log("[ " + DateTime.Now + " ] => [ Message Couldn't Post  Sucessfully .Since Message Is Empty Where Status Id = " + tweetID + " With User Name : " + userName + " ]");
                    }
                }
            }
            catch (Exception ex)
            {
                //status = "not posted";
                Log("[ " + DateTime.Now + " ] => [ Method>>  Reply  --- class>>  Tweeter.cs : Reply Exception With User Name : " + UserName + "    " + ex.Message + " ]");
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Reply() --> " + ex.Message, Globals.Path_TweetingErroLog);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> Reply() --> " + ex.Message, Globals.Path_TwtErrorLogs);
            }
        }
Ejemplo n.º 14
0
        public bool UpdateProfileAccount(string AuthToken, string UserScreenName, string Email, string pass, ref Globussoft.GlobusHttpHelper globusHttpHelper, out string _Responce)
        {
            bool status = false;
            string Message = string.Empty;

            //Assigne Posting URl ...
            string PostUrl = "https://twitter.com/settings/accounts/update";

            //Post Data For posting values ...
            string PostData = "_method=PUT&authenticity_token=" + AuthToken + ""
                + "&user%5Bscreen_name%5D=" + UserScreenName + "&user%5Bemail%5D=" + Uri.EscapeDataString(Email) + ""
                + "&user%5Bdiscoverable_by_email%5D=1&user%5Bdiscoverable_by_email%5D=0&user%5Blang%5D=en"
                + "&user%5Btime_zone%5D=Chennai&user%5Bgeo_enabled%5D=0&user%5Bnsfw_view%5D=0"
                + "&user%5Bnsfw_user%5D=0&user%5Bprotected%5D=0&user%5Buse_cookie_personalization%5D=1"
                + "&user%5Buse_cookie_personalization%5D=0&asked_cookie_personalization_setting=1"
                + "&user%5Ballow_ads_personalization%5D=1&user%5Bno_username_only_password_reset%5D=0"
                + "&user%5Brequires_login_verification%5D=0&user%5Bcountry%5D=in&auth_password="******"";


            string responce = globusHttpHelper.postFormData(new Uri(PostUrl), PostData, "", "", "", "", "");
            

            if (responce.Contains("A message has been sent to you to confirm your new email address.") || responce.Contains("Thanks, your settings have been saved."))
            {
            

                if (!string.IsNullOrEmpty(Email))
                {
                    Log("[ " + DateTime.Now + " ] => [ Congratulation. ]");
                    Log("[ " + DateTime.Now + " ] => [ Your message has been sent to you to confirm your new email address for Email "+Email+ "] ");
                    Log("[ " + DateTime.Now + " ] => [ Your new mail Id is :- " + Email + " ]");

                }

                if (!string.IsNullOrEmpty(UserScreenName))
                {
                    Log("[ " + DateTime.Now + " ] => [ Your settings have been saved. ]");
                    Log("[ " + DateTime.Now + " ] => [ Your new screen name is :- " + UserScreenName + " ]");
                }


                status = true;
                Message = "your message has been sent to you to confirm your new email address.";
            }
            else if (responce.Contains("reached your limit"))
            {
                //Log("Sorry, but you've reached your limit on email updates. ");
                Message = "Sorry, but you've reached your limit on email updates.";
            }
            else if (responce.Contains("This email address is already registered."))
            {
                //Log("This email address is already registered.");
                Message = " email address is already registered.";
            }
            else if (responce.Contains("That username has been taken. "))
            {
                Message = "That username has been taken. Please choose another.";
            }
            else
            {
                responce = globusHttpHelper.getHtmlfromUrl(new Uri("https://www.twitter.com"),"","");
                if (responce.Contains(UserScreenName))
                {
                    Log("[ " + DateTime.Now + " ] => [ Your settings have been saved. ]");
                    Log("[ " + DateTime.Now + " ] => [ Your new screen name is :- " + UserScreenName + " ]");
                    Message = "your message has been sent to you to confirm your new email address.";
                    _Responce = Message;
                    return true;
                }
                //Log("OOOOOppp'ss.....!! Message Sending Failure." );
                Message = "Message sending failed";
            }
            _Responce = Message;
            return status;
        } 
        public bool UpdateProfile(string profileUsername, string profileLocation, string profileFirstName, string profileLastName, string profilePic, string profileAbout, string profileGender, ref Globussoft.GlobusHttpHelper globusHttpHelper, string appversion)
        {
            string Email = string.Empty;
            string language = string.Empty;
            string Username = string.Empty;
            string gender = string.Empty;
            string firstname = string.Empty;
            string lastname = string.Empty;
            string about = string.Empty;
            string location = string.Empty;
            string website = string.Empty;
            string CsrfMiddleToken = string.Empty;
            string userid = string.Empty;
            string Country = string.Empty;
            //string appversion = string.Empty;
            string res_ProfilePage = globusHttpHelper.getHtmlfromUrl(new Uri("https://pinterest.com/settings/"), "https://pinterest.com/", "", "");
            // string Res_settingPagesource = globusHttpHelper.getHtmlfromUrl(new Uri("https://www.pinterest.com/resource/UserSettingsResource/get/?source_url=%2Fsettings%2F&data=%7B%22options%22%3A%7B%7D%2C%22context%22%3A%7B%22app_version%22%3A%22da919e8%22%2C%22https_exp%22%3Afalse%7D%2C%22module%22%3A%7B%22name%22%3A%22UserEdit%22%2C%22options%22%3A%7B%22user_id%22%3A%2297460916844499785%22%7D%7D%2C%22append%22%3Afalse%2C%22error_strategy%22%3A0%7D&module_path=App()%3EUserSettingsPage(resource%3DUserSettingsResource())%3EShowModalButton(module%3DUserEdit)&_=1388747100460"), "", "");
            Email = getEmail(res_ProfilePage);

            userid = getUserid(res_ProfilePage);
            string Res_settingPagesource = globusHttpHelper.getHtmlfromUrl(new Uri("https://www.pinterest.com/resource/UserSettingsResource/get/?source_url=%2Fsettings%2F&data=%7B%22options%22%3A%7B%7D%2C%22context%22%3A%7B%22app_version%22%3A%22" + appversion + "%22%2C%22https_exp%22%3Afalse%7D%2C%22module%22%3A%7B%22name%22%3A%22UserEdit%22%2C%22options%22%3A%7B%22user_id%22%3A%22" + userid + "%22%7D%7D%2C%22append%22%3Afalse%2C%22error_strategy%22%3A0%7D&module_path=App()%3EUserSettingsPage(resource%3DUserSettingsResource())%3EShowModalButton(module%3DUserEdit)&_=1388747100460"), "", "", "");


            CsrfMiddleToken = getCsrfToken(res_ProfilePage);

            if (string.IsNullOrEmpty(profileFirstName))
            {
                firstname = getFirstName(Res_settingPagesource);
            }
            else
            {
                firstname = profileFirstName;
            }

            if (string.IsNullOrEmpty(profileLastName))
            {
                //lastname = getLastName(res_ProfilePage);
                lastname = getLastName(Res_settingPagesource);
            }
            else
            {
                lastname = profileLastName;
            }

            if (string.IsNullOrEmpty(profileUsername))
            {
                //Username = getUsername(res_ProfilePage);
                Username = getUsername(Res_settingPagesource);
            }
            else
            {
                Username = profileUsername;
                // CheckUsername:
                //string pageSource = globusHttpHelper.getHtmlfromUrl(new Uri("https://www.pinterest.com/check_username/?check_username="******"&csrfmiddlewaretoken=" + CsrfMiddleToken), "https://pinterest.com/settings/", "", "");
                //if (pageSource.Contains("The username is already in use") || pageSource.Contains("failure"))
                //{
                //    Username = RandomStringGenerator.RemoveChars(Username);
                //    if (Username.Count() > 10)
                //    {
                //        Username = Username.Remove(5); //Removes the extra characters
                //    }
                //    string addChars = RandomStringGenerator.RandomNumber(5);
                //    Username = Username + addChars;

                //    if (Username.Count() > 15)
                //    {
                //        Username = Username.Remove(13); //Removes the extra characters
                //    }

                //    goto CheckUsername;
                //}
            }

            gender = profileGender;


            if (string.IsNullOrEmpty(profileAbout))
            {
                about = getAbout(Res_settingPagesource).Replace(" ", "+");
            }
            else
            {
                about = profileAbout;
            }

            if (string.IsNullOrEmpty(profileLocation))
            {
                location = getLocation(Res_settingPagesource);
            }
            else
            {
                location = profileLocation;
            }


            website = getWebsite(Res_settingPagesource).Replace(":", "%3A").Replace("/", "%2F").Trim();  //http%3A%2F%2Fwww.somethingfunny.com%2F

            // string token = getChtoken(res_ProfilePage);

            string status = "";
            bool Updated = false;

            try
            {
                //Change Profile Details ....
                //string NewPostData = "source_url=%2Fsettings%2F&data=%7B%22options%22%3A%7B%22first_name%22%3A%22" + firstname + "%22%2C%22last_name%22%3A%22" + lastname + "%22%2C%22username%22%3A%22" + Username + "%22%2C%22about%22%3A%22" + Uri.EscapeUriString(about) + "%22%2C%22location%22%3A%22" + location + "%22%2C%22website_url%22%3A%22" + Uri.EscapeUriString(website) + "%22%7D%2C%22context%22%3A%7B%22app_version%22%3A%22" + appversion + "%22%2C%22https_exp%22%3Afalse%7D%7D&module_path=App()%3EUserSettingsPage(resource%3DUserSettingsResource())%3EShowModalButton(module%3DUserEdit)%23Modal(module%3DUserEdit(resource%3DUserSettingsResource()))";

                //string NewPostData = "source_url=%2Fsettings%2F&data=%7B%22options%22%3A%7B%22first_name%22%3A%22" + firstname + "%22%2C%22last_name%22%3A%22" + lastname + "%22%2C%22username%22%3A%22" + Username + "%22%2C%22about%22%3A%22" + Uri.EscapeUriString(about) + "%22%2C%22location%22%3A%22" + location + "%22%2C%22website_url%22%3A%22" + website + "%22%7D%2C%22context%22%3A%7B%22app_version%22%3A%22" + Uri.EscapeUriString(appversion) + "%22%2C%22https_exp%22%3Afalse%7D%7D&module_path=App()%3EUserSettingsPage(resource%3DUserSettingsResource())%3EShowModalButton(module%3DUserEdit)%23Modal(module%3DUserEdit(resource%3DUserSettingsResource()))";

                string NewPostData = "source_url=%2Fsettings%2F&data=%7B%22options%22%3A%7B%22email%22%3A%22" + Uri.EscapeDataString(Email) + "%22%2C%22locale%22%3A%22en-US%22%2C%22country%22%3A%22BQ%22%2C%22gender%22%3A%22" + gender + "%22%2C%22personalize_from_offsite_browsing%22%3Atrue%2C%22first_name%22%3A%22" + firstname + "%22%2C%22last_name%22%3A%22" + Uri.EscapeDataString(lastname) + "%22%2C%22username%22%3A%22" + Username + "%22%2C%22about%22%3A%22" + about + "%22%2C%22location%22%3A%22"+profileLocation+"%22%2C%22website_url%22%3A%22"+Uri.EscapeDataString(website)+"%22%2C%22email_enabled%22%3Atrue%2C%22email_repins%22%3Atrue%2C%22email_likes%22%3Atrue%2C%22email_follows%22%3Atrue%2C%22email_interval%22%3A%22immediate%22%2C%22email_comments%22%3Atrue%2C%22email_shares%22%3Atrue%2C%22email_friends_joining%22%3Atrue%2C%22email_collaboration_invite%22%3Atrue%2C%22email_product_changes%22%3Atrue%2C%22email_suggestions%22%3Atrue%2C%22email_news%22%3Atrue%2C%22email_updates%22%3Atrue%2C%22email_feedback_and_research%22%3Atrue%2C%22exclude_from_search%22%3Afalse%2C%22login_with_facebook%22%3Afalse%2C%22login_with_twitter%22%3Afalse%2C%22connectToGplus%22%3Afalse%2C%22connectToGoogle%22%3Afalse%2C%22connectToYahoo%22%3Afalse%7D%2C%22context%22%3A%7B%7D%7D&module_path=App()%3EUserSettingsPage(resource%3DUserSettingsResource())%3EButton(class_name%3DsaveSettingsButton%2C+color%3Dprimary%2C+type%3Dsubmit%2C+text%3DSave+Settings)";


                //  string NewPostData1="source_url=%2Fsettings%2F&data=%7B%22options%22%3A%7B%22email%22%3A%22"+ Email +"%22%2C%22locale%22%3A%22"+location+"%22%2C%22country%22%3A%22"+Country+"%22%2C%22gender%22%3A%22"+gender+"%22%2C%22personalize_from_offsite_browsing%22%3Atrue%2C%22first_name%22%3A%22"+firstname+"%22%2C%22last_name%22%3A%22"+lastname+"01%22%2C%22username%22%3A%22"+Username+"%22%2C%22about%22%3A%22%22%2C%22location%22%3A%22%22%2C%22"+website+"%22%3A%22%22%2C%22email_enabled%22%3Atrue%2C%22email_repins%22%3Atrue%2C%22email_likes%22%3Atrue%2C%22email_follows%22%3Atrue%2C%22email_interval%22%3A%22immediate%22%2C%22email_comments%22%3Atrue%2C%22email_shares%22%3Atrue%2C%22email_friends_joining%22%3Atrue%2C%22email_collaboration_invite%22%3Atrue%2C%22email_product_changes%22%3Atrue%2C%22email_suggestions%22%3Atrue%2C%22email_news%22%3Atrue%2C%22email_updates%22%3Atrue%2C%22email_feedback_and_research%22%3Atrue%2C%22exclude_from_search%22%3Afalse%2C%22login_with_facebook%22%3Afalse%2C%22login_with_twitter%22%3Afalse%2C%22connectToGplus%22%3Afalse%2C%22connectToGoogle%22%3Afalse%2C%22connectToYahoo%22%3Afalse%7D%2C%22context%22%3A%7B%7D%7D&module_path=App()%3EUserSettingsPage(resource%3DUserSettingsResource())%3EButton(class_name%3DsaveSettingsButton%2C+color%3Dprimary%2C+type%3Dsubmit%2C+text%3DSave+Settings)
                //string newpostdat = "source_url=/settings/&data={\"options\":{\"email\":\"[email protected]\",\"locale\":\"en-US\",\"country\":\"CO\",\"gender\":\"female\",\"personalize_from_offsite_browsing\":true,\"first_name\":\"kavita012\",\"last_name\":\"Gupta1111\",\"username\":\"kavita1112\",\"about\":\"\",\"location\":\"bhilai\",\"website_url\":\"\",\"email_enabled\":true,\"email_repins\":true,\"email_likes\":true,\"email_follows\":true,\"email_interval\":\"immediate\",\"email_comments\":true,\"email_shares\":true,\"email_friends_joining\":true,\"email_collaboration_invite\":true,\"email_product_changes\":true,\"email_suggestions\":true,\"email_news\":true,\"email_updates\":true,\"email_feedback_and_research\":true,\"exclude_from_search\":false,\"login_with_facebook\":false,\"login_with_twitter\":false,\"connectToGplus\":false,\"connectToGoogle\":false,\"connectToYahoo\":false},\"context\":{}}&module_path=App()>UserSettingsPage(resource=UserSettingsResource())>Button(class_name=saveSettingsButton, color=primary, type=submit, text=Save Settings";
                //string NewPostData2 = "source_url=%2Fsettings%2F&data=%7B%22options%22%3A%7B%22email%22%3A%22kavita1112%40hotmail.com%22%2C%22locale%22%3A%22en-US%22%2C%22country%22%3A%22CO%22%2C%22gender%22%3A%22female%22%2C%22personalize_from_offsite_browsing%22%3Atrue%2C%22first_name%22%3A%22gfgfdg%22%2C%22last_name%22%3A%22gfgfdg%22%2C%22username%22%3A%22kavita11%22%2C%22about%22%3A%22i+am+software+engg%22%2C%22location%22%3A%22bhilai%22%2C%22website_url%22%3A%22%22%2C%22email_enabled%22%3Atrue%2C%22email_repins%22%3Atrue%2C%22email_likes%22%3Atrue%2C%22email_follows%22%3Atrue%2C%22email_interval%22%3A%22immediate%22%2C%22email_comments%22%3Atrue%2C%22email_shares%22%3Atrue%2C%22email_friends_joining%22%3Atrue%2C%22email_collaboration_invite%22%3Atrue%2C%22email_product_changes%22%3Atrue%2C%22email_suggestions%22%3Atrue%2C%22email_news%22%3Atrue%2C%22email_updates%22%3Atrue%2C%22email_feedback_and_research%22%3Atrue%2C%22exclude_from_search%22%3Afalse%2C%22login_with_facebook%22%3Afalse%2C%22login_with_twitter%22%3Afalse%2C%22connectToGplus%22%3Afalse%2C%22connectToGoogle%22%3Afalse%2C%22connectToYahoo%22%3Afalse%7D%2C%22context%22%3A%7B%7D%7D&module_path=App()%3EUserSettingsPage(resource%3DUserSettingsResource())%3EButton(class_name%3DsaveSettingsButton%2C+color%3Dprimary%2C+type%3Dsubmit%2C+text%3DSave+Settings)";
                //string pagesource = globusHttpHelper.postFormData(new Uri("https://www.pinterest.com/resource/UserSettingsResource/update/"), NewPostData, "https://www.pinterest.com/settings/");
                //pagesource = globusHttpHelper.postFormDataProxy(new Uri("https://www.pinterest.com/resource/UserSettingsResource/update/"), NewPostData, "https://www.pinterest.com/settings/", "", 0, "", "");

                string pagesource = globusHttpHelper.postFormData(new Uri("https://www.pinterest.com/resource/UserSettingsResource/update/"), NewPostData, "https://www.pinterest.com/settings/");
                //pagesource = globusHttpHelper.postFormDataProxy(new Uri("https://www.pinterest.com/resource/UserSettingsResource/update/"), NewPostData, "https://www.pinterest.com/settings/", "", 0, "", "");

                //Change profile Image .....

                #region
                //globusHttpHelper.MultiPartImageUploadPreview(Email, language, firstname, lastname, Username, gender, about, location, website, profilePic, CsrfMiddleToken);
                //string pagesource = globusHttpHelper.getHtmlfromUrl(new Uri("https://www.pinterest.com/resource/UserSettingsResource/get/?source_url=%2Fsettings%2F&data=%7B%22options%22%3A%7B%7D%2C%22context%22%3A%7B%22app_version%22%3A%22"+ appversion +"%22%2C%22https_exp%22%3Afalse%7D%2C%22module%22%3A%7B%22name%22%3A%22UserEdit%22%2C%22options%22%3A%7B%22user_id%22%3A%22"+ userid +"%22%7D%7D%2C%22append%22%3Afalse%2C%22error_strategy%22%3A0%7D&module_path=App()%3EUserSettingsPage(resource%3DUserSettingsResource())%3EShowModalButton(module%3DUserEdit)&_=1388476372529") , "" , "" ,"");
                #endregion

                if (!String.IsNullOrEmpty(profilePic))
                {
                    Updated = globusHttpHelper.MultiPartImageUpload_new(Email, language, firstname, lastname, Username, gender, about, location, website, profilePic, CsrfMiddleToken, appversion);
                }
                else
                {
                    Updated = true;
                }
            }
            catch (Exception)
            {

            }

            if (Updated)
            {
                return Updated;
            }

            return false;
        }
Ejemplo n.º 16
0
        public void Reply(ref Globussoft.GlobusHttpHelper globusHttpHelper, string pgSrc, string postAuthenticityToken, string tweetID, string screenName, string tweetMessage, out string status)
        {
            try
            {
                //https://twitter.com/i/tweet/create
                string TweetId = tweetID;//"197551187803906048";
                string ReplyData = "authenticity_token=" + postAuthenticityToken + "&in_reply_to_status_id=" + TweetId + "&place_id=&status=%40" + screenName + "+" + Uri.EscapeDataString(tweetMessage); //"in_reply_to_status_id=" + TweetId + "&include_entities=true&status=%40" + "screenname to reply to" + "+" + tweetMessage + "&post_authenticity_token=" + postAuthenticityToken;
                string res_Post_Reply = globusHttpHelper.postFormData(new Uri("https://twitter.com/i/tweet/create"), ReplyData, "https://twitter.com/" + screenName + "/status/" + tweetID, postAuthenticityToken, "XMLHttpRequest", "true", "");

                status = "posted";
                ///Reply For twitter api 1.0
                //string TweetId = tweetID;// "197682704844734464";
                //string ReTweetData = "post_authenticity_token=" + postAuthenticityToken;
                //string ReTweetPostUrl = "https://api.twitter.com/1/statuses/retweet/" + TweetId + ".json";
                //string a6 = globusHttpHelper.postFormData(new Uri(ReTweetPostUrl), ReTweetData, "https://api.twitter.com/receiver.html", postAuthenticityToken, "XMLHttpRequest", "true", "");
                //string TweetId = tweetID;//"197551187803906048";
                //string ReplyData = "in_reply_to_status_id=" + TweetId + "&include_entities=true&status=%40" + screenName + "+" + HttpUtility.UrlEncode(tweetMessage) + "&post_authenticity_token=" + postAuthenticityToken; ;//"in_reply_to_status_id=" + TweetId + "&include_entities=true&status=%40" + "screenname to reply to" + "+" + tweetMessage + "&post_authenticity_token=" + postAuthenticityToken;
                //string res_Post_Reply = globusHttpHelper.postFormData(new Uri("https://api.twitter.com/1/statuses/update.json"), ReplyData, "https://api.twitter.com/receiver.html", postAuthenticityToken, "XMLHttpRequest", "true", "");
            }
            catch (Exception ex)
            {
                status = "not posted";
                //Log("Method>>  Reply  --- class>>  Tweeter.cs : Reply Exception " + ex.Message);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Reply() --> " + ex.Message, Globals.Path_TweetingErroLog);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> Reply() --> " + ex.Message, Globals.Path_TwtErrorLogs);
            }
        }
Ejemplo n.º 17
0
        public bool UpdateAccountPass(string AuthToken, string OldPassword, string NewPassword, ref Globussoft.GlobusHttpHelper globusHttpHelper, out string message)
        {
            try
            {
                string PostUrl = "https://twitter.com/settings/passwords/update";
                string PostData = "_method=PUT&authenticity_token=" + AuthToken + "&current_password="******"&user_password="******"&user_password_confirmation=" + NewPassword + "";

                string responce = globusHttpHelper.postFormData(new Uri(PostUrl), PostData, "https://twitter.com/settings/password", "", "", "", "");

                if (responce.Contains("Woo hoo! Your password has been changed!")||responce.Contains("class=\"error-page error-403 clearfix\"") )
                {
                    message = "Your password has been changed!";
                    return true;
                }
                else if (responce.Contains("That password is too easy to guess. Please choose a stronger password."))
                {
                    message = "Your given password is too easy to guess. Please choose a stronger password.";
                    return true;
                }
                else
                {
                    message = " Unable to change password .";
                    return false;
                }
            }
            catch
            {
                message = " Password is not change.";
                return false;
            };
        }