Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Monday, 24 May 2021

Seed-stage accelerator Flat6Labs closes $13.2M fund for startups in Egypt

Investment activities in Egypt continue to gain steam, not for startups only but also the funds backing them. Today, seed accelerator Flat6Labs announced the second close of its Egypt fund to support early-stage startups and provide follow-up investment. The fund had a target for EGP50 million (~$3.2 million) but eventually closed at EGP207 million ($13.2 million).

Launched in 2011, Flat6Labs is a regional seed accelerator with offices in Egypt and Tunisia. The accelerator launched its Cairo programme in 2017 to invest in more than 100 startups across Egypt over the course of five years.

Startups that get into the accelerator are provided with office space, legal and marketing help, and access to mentorship and networking, among other perks. They also receive between EGP500,000 and EGP750,000. However, with the close of this round, Flat6Labs has increased the check sizes to EGP1.5 million (~$95,000) and up to EGP3 million (~$191,000) in post-programme follow-on funding for selected startups.

The International Finance Corporation (IFC), the MSME Development Agency, the Egyptian American Enterprise Fund, and Egypt Ventures are the anchor investors in Flat6Labs seed fund. Sawari Ventures, which recently closed its $71 million fund, also participated in this second close. It comes as no surprise because the firm, which is highly affiliated with the accelerator, said it would set aside 10% of its fund for Flat6Labs seed-stage companies when we covered them in April.

“At Sawari Ventures, our fund strategy has always been to allocate a percentage of our fund to the seed stage, which is a completely different proposition in terms of process, culture, and support needed,” Wael Amin, managing Partner at Sawari Ventures, said in a statement. “As investors in Flat6Labs Accelerator Company, we get the opportunity to profitably participate in Egyptian companies at a very early stage, get early indicators on ecosystem trends, and visibility into the ecosystem.”

The second close of Flat6Labs’ fund is the latest of four venture capital funds targeted at Egyptian startups. Shortly after Sawari Ventures’ close, Algebra Ventures announced launching a $90 million second fund. Subsequently, GIZ Egypt launched a €100 million funding programme called VC University. The fund, which will provide up to four MENA-based fund managers between €25-30 million, is exclusively targeted at Egypt-based startups.

Flat6Labs is one of the continent’s active and well-known seed-stage accelerators. Just in Egypt alone, it has run seven cycles and invested in 62 startups. In Egypt, they provide a filter for some early-stage investors to source what companies to back or not. A good portion of startups in Flat6Labs’ portfolio has piqued investors’ interests in its four years of operation as half have received follow-up investment totalling EGP145,000,000 (~$9.25 million). Some of the startups in Flat6Labs’ portfolio include Welnes, Glued, CreditGo, and Docspert Health.



from TechCrunch https://ift.tt/3fFqUu3
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support