Rent a Dumpster in Darragh Now!
Simply give us a call and we will answer any questions you may have about the Darragh dumpster rental procedure, allowed materials, size you may need, etc.
Our roll off containers can usually be delivered in Darragh the day after you place your order. Make sure to call us early to ensure timely delivery.
Most residential areas enable roll off dumpsters. When you have a drive, then you can usually park the dumpster there so you really do not annoy your neighbors or cause traffic issues by putting it on the road.
Some jobs, however, will require putting the dumpster on the road. If it applies to you, then you must talk to your city to discover whether you have to get any permits before renting the dumpster. In most cases, cities will allow you to keep a dumpster on a residential road for a short amount of time. Should you believe you will need to keep it on the road for several weeks or months, however, you may need to get a permit.
Nearly all roll of dumpsters have the exact same width (typically eight feet). That makes it feasible for companies to use the same trucks to transport a wide variety of dumpsters. When you see a dumpster's measurements, therefore, you can assume that they refer to depth and length. You may even see dumpster sizes listed by yards. This really refers to square yards that measure the dumpster's volume.
In case you're organizing a big commercial job, then you will likely need a 40-yard dumpster or larger. Large house renovations may require a 30-yard dumpster, but most smaller home repairs just need 20-yard or even 10-yard dumpsters. Talk to an expert should you need more advice on selecting a dumpster size that matches your project.
Determining where to put your dumpster can have a large effect regarding how fast you finish endeavors. The most efficient alternative would be to select a location that is close to the worksite. It is very important, nevertheless, to consider whether this location is a safe choice. Make sure that the area is free of obstructions that could trip folks while they carry heavy debris.
A lot of folks choose to place dumpsters in their driveways. This really is a handy choice because it usually means you can avoid requesting the city for a license or permit. In case you must place the dumpster on the street, then you need to get in touch with your local government to ask whether you have to get a license. Although many municipalities will let folks keep dumpsters on the road for brief amounts of time, others are going to request that you complete some paperwork. Following these rules will help you stay away from fines which will make your project more costly.
Cheapest Dumpster Rental in Darragh - Is It Worth It?
Obviously you want to spend as little cash as possible when renting a dumpster in Darragh. Occasionally, however, the most inexpensive in Darragh option is not worth it. Actually, it may wind up costing you more in the long run.
Taking the cheapest alternative could mean that you get a dumpster that's too small for your endeavor. Once you fill up the dumpster, you would have to cover another to finish your job. It is usually more affordable to get a larger size and avoid the hassle.
The most economical businesses in Darragh might not contain matters like drop off and pick up fees. Ensure your quotes contain all additional fees. This way you can compare prices correctly to get the best deal. Customer care is another important concern. More than a few companies keep prices low by cutting corners on service. The last thing that you would like is to waste time looking forward to a truck to arrive by means of your dumpster.
Most companies in Darragh commonly rent containers for a conventional speed for 7 days, although most one-time customers end up keeping their container an average of three and a half days. When you phone to allow the container, chat with the customer service representative about the amount of time you believe you will need.
In case it turns out that your job takes longer than you anticipated, merely phone the dumpster business to explain. Most companies will charge you on a per-day basis after your initial 7 days. It is very important to convey this added demand when you know you've it since most dumpster businesses have a small variety of bins that will already be allowed. Most companies will work with you to accommodate your additional rental time. Should you believe you will want the dumpster for an additional week or more, be sure to mention that; rates may change based on a longer time frame.
All major credit cards accepted for dumpster rentals in Darragh.


The figure and the stand with inscribed 'M.F.SD.SM.I' in iron red.
13 x 8 1/2 x 6 in.
Overall wear consistent with age. Restoration to both ring bracelets and crossed over left foot. One side of the figure's tendrils is restored as well as one side of the rocky outcropping. A few small scattered firing cracks overall.


text:
<?php

//require_once "Zend/Controller/Action/Helper/AutoComplete/Abstract.php";

class ZendX_JQuery_Controller_Action_Helper_AutoComplete
extends Zend_Controller_Action_Helper_AutoComplete_Abstract
{
    /**
     * Validate autocompletion data
     *
     * @param  mixed $data
     * @return boolean
     */
    public function validateData($data)
    {
        if (!is_array($data)) {
            return false;
        }

        return true;
    }

    /**
     * Prepare autocompletion data
     *
     * @param  mixed   $data
     * @param  boolean $keepLayouts
     * @return mixed
     */
    public function prepareAutoCompletion($data, $keepLayouts = false)
    {
        if (!$this->validateData($data)) {
            /**
             * @see Zend_Controller_Action_Exception
             */
            //require_once 'Zend/Controller/Action/Exception.php';
            throw new Zend_Controller_Action_Exception('Invalid data passed for autocompletion');
        }

        $data = (array) $data;
        $output = "";
        foreach($data AS $k => $v) {
            if(is_numeric($k)) {
                $output .= $v."\n";
            } else {
                $output .= $k."|".$v."\n";
            }
        }

        if (!$keepLayouts) {
            $this->disableLayouts();
        }

        return $output;
    }
}

redpajama_set_name: RedPajamaGithub


text:
Mohamed Al Mehairi (1974. január 9.– ) egyesült arab emírségeki nemzetközi labdarúgó-partbíró, asszisztens. Teljes neve Mohamed Jasem Saif Hamad Al Jalaf Al Mehairi.

Pályafutása

Nemzeti játékvezetés
Játékvezetői vizsgáját követően lakókörzetének labdarúgó-szövetség által üzemeltetett bajnokságokban kezdte sportszolgálatát. Az Egyesült Arab Emírségekbeli Labdarúgó-szövetség Játékvezető Bizottságának (JB) minősítésével 2003-tól a Etisalat National League asszisztense.

Nemzetközi játékvezetés
Az Egyesült Arab Emírségekbeli labdarúgó-szövetség JB terjesztette fel nemzetközi asszisztensnek, a Nemzetközi Labdarúgó-szövetség (FIFA) 2005-től tartja nyilván asszisztensi keretében. A FIFA JB központi nyelvei közül az angolt beszéli. Több nemzetek közötti válogatott, valamint AFC-bajnokok ligája klubmérkőzésen szolgálta a labdarúgást partbíróként.

Labdarúgó-világbajnokság
A 2010-es labdarúgó-világbajnokságon, valamint a 2014-es labdarúgó-világbajnokságon a FIFA JB asszisztenseként foglalkoztatta. Selejtező mérkőzéseken az AFC zónában tevékenykedett.

2010-es labdarúgó-világbajnokság

2014-es labdarúgó-világbajnokság

Ázsia-kupa
A 2015-ös Ázsia-kupán az AFC JB bíróként alkalmazta.

Források

Egyesült arab emírségekbeli labdarúgó-játékvezetők
1974-ben született személyek
Élő személyek

redpajama_set_name: RedPajamaWikipedia


text:
The Santonian is an age in the geologic timescale or a chronostratigraphic stage. It is a subdivision of the Late Cretaceous Epoch or Upper Cretaceous Series. It spans the time between 86.3 ± 0.7 mya (million years ago) and 83.6 ± 0.7 mya. The Santonian is preceded by the Coniacian and is followed by the Campanian.

Stratigraphic definition
The Santonian Stage was established by French geologist Henri Coquand in 1857. It is named after the city of Saintes in the region of Saintonge, where the original type locality is located.

The base of the Santonian Stage is defined by the appearance of the inoceramid bivalve Cladoceramus undulatoplicatus. The GSSP (official reference profile) for the base of the Santonian Stage is located near Olazagutia, Spain; it was ratified by the Subcommission on Cretaceous Stratigraphy in 2012. The Santonian's top (the base of the Campanian Stage) is informally marked by the extinction of the crinoid Marsupites testudinarius.  A GSSP for the top of the Santonian was ratified in October 2022 in Bottaccione, Gubbio, Italy.

Subdivision
The Santonian is sometimes subdivided into Lower, Middle and Upper Substages. In the Tethys domain the Santonian is coeval with a single ammonite biozone: that of Placenticeras polyopsis. Biostratigraphy based on inoceramids, nanoplankton or forams is more detailed.

References

Notes

Literature
; 2004: A Geologic Time Scale 2004, Cambridge University Press.

External links
GeoWhen Database - Santonian
Late Cretaceous timescale, at the website of the subcommission for stratigraphic information of the ICS
Stratigraphic chart of the Late Cretaceous, at the website of Norges Network of offshore records of geology and stratigraphy

04
Geological ages
Cretaceous geochronology


On this website we recommend many pictures abaout behr teal paint that we have collected from various sites mujerpresente.com, and of course what we recommend is the most excellent of picture for behr teal paint. If you like the picture on our website, please do not hesitate to visit again and get inspiration from our website.
And if you want to see more images more we recommend the gallery below, you can see the picture as a reference design from your behr teal paint.
Thank you for seeing gallery of behr teal paint, we would be very happy if you come back.
Similar Keyword behr teal paint : behr dark teal paint, behr light teal paint, behr marquee teal paint, behr paint icy teal, behr paint teal blue, behr paint teal ice, behr teal paint colors, behr venus teal paint, sophisticated teal behr paint, and more.


Preparing For IBPS SO PRE-MARKETING OFFICER Exam? If you are searching Test Series for MARKETING OFFICER, then you must buy this Speed Test Card.
In this Speed Test Card you will get Exclusive Speed Tests of IBPS SO PRE-MARKETING OFFICER Examination.
We will be providing you speed tests at regular intervals to complete all the 25 speed tests of the card 7 days before the actual date of IBPS SO Pre-Marketing Officer EXAM.
25 Speed Tests for IBPS SO Pre-Marketing Officer Examination will be availed in this package.


The MoU focused on cooperation in the industries of agriculture, infrastructure, and energy.
In August 2017, China announced it would send specialists to visit Namibia in order to renegotiate the agreement on the export of Namibian beef.
In September 2016, Namibia exported 23 MTs of beef to Hong Kong. Namibia's Meatco stated that the first container of meat was shipped to Hong Kong on 22 September 2016. The shipment included offal, frozen beef, and in-bone beef.
In July 2016, an outbreak of lumpy skin disease (LSD) virus in Namibian cattle just two months after an agreement to export beef to China. As a result of the outbreak, beef exports were suspended for one year.


text:
Q: Drools - forall from accumulate not working I have this class hierarchy:
DomainParent{List<Details>, Boolean isCalculatedTypes(defaults false)}
Detail{List<SubDetail>}
SubDetail{TypeEnum}

And this Enum:
TypeEnum{Type1, Type2, Type3}

I want to create a drools rule that checks if all the SubDetails has either Type1 or Type2 and another rule that triggers if the SubDetails list contains any different combination of Type.
So far I have this rule, which gets executed no matter what, even if all the SubDetails has Type3:
rule "calculate sub details with types 1 and 2"
    when
      $parent: DomainParent(!isCalculatedTypes())
      $subDetails: List() from accumulate($detail: Detail() from $parent.getDetails();
                          collectList($detail.getSubDetails()))
      forall(SubDetail(getTypeEnum() == TypeEnum.1() || getTypeEnum() == TypeEnum.2() from $subDetails)
    then
      System.out.println("begin calculating types");
      //DO SOMETHING
      $parent.setCalculatedTypes(true);
      update($parent);
      System.out.println("DONE calculating types");
end

A: Rewrite your rule to calculate a flattened List of SubDetail objects.
rule "calculate sub details with types 1 and 2"
when
  $dp: DomainParent( ! calculatedTypes, $details: details )
  $sds: List( size > 0 )
    from accumulate( $detail: Detail() from $details,
                     init( List list = new ArrayList(); )
                     action(list.addAll($detail.getSubDetails()); )
                     result( list ) )
  not( SubDetail( type != Type.Type1 && != Type.Type2 ) from $sds )
then
  System.out.println("begin calculating types");
end

The mistake you have made is to believe that adding a
List<X> to a list adds all X's in that list but it does not: it just adds a List to the list.
Note that forall is tricky and does not what (I think that) you think.

A: I am not sure how you managed to refer to your enum this way: TypeEnum.1();
Try this instead:
rule "calculate sub details with types 1 and 2"
    when
      $parent: DomainParent(!isCalculatedTypes())
      $subDetails: List() from accumulate($detail: Detail() from $parent.getDetails();
                          collectList($detail.getSubDetails()))
      forall($x : SubDetail(getTypeEnum() == TypeEnum.Type1 || getTypeEnum() == TypeEnum.Type2)
    then
      //DO SOMETHING
end

redpajama_set_name: RedPajamaStackExchange


text:
// --------------------------------------------------------------------------------------------------------------------
// <copyright file="Polygon.cs" company="Joerg Battermann">
//   Copyright © Joerg Battermann 2014
// </copyright>
// --------------------------------------------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using GeoJSON.Net.Converters;
using Newtonsoft.Json;

namespace GeoJSON.Net.Geometry
{
    /// <summary>
    /// Defines the Polygon type.
    /// Coordinates of a Polygon are a list of linear rings coordinate arrays. The first element in
    /// the array represents the exterior ring. Any subsequent elements represent interior rings (or holes).
    /// </summary>
    /// <remarks>
    /// See https://tools.ietf.org/html/rfc7946#section-3.1.6
    /// </remarks>
    public class Polygon : GeoJSONObject, IGeometryObject, IEqualityComparer<Polygon>, IEquatable<Polygon>
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="Polygon" /> class.
        /// </summary>
        /// <param name="coordinates">
        /// The linear rings with the first element in the array representing the exterior ring.
        /// Any subsequent elements represent interior rings (or holes).
        /// </param>
        public Polygon(List<LineString> coordinates)
        {
            if (coordinates == null)
            {
                throw new ArgumentNullException(nameof(coordinates));
            }

            if (coordinates.Any(linearRing => !linearRing.IsLinearRing()))
            {
                throw new ArgumentException("All elements must be closed LineStrings with 4 or more positions" +
                                            " (see GeoJSON spec at 'https://tools.ietf.org/html/rfc7946#section-3.1.6').", nameof(coordinates));
            }

            Coordinates = coordinates;
            Type = GeoJSONObjectType.Polygon;
        }

        /// <summary>
        /// Gets the list of points outlining this Polygon.
        /// </summary>
        [JsonProperty(PropertyName = "coordinates", Required = Required.Always)]
        [JsonConverter(typeof(PolygonConverter))]
        public List<LineString> Coordinates { get; private set; }

        #region IEqualityComparer, IEquatable

        /// <summary>
        /// Determines whether the specified object is equal to the current object
        /// </summary>
        public override bool Equals(object obj)
        {
            return Equals(this, obj as Polygon);
        }

        /// <summary>
        /// Determines whether the specified object is equal to the current object
        /// </summary>
        public bool Equals(Polygon other)
        {
            return Equals(this, other);
        }

        /// <summary>
        /// Determines whether the specified object instances are considered equal
        /// </summary>
        public bool Equals(Polygon left, Polygon right)
        {
            if (base.Equals(left, right))
            {
                return left.Coordinates.SequenceEqual(right.Coordinates);
            }
            return false;
        }

        /// <summary>
        /// Determines whether the specified object instances are considered equal
        /// </summary>
        public static bool operator ==(Polygon left, Polygon right)
        {
            if (ReferenceEquals(left, right))
            {
                return true;
            }
            if (ReferenceEquals(null, right))
            {
                return false;
            }
            return left != null && left.Equals(right);
        }

        /// <summary>
        /// Determines whether the specified object instances are not considered equal
        /// </summary>
        public static bool operator !=(Polygon left, Polygon right)
        {
            return !(left == right);
        }

        /// <summary>
        /// Returns the hash code for this instance
        /// </summary>
        public override int GetHashCode()
        {
            int hash = base.GetHashCode();
            foreach (var item in Coordinates)
            {
                hash = (hash * 397) ^ item.GetHashCode();
            }
            return hash;
        }

        /// <summary>
        /// Returns the hash code for the specified object
        /// </summary>
        public int GetHashCode(Polygon other)
        {
            return other.GetHashCode();
        }

        #endregion
    }
}


text:
Ophiothyreus goesi is een slangster uit de familie Ophiolepididae.

De wetenschappelijke naam van de soort werd in 1872 gepubliceerd door Axel Vilhelm Ljungman.

Amphilepidida


In 1944, the US had been the primary supplier for arms for the allies during World War II and, as such, exited the war with more wealth than any of the other nations that had entered the war earlier, draining their treasuries of money. Since payment was largely demanded in gold, the US held three-quarters of the world's gold and therefore was in a position to call the shots with regard to the free world's economic future.
At Bretton Woods, the US took advantage of this situation, setting up the World Bank and the IMF and declaring the dollar to be the default currency for all countries concerned. From that point on, the US was in the catbird seat, able to dictate economic terms to other countries and even to behave irresponsibly, eventually creating previously unheard-of levels of debt, thereby inspiring other nations to do their best to create their own debt in order to keep pace as best they could.
Eventually, of course, such irresponsible economics will cause any country, no matter how powerful, to collapse economically, no matter how many Keynesian economists such as Thomas Piketty, Paul Krugman, and Larry Summers declare otherwise.
Beginning in 1944, the US became the world's foremost empire, for the strongest of reasons—it held the world's wealth. This advantage led to a period of great power and, in the latter years, as the empire began to stumble economically under its own great weight, led to the creation of organisations and legislation designed to bring in new revenue, as the old forms of revenue declined.
In recent years, we've seen the rise of the extraordinary assumption that "money laundering" (the practice of protecting one's wealth from rapacious governments), should be regarded as a crime. As such, "tax havens"—those jurisdictions that provide freedom from governmental usurpation—have also been vilified as being somehow criminal because they recognize the basic right of freedom to prosper.
Along the way, the US has increasingly created legislation restricting the international movement of money by its people in addition to such a patchwork quilt of laws that every citizen is likely to break several laws each day, simply by existing normally.
All of this is taken for granted as a "given" by both Americans and those of us who view the US from afar. However, we rarely, if ever, take the time to reflect on the fact that, historically, this is nothing new. This is, in fact, quite the norm for an empire in decline. From the latter days of the Roman Empire, such practices (if in a less sophisticated form) have been implemented in order to have a last squeeze of the lemon before economic collapse takes place.
So, what then, in these many instances, has been the deciding factor that ends such draconian usurping of private wealth? Well, in fact, what tends to occur is that enforcement increases serially, right up until the moment when such enforcement can no longer be funded. Sooner or later, the amount that's being bilked from those who are productive is insufficient to force them to continue to be bilked.
This Maverick Geologist Has Been Involved with Several of Mining's Biggest Gains (3,900%, 1,608%, 9,536%)… And In Just 8 Weeks, He'll Announce Discovery #4.
Dubbed "Red Gold" by industry insiders, this latest discovery could send share prices soaring 1,000%, starting in April. Click here for the full story.
It's tax-free. Pays up to 37 times more than bank accounts. And you DON'T NEED TO REPORT IT TO THE IRS. No wonder the government doesn't want you to know about this secret account. Click here.
In ancient Rome, once the system had deteriorated to the point that the military was almost entirely mercenary, all that was needed was for the government to fail to provide full, regular payment to the troops. Once "the cheques began to bounce," the military turned on their former benefactors. In addition to the cessation of enforcement, the military itself was now a threat to the leadership.
And of course, we have seen this in other empires since that time. Even with all the gold that Spain was pulling out of the New World in the 16th century, it wasn't sufficient to pay for the excessive foreign military adventures of Philip II and eventually the coffers ran dry, collapsing his ability to even maintain control at home. When even the interest on the debt could not be serviced, the ability to maintain control not only ceased to advance—it went into reverse.
Whenever the ability to enforce draconian legislation goes into decline, the people of a nation suddenly realise that they've been living in fear of a paper tiger. It doesn't take long before some people choose to defy the system. When they're seen to succeed, others follow in droves.
So, what does this say of the US and its power? Well, as Doug Casey has been known to say, "Countries fall from grace with remarkable speed." Quite so.
On an international level, this means that international leaders will be watching the economic decline of the US closely. Countries such as China and Russia have been loading up on precious metals in preparation for a collapse in fiat currency. In addition, they've created their own version of the World Bank, the Asian Infrastructure Investment Bank, and have been hard at work inking deals with other nations for international settlement in currencies other than the dollar.
Most people in the world today cannot remember a time before Bretton Woods, yet they may soon witness the Bretton Woods agreement becoming a dead duck.
But, if we extend this premise, we also should be questioning the other constructs of the postwar period that have become dinosaurs. What of the United Nations? This organisation was once meant to be a body for arbitration and world planning, but has in latter decades become a quagmire of bickering and gainsaying—with its decisions rarely being adopted by the nations in question. And yet the US alone pays some $8 billion annually to keep the UN afloat. Surely, when the world at large ceases its willingness to carry further US debt, the US government will jettison the expense for the UN before it cuts either its military spending or its entitlement programmes.
Similarly, NATO, which requires $2.8 billion annually (with only five of its 28 members currently meeting the recommended payments) would experience a similar fate.
With the above entities heading south, the Wolfowitz Doctrine, which has since 1992 been the basis of US aggression policy, would become unachievable.
In addition to the decline or cessation of the above international adventurism, enforcement of revenue pursuit in the guise of FATCA and OECD schemes would equally suffer from a loss of funding. It would not be a question of whether the empire still wished to squeeze the lemon more than ever before—it would. But once the funds to do so dried up, the US and EU would find themselves in the situation that we currently observe in Venezuela: The money to pay for the enforcement is simply not there anymore. The decline would begin with bounced cheques, followed by massive layoffs in the enforcement departments, followed by a decline in receipts, necessitating further layoffs, and continuing in a downward spiral.
At present, countless people live in fear of the present empires and their ever-increasing efforts at usurpation. However, as history shows, once debt has reached its nadir and begins its rapid fall, so does the empire's ability to enforce draconian confiscations.
The coming economic and political collapse is going to be much worse, much longer, and very different than what we've seen in the past.
That's exactly why New York Times best-selling author Doug Casey and his team just released an urgent video. It reveals why a financial shock far greater than 2008 could strike America during Trump's first 100 days. Click here to watch it now.
That's exactly why New York Times best-selling author Doug Casey and his team just released an urgent video.
Doug Casey's urgent new broadcast is live… and I guarantee, even Doug's longtime readers have never seen anything like this before. It reveals why a financial shock far greater than 2008 could strike America during Trump's first 100 days. And how it could either wipe out a big part of your savings… or be the fortune-building opportunity of a lifetime. This special presentation won't be online for long.


text:
Q: Can I use the array of records after batch insert in Activerecord-import gem? So in the readme, it does this
books = []
10.times do |i|
  books << Book.new(:name => "book #{i}")
end
Book.import books

but can we also use the books array to do a loop to further modify each records in the array or is that not possible? Such instance was not stated in readme

A: Yes you can do that very easily, nothing happens with the objects until the import, Book.new just creates a new instance in memory - it does not touch the database.  E.g.
books = []
10.times do |i|
  books << Book.new(:name => "book #{i}")
end
books.each_with_index do |book,i|
  book.name = "new book name #{i}"
end
Book.import books

see http://ruby-doc.org/core-2.2.0/Enumerable.html


text:
Red White & Bloom Brands Inc.
(Formerly Tidal Royalty Corp.)
Amended and Restated Management's Discussion and Analysis
For the Three and Six Month Periods Ended June 30, 2020
Management's Discussion and Analysis
For the six month period ended June 30, 2020
Amended and Restated
The following management discussion and analysis ("MD&A") may contain "forward-looking information" within the meaning of Canadian securities legislation ("forward-looking statements"). These forward-looking statements are made as of the date of this MD&A and the Company (as defined herein) does not intend, and does not assume any obligation, to update these forward-looking statements, except as required under applicable securities legislation. Forward-looking statements relate to future events or future performance and reflect Company management's expectations or beliefs regarding future events. In certain cases, forward-looking statements can be identified by the use of words such as "plans", "expects" or "does not expect", "is expected", "budget", "scheduled", "estimates", "forecasts", "intends", "anticipates" or "does not anticipate", or "believes", or variations of such words and phrases or statements that certain actions, events or results "may", "could", "would", "might" or "will be taken", "occur" or "be achieved" or the negative of these terms or comparable terminology. In this document, certain forward-looking statements are identified by words including "may", "future", "expected", "intends" and "estimates". By their very nature forward-looking statements involve known and unknown risks, uncertainties and other factors which may cause the actual results, performance or achievements of the Company to be materially different from any future results, performance or achievements expressed or implied by the forward-looking statements. The Company provides no assurance that forward-looking statements will prove to be accurate, as actual results and future events could differ materially from those anticipated in such statements. Accordingly, readers should not place undue reliance on forward-looking statements.
Certain forward-looking statements in this MD&A include, but are not limited to the following:
• the Company's expansion plans; and
• its expectations regarding production capacity and production yields
The above and other aspects of the Company's anticipated future operations are forward-looking in nature and, as a result, are subject to certain risks and uncertainties. Although the Company believes that the expectations reflected in these forward-looking statements are reasonable, undue reliance should not be placed on them as actual results may differ materially from the forward-looking statements. Such forward-looking statements are estimates reflecting the Company's best judgment based upon current information and involve a number of risks and uncertainties, and there can be no assurance that other factors will not affect the accuracy of such forward-looking statements. Such factors include but are not limited to the Company's ability to obtain the necessary financing and the general impact of financial market conditions, the yield from marihuana growing operations, product demand, changes in prices of required commodities, competition, government regulations and other risks.
For further information on the Company reference should be made to the Company's public filings which are available on SEDAR.
The following MD&A of Red White & Bloom Brands Inc. (formerly Tidal Royalty Corp.) (the "Company" or "RWB") should be read in conjunction with the Company's condensed interim consolidated financial statements and notes thereto for the three and six month periods ended June 30, 2020 and 2019, which are prepared in accordance with International Financial Reporting Standards ("IFRS") as issued by the International Accounting Standards Board and interpretations of the International Financial Reporting Interpretations Committee.
This document is intended to assist the reader in better understanding operations and key financial results as of the date of this MD&A. The consolidated financial statements and this MD&A have been approved by its Board of Directors. This MD&A is dated September 17, 2020.
All dollar amounts referred to in this MD&A are expressed in Canadian dollars except where indicated otherwise.
The Company was incorporated on March 12, 1980 pursuant to the Business Corporations Act (British Columbia).
The Company's head office and registered office is located at Suite 810 – 789 West Pender Street, Vancouver, British Columbia, V6C 1H2.
On April 24, 2020, Tidal Royalty Corp. ("Tidal") and a private Ontario company named MichiCann Medical Inc. ("MichiCann") completed an amalgamation structured as a three-corned amalgamation whereby MichiCann was amalgamated with a newly incorporated subsidiary of Tidal, forming the Company.
Immediately prior to the amalgamation, Tidal completed a consolidation of the Tidal common shares on the basis of one post-consolidation Tidal share for every sixteen pre-consolidation Tidal common shares and changed its name from "Tidal Royalty Corp." to "Red White & Bloom Brands Inc.". The post-consolidation common shares of Tidal were exchanged for shares of MichiCann on a 2:1 basis. Due to the terms of the exchange ratio, the previous shareholders of MichiCann acquired a controlling interest in Tidal and as such, the amalgamation has been accounted for as a reverse takeover transaction with MichiCann being the resulting issuer for financial reporting purposes.
The amalgamation resulted in all the issued and outstanding shares of MichiCann being exchange for one common share and one convertible series II preferred share of the Company. Holders of MichiCann common share purchase warrants and MichiCann stock options received one replacement warrant or stock option, as applicable, with each exercisable for units consisting of one common share and one convertible series II preferred share.
All convertible series II preferred shares are convertible into common shares, on a one for one basis, at any time between seven months and twenty-four months after their initial issuance date.
An aggregate of 101,345,349 common shares, 101,345,349 convertible series II preferred shares, 595,430 share purchase warrants and 7,962,679 stock options were issued to the former holders of MichiCann common shares, MichiCann warrants and MichiCann stock options, respectively. Refer to Note 5 of the financial statements for further details on the amalgamation.
Certain shareholders have entered into voluntary escrow and/or escrow and leak out agreements totaling 36,844,823 common shares and the underlying shares for 3,000,000 options. The escrow agreements carry various release terms between 6 and 18 months.
As a result of the completion of this transaction, the former holders of MichiCann common shares now hold approximately 82.25% of the issued and outstanding common shares and former holders of Tidal shares now hold 17.75% of the common shares, in each case, on a non-diluted basis. A new board and new management assumed control of the Company on June 5, 2020, the shares of the Company resumed trading on the Canadian Securities Exchange under the new trading symbol "RWB".
Prior to the amalgamation, Tidal's primary business was investing in conventional equity, debt and other forms of investments in private and public companies in Canada and the United States.
RWB is an investment company with a focus on the United States cannabis industry. The Company's current investments are primarily in the investment in PharmaCo Inc. ("PharmaCo") which include the Debenture and its rights under the Put/Call Option Agreement (both described below) and the acquisition of Mid-American Growers Inc. ("MAG"), which completed on April 24, 2020 and is further described in the condensed interim consolidated financial statements for the three and six month periods ended June 30, 2020 and 2019.
The Company holds 8% senior secured convertible debenture (the "Debenture") and a put/call option agreement (the "Put/Call Option") to acquire all the issued and outstanding shares of its Michigan based investee PharmaCo, a private company incorporated under the laws of the State of Michigan. The Put/Call Option is subject to the Company completing the licensing requirements to operate in the State of Michigan. The Debenture is secured by all real and personal property and interests in the real and personal property of PharmaCo, whether now owned or subsequently acquired. The Debenture has a maturity date of January 4, 2023 unless the Debenture becomes due earlier.
PharmaCo was granted a Step 1 prequalification by the Medical Marihuana Licensing Board of the State of Michigan in October of 2018, and has been awarded multiple municipal approvals for grower permits (cultivation), manufacturing (including extraction and derivative manufacturing) and provisioning centers (dispensaries).
Since its prequalification was issued in October 2018, PharmaCo expanded its operations through the acquisition of multiple assets that cover cultivation, processing/manufacturing and provisioning centers throughout the state of Michigan.
PharmaCo has purchased three indoor cultivation facilities with a cumulative 110,000 square feet and 10 acres of outdoor cultivation. They control 2 locations for processing and currently operate 10 provisioning centers (dispensaries) as well as control an additional 8 dispensaries that have yet to be opened.
Plans are underway to roll out unified corporate branding to allow for even greater efficiency and scaling outside Michigan.
The Company closed the acquisition of MAG on April 24, 2020. MAG owns and operates a 3.6 million square foot facility in Granville, Illinois and holds both a hemp grower and hemp processing license with the state of Illinois.
Initial hemp crops are in the facility and the company intends to grow, process and sell various hemp and CBD products through this facility.
Lastly, the Company has a strategy of expanding to a limited number of additional states as the opportunity presents itself with the intent of only entering markets that allow for the operation at scale to try and maximize operational efficiencies generally only available to those businesses that operate at scale.
As at June 30, 2020, the Company's working capital was $47,893,519 (December 31, 2019 – working capital deficiency of $16,071,433) and has accumulated losses of $34,964,165 (December 31, 2019 - $14,677,625) since inception. The Company's operations are mainly funded with debt and equity financing, which is dependent upon many external factors and may be difficult to raise when required. The Company may not have sufficient cash to fund the acquisition and development of assets therefore will require additional funding, which if not raised, may result in the delay, postponement or curtailment of some of its activities.
These conditions indicate the existence of material uncertainties that may cast significant doubt about the Company's ability to continue as a going concern. If the going concern assumption were not appropriate, then adjustments would be necessary to the carrying values of assets and liabilities, the reported expenses and the statements of financial position classifications used. Such adjustments could be material.
Since December 31, 2019, the outbreak of the novel strain of coronavirus, specifically identified as "COVID-19", has resulted in governments worldwide enacting emergency measures to combat the spread of the virus. These measures, which include the implementation of travel bans, self-imposed quarantine periods and physical distancing, have caused material disruption to business globally resulting in an economic slowdown. Global equity markets have experienced significant volatility and weakness. The duration and impact of the COVID-19 outbreak is unknown at this time, as is the efficacy of the government and central bank interventions. It is not possible to reliably estimate the length and severity of these developments and the impact on the financial results and condition of the Company in future periods.
PROPOSED TRANSACTION
On July 25, 2019, the Company entered a LOI with Kings Garden Inc. ("Kings Garden") pursuant to which the Company will acquire all of the issued and outstanding shares of Kings Garden.
During the period ended June 30, 2020, the Company determine it would no longer pursue the acquisition of Kings Garden. As such, the $1,853,059 deposit advanced to Kings Garden under the terms of this LOI has been written off and is recorded in net loss.
SELECTED QUARTERLY FINANCIAL INFORMATION
Selected Annual Information
The following selected financial information is derived from the audited consolidated financial statements of the Company:
Years Ended December 31, (audited)
Net loss and comprehensive loss
Net loss per share – Basic & fully diluted
Totals assets
Cash dividends declared per share
Selected Quarterly Information
Quarters ended
June 30, 20
Mar 31, 20
Gross profit before fair value adjustments
Gross profit after fair value adjustment on biological assets
Listing expense
Net comprehensive (income) loss
Net (income) loss per share – Basic & fully diluted
For the six months period ended June 30, 2020 compared to the six months period ended June 30, 2019.
As a result of MAG acquisition, the Company began generating revenue on April 24, 2020. However, the Company still relies on external financings to generate capital. As a result, the Company has continued to incur losses since the its inception including for the years ended December 31, 2019 and 2018.
The Company's ability to continue operations is dependent on management's ability to secure financing. Management is actively pursuing such additional sources of financing, and there can be no assurance it will be able to secure additional financing required for its operations. Accordingly, these factors indicate material uncertainties that may cause significant doubt as to the Company's ability to continue as a going concern. The Company is considering various financing options to fund its operations.
On August 19, 2020, the Company entered into an agreement with PI Financial Corp. and Eight Capital to act as co-lead underwriters, on behalf of a syndicate of underwriters, pursuant to which the underwriters will purchase, on a bought-deal basis, an aggregate of 20 million units of RWB at a price of 75 cents per unit for aggregate gross proceeds of $15-million. On August 21, 2020, RWB and a syndicate of underwriters agreed to increase the size of the offering to 33.35 million units of RWB at a price of 75 cents per unit for aggregate gross proceeds of $25 million.
During the six month period ended June 30, 2020, the Company incurred a net loss and comprehensive loss of $20,286,540 (2019 - $7,404,237). The increase in net loss and comprehensive loss of $12,882,303 was mainly attributable to the net effect of:
·Increase of $1,512,050 in sales, from $Nil in 2019 to $1,512,050 in 2020. The increase is related to hemp sales generated by MAG after the acquisition.
·Increase of $272,745 in cost of sales from $Nil in 2019 to $272,745 in 2020. The increase related to hemp sales generated by MAG after the acquisition.
·Increase of $8,274,760 in fair value adjustment on biological assets from $Nil in 2019 to $8,274,760. The increase in related to fair value adjustment on biological assets and harvested inventory.
·Decrease of $383,826 in commission from $2,404,888 to $2,021,062 in 2020 The expense is related to the bridge financing transaction which was amended on January 10, 2020.
·Increase of $4,042,577 in interest expense from $Nil in 2019 to $4,042,577 in 2020. The expense is related to interest on the credit facility.
·Decrease of $1,150,502 in share-based compensation from $2,425,730 to $1,275,228 in 2020. The expense is related to stock options issued to executives, consultants, officers and employees of the Company.
·Increase of $755,744 in consulting fees from $Nil in 2019 to $755,744 in 2020. The increase was to support management in its effort to build infrastructure necessary for the Company's growth.
·Increase of $726,617 in marketing from $174,025 in 2019 to $900,652 in 2020. The increase was to support increased marketing and investor relations activities.
·Increase of $830,144 in professional fees from $Nil in 2019 to $830,144 in 2020. The increase in professional fees resulting from significant increase in legal and other professional work related to the amalgamation agreement, negotiations and the reverse takeover transactions.
·Increase of $740,963 in salaries and wages from $Nil in 2019 to $740,963 in 2020 The increase was to support management in its effort to build infrastructure necessary for the Company's growth. Another cause of the increase is the increased number of employees as a result of MAG acquisition.
·Decrease of $998,648 in general and administration from $1,637,946 in 2019 to $639,298 in 2020.
·Increase of $1,322,246 in depreciation from $Nil in 2019 to $1,322,246 in 2020. The increase is related to increased depreciable property as a result of MAG acquisition.
·Increase of $6,122,121 in foreign exchange gain from loss of $1,741,600 in 2019 to gain of $4,380,521 in 2020
·Increase of $480,143 in interest income from $1,864,340 in 2019 to $2,344,483 in 2020. The income is related to accrued interest on the Debenture.
·Increase of $316,931 in accretion of loans receivable from $1,124,015 in 2019 to $1,440,946 in 2020. The income is related to accretion on the Debenture.
·Increase of $425,610 in management fees from $Nil in 2019 to $425,610 in 2020. The management fee is related to management fee charged to MAG.
·Decrease of $588,402 in loss on revaluation of call option from $2,008,403 in 2019 to $1,420,001 in 2020. The loss is related to revaluation of Put/Call option.
·Increase of $149,947 in gain on disposal from $Nil in 2019 to $149,947 in 2020
·Increase of $1,853,059 in write off of deposit from $Nil in 2019 to $1,853,059 in 2020. The write off is related to Company's decision not to pursue the acquisition of Kings Garden.
·Increase of $91,143 in revaluation of investment from $Nil in 2019 to $91,143 in 2020
·Increase of $22,832,281 in listing expense from $Nil in 2019 to $22,832,281 in 2020. The expense is related to listing expense resulted from the reverse takeover transaction.
The increase in overall expenses during the six months period ended June 30, 2020 is in line with management expectation.
BIOLOGICAL ASSETS
The Company measures its biological assets at their fair value less costs to sell. This is determined using a model which estimates the expected harvest yield in grams for plants currently being cultivated, and then adjusts that amount for the expected selling price per gram and also for any additional costs to be incurred, such as post-harvest costs.
The following significant unobservable inputs, all of which are classified as level 3 on the fair value hierarchy, were used by management as part of this model:
·Estimated selling price – calculated as the weighted average historical selling price for all strains of hemp sold by the Company, which is expected to approximate future selling prices
·Stage of growth – represents the weighted average number of weeks out of the 15 week growing cycle that biological assets have reached as of the measurement date
·Yield by plant – represents the expected number of grams of finished hemp inventory which are expected to be obtained from each harvested hemp plant
·Wastage – represents the weighted average percentage of biological assets which are expected to fail to mature into hemp plants that can be harvested
·Post-harvest costs – calculated as the cost per gram of harvested hemp to complete the sale of hemp plants post harvest, consisting of the cost of direct and indirect materials and labour related to labelling and packaging
The following table quantifies each significant unobservable input, and also provides the impact a 10% increase/decrease in each input would have on the fair value of biological assets.
10% Change as at
Estimated selling price
$0.45 per gram
Stage of growth
Average yield by plant
Wastage
Post-harvest costs
The Company accretes fair value on a straight line basis according to stage of growth. As a result, a hemp plant that is 50% through its 15 week growing cycle would be ascribed approximately 50% of its harvest date expected fair value (subject to wastage adjustments).
The Company's biological assets consist of approximately 670,000 plants as at June 30, 2020. The continuity of biological assets is as follows:
Carrying amount, December 31, 2019
Acquired from MAG acquisition
Fair value adjustment
Transferred to inventory upon harvest
Carrying amount, June 30, 2020
The Company's estimates, by their nature, are subject to changes that could result from volatility of market prices, unanticipated regulatory changes, harvest yields, loss of crops, changes in estimates and other uncontrollable factors that could significantly affect the future fair value of biological assets.
These estimates include the following assumptions:
(a)Selling prices are determined by estimating the Company's expected average selling price and mix of product strains;
(b)Cost incurred and remaining costs to complete were estimated by calculating the average production costs up to the point of harvest over the total production period;
(c)The percentage of costs incurred for each stage of plant growth;
(d)The stage of plant growth at which point of harvest is determined;
(e)Costs to sell and other fulfillment costs were determined by estimating the Company's average cost per pound; and
(f)Expected yields of harvested plants are estimated and risk adjusted at each stage of growth.
The Company has a history of operating losses and of negative cash flow from operations. The Company will remain reliant on capital markets for future funding to meet its ongoing obligations.
The Company's ability to continue operations is dependent on management's ability to secure additional financing. Management is actively pursuing such additional sources of financing, and there can be no assurance it will be able to secure additional financing required for its operations. Accordingly, these factors indicate material uncertainties that may cause significant doubt as to the Company's ability to continue as a going concern.
As at June 30, 2020, the Company had working capital of $47,893,519 (2019 - working capital deficiency of $16,071,433), consisting of cash in the amount of $2,599,154 (2019 - $1,378,687), prepaid expenses of $447,755 (2019 - $124,140), accounts receivable of $2,196,476 (2019 - $1,463,388), biological assets of $8,635,812 (2019 - $Nil), inventory of $12,022,264 (2019 - $Nil), current portion of loans receivable of $44,852,544 (2019 - $36,504,397), net of accounts payable and accrued liabilities of $6,803,649 (2019 - $1,334,370), contingent liabilities of $14,889,600 (2019 - $Nil), convertible debenture of $Nil (2019 - $17,597,600), lease liabilities of $71,531 (2019 - $Nil) and credit facility of $Nil (2019 - $36,610,075)
The Company believes that the current capital resources are not sufficient to pay overhead expenses for next twelve months and is currently seeking additional funding to fund its overhead expenses and its continuous search for other business opportunities. The Company will continue to monitor the current economic and financial market conditions and evaluate their impact on the Company's liquidity and future prospects.
As at June 30, 2020, the shareholders' equity of $149,579,014 (2019 - $52,437,424) consisted of common shares of $104,174,967 (2019 - $61,366,160), convertible series I preferred shares of $3,664,799 (2019 - $Nil), convertible series II preferred shares of $63,399,626 (2019 - $Nil), contributed surplus of $11,380,862 (2019 - $5,748,889), cumulative translation adjustment of $1,922,925 (2019 - $Nil) and deficit of $34,964,165 (2019 - $14,677,625).
As at June 30, 2020, there is no commitment for capital expenditures.
As of June 30, 2019, the Company lease for office space in Toronto expires on September 2, 2020. The Company's future total monthly rental payments for the leased premises is approximately $71,531.
OUTSTANDING SHARE DATA
a)Authorized Share Capital: unlimited common shares without par value.
b)Issued and Outstanding as at June 30, 2020;
a.151,421,866 common shares (2019 – 80,962,182),
b.3,181,250 convertible series I preferred shares (2019 – Nil)
c.112,040,549 convertible series II preferred shares (2019 – Nil)
On April 24, 2020, the Company issued 17,133,579 common shares to MAG Sellers on closing of the MAG acquisition.
On April 24, 2020, as a result of the completion of the reverse takeover transaction, the Company issued 23,464,462 common shares to holders of Tidal common shares.
On April 24, 2020, as a result of the completion of the reverse takeover transaction, the Company issued 7,381,000 common shares to finders.
On April 30, 2020, the Company issued 429,375 common shares pursuant to the exercise of 429,375 warrants for gross proceeds of $343,500.
On May 25, 2020, the Company issued 187,500 common shares pursuant to the exercise of 187,500 warrants for gross proceeds of $150,000.
On June 8, 2020, the Company issued 975,000 common shares pursuant to the exercise of 975,000 stock options for gross proceeds of $487,500.
On June 10, 2020, the Company issued 13,500,000 common shares pursuant to High Times Licensing Agreement.
On June 10, 2020, the Company issued 1,800,000 common shares to finder pursuant to High Times Licensing Agreement.
On June 30, 2020, the Company issued 2,339,200 common shares to investor to settle outstanding advances of $5,848,000.
Convertible Series I Preferred Shares
On April 24, 2020, as a result of the completion of the reverse takeover transaction, the Company issued 3,181,250 convertible series I preferred shares to Tidal shareholders.
Convertible Series II Preferred Shares
On April 24, 2020, the Company issued 101,345,349 to holders of MichiCann convertible series II preferred shares pursuant to Amended Agreement of the reverse takeover transaction.
On April 24, 2020, as a result of the completion of the reverse takeover transaction, the Company issued 7,381,000 convertible series II preferred shares to finders.
On June 8, 2020, the Company issued 975,000 convertible series II preferred shares pursuant to the exercise of 975,000 stock options for gross proceeds of $487,500.
On June 30, 2020, the Company issued 2,339,200 convertible series II preferred shares to investor to settle outstanding advances of $5,848,000 at a deemed price of $2,50 per unit.
During the year ended December 31, 2018, the Company issued 595,430 finders' warrants with an exercise price of $1.00 per common share of the Company for a period of two years. During the six months ended June 30, 2020, the Company issued 1,186,711 warrants related to the reverse takeover transaction and 4,500,000 special warrants related to the 1251881 B.C. Ltd. acquisition. No warrants were issued during the six months ended 2019.
Warrant transactions and the number of warrants outstanding are summarized as follows:
Balance at June 30, 2020
The following warrants were outstanding at June 30, 2020:
Number of Warrants Outstanding
Number of Warrants Exercisable
On January 11, 2020, the Company granted 100,000 stock options to an employee of the Company. These options vested 100% on January 11, 2020.
On January 11, 2020, the Company granted 271,429 stock options to an employee of the Company. These options vest 12.5% on April 11, 2020, 12.5% on July 11, 2020, 12.5% on October 11, 2020, 12.5% on January 11, 2021, 12.5% on April 11, 2021, 12.5% on July 11, 2021, 12.5% on October 11, 2021 and the remaining 12.5% on January 11, 2022.
On April 1, 2020, the Company granted 161,250 stock options to employees of the Company. These options vest 8.3% on July 1, 2020, 8.3% on October 1, 2020, 8.3% on January 1, 2021, 8.3% on April 1, 2021, 8.3% on July 1, 2021, 8.3% on October 1, 2021, 8.3% on January 1, 2022, 8.3% on April 1, 2022, 8.3% on July 1, 2022, 8.3% on October 1, 2022, 8.3% on January 1, 2023 and 8.3% on April 1, 2023. These stock options have an exercise price of $1.00 and expire on April 1, 2025.
The options granted during the period ended June 30, 2020 have a fair value of $1,789,891 (2019 - $1,997,115) estimated using the Black-Scholes option pricing model with the following weighted average assumptions:
Expected term (in years)
Estimated dividend yield
Estimated volatility
During the six months ended June 30, 2020, the Company recognized $1,275,228 (2019 - $2,425,730) in share-based compensation under graded vesting.
Options transactions and the number of options outstanding are summarized are as follows:
The following options were outstanding and exercisable at June 30, 2020:
Grant Date
Number of Options Outstanding
Number of Options Exercisable
FINANCIAL AND OTHER INSTRUMENTS
The Company's financial assets and liabilities consist of cash, accounts receivable, loans receivable, call option, accounts payables and accrued liabilities, convertible debentures, and bridge financing.
Assets and liabilities measured at fair value on a recurring basis were presented on the Company's condensed interim statements of financial position as at June 30, 2020 and December 31, 2019 as follows:
Fair Value Measurements Using
Quoted prices in
for identical
unobservable
(Level 1)
Refundable deposits
Accounts payable and accrued liabilities
Loan payable
Convertible debentures
Financial instruments measured at fair value are classified into one of three levels in the fair value hierarchy according to the relative reliability of the inputs used to estimate the fair values. The three levels of the fair value hierarchy are:
·Level 1 – Unadjusted quoted prices in active markets for identical assets or liabilities
·Level 2 – Inputs other than quoted prices that are observable for the asset or liability either directly or indirectly, and
·Level 3 – valuation techniques using inputs for the asset or liability that are not based on observable market data (unobservable inputs).
On January 4, 2019, the Company entered a Put/Call Option Agreement with PharmaCo. The call option is financial instrument measured at fair value through profit or loss. As at June 30, 2020, the fair value of the call option was determined to be $19,828,224 (December 31, 2019 - $19,547,757). During the period ended June 30, 2020, the Company recorded revaluation of call option of $1,420,001 (2019 - $2,008,403).
The fair values of other financial instruments, which include accounts payable and accrued liabilities and loans receivable, approximate their carrying values due to the relatively short-term maturity of these instruments.
(a)Credit Risk
Financial instruments that potentially subject the Company to a concentration of credit risk consist primarily of cash and loans receivable. The Company limits its exposure to credit loss by placing its cash with high credit quality financial institutions. Deposits held with these institutions may exceed the amount of insurance provided on such deposits. The Company is exposed to significant credit risk on its loans receivable. The carrying amount of financial assets represents the maximum credit exposure.
(b)Foreign Exchange Rate
The Company has cash and loans receivable denominated in US dollars and, as a consequence, the financial results of the Company's operations as reported in Canadian dollars are subject to changes in the value of the Canadian dollar relative to the US dollar. Therefore, exchange rate movements in the US dollar can have a significant impact on the Company's operating results due to the translation of monetary assets.
At June, 2020, a 5% (2019 – 4%) strengthening (weakening) of the Canadian dollar against the US dollar would have increased (decreased) the Company's net income/loss by approximately $368,000 (2019 - $2,064,000)
(c)Interest Rate Risk
Interest rate risk is the risk that future cash flows will fluctuate as a result of changes in market interest rates. Interest earned on cash and cash equivalents is at nominal interest rates, and therefore the Company does not consider interest rate risk to be significant.
As at June 30, 2020, the interest rate on loans receivable and convertible debentures is fixed based on the contracts in place. As such, the Company is exposed to interest rate risk to the extent of these financial assets and liabilities.
(d)Liquidity Risk
Liquidity risk is the risk that the Company will not be able to meet its financial obligations as they fall due. The Company manages its liquidity risk by forecasting cash flows from operations and anticipated investing and financing activities.
As at June 30, 2020, the Company had a cash balance of $2,599,154 (December 31, 2019 - $1,378,687) available to apply against short-term business requirements and current liabilities of $22,860,486 (December 31, 2019 - $55,542,045). All of the liabilities presented as accounts payable and accrued liabilities are due within 90 days of June 30, 2020.
On January 10, 2020, the existing facility was amended (the "Amended Facility") pursuant to an amended and restated agreement between the Lender, the Company (as guarantor) and PharmaCo, RWB Illinois, Inc. ("RWB") and MAG (collectively as borrowers).
The Amended Facility increased the facility limit to USD $49,750,000 in the aggregate of which USD $27,000,000 was to refinance the existing facility and USD $22,750,000 was used to complete the MAG acquisition and for general corporate and operating purposes.
The obligations under the Amended Facility are due and payable on the earlier of:
a)the termination date (being July 10, 2021 subject to the right of the Borrowers to extend the termination date by paying a 1% fee for two additional six-month periods for a total of 30 months); and
b)the acceleration date (being the earlier of the date of an insolvency event or that a demand notice is delivered pursuant to the terms of the Amended Facility).
In respect of the advance made by the Lender to the Borrowers under the Facility, the Borrowers agreed to pay the Lender:
a)Interest at the prime rate plus 12% per annum calculated and compounded monthly, payable monthly in arrears on the last day of each month; and
b)A work fee equal to $1,492,500 (the "Amended Work Fee") (paid by the Company)
The Company's loan payable consists of a loan with a commercial lender acquired with the acquisition of Mid-American Growers, Inc. The principal of USD $1,676,000 bears interest at 1% per annum. The Company is required to make monthly repayments of USD $89,335 until April 6, 2022 at which point the loan will be fully repaid. As of June 30, 2020 $1,095,706 of the loan is payable within 12 months and is classified as a current liability on the condensed interim statements of financial position. The remaining $1,441,118 payable is classified as a non-current liability.
The following outlines use of estimates and judgements in the preparation of these condensed interim consolidated financial statements, and significant accounting policies of the Company which have not been included in the Company's annual audited consolidated financial statements for the year ended December 31, 2019:
While the Company's biological assets are within the scope of IAS 41 Agriculture, the direct and indirect costs of biological assets are determined using an approach similar to the capitalization criteria outlined in IAS 2 Inventories. They include the direct cost of seeds and growing materials as well as other direct costs such as utilities and supplies used in the growing process. Indirect labour for individuals involved in the growing and quality control process is also included, as well as depreciation on production equipment and overhead costs. Direct and indirect costs of biological assets are capitalized based on
standard costing as they are incurred and they are all subsequently recorded within the line item 'cost of sales' in profit or loss in the period that the related product is sold. The variance between amount capitalized based on standard costing and actual costs is recorded within the line item 'cost of sales' in profit or loss in the period that related costs are incurred. Unrealized fair value gains/losses on growth of biological assets are recorded in a separate line on the face of the consolidated statements of comprehensive loss. Biological assets are measured at their fair value less costs to sell on the consolidated statements of financial position.
The direct and indirect costs of inventory initially include the fair value of the biological asset at the time of harvest. They also include subsequent costs such as materials, labour and depreciation expense on equipment involved in packaging, labeling and inspection. All direct and indirect costs related to inventory are capitalized as they are incurred and they are subsequently recorded within 'cost of sales' in profit or loss at the time hemp is sold, except for realized fair value amounts included in inventory sold which are recorded as a separate line on the face of the consolidated statements of comprehensive loss. Inventory is measured at lower of cost or net realizable value on the consolidated statements of financial position.
The Company follows the following steps for accounting for revenue from contracts with customers:
(1)Identify the contract with customer
(2)Identify the performance obligation(s)
(3)Determine the transaction price
(4)Allocate the transaction price to the performance obligation(s)
(5)Recognize revenue when/as performance obligations(s) are satisfied
Revenue from the direct sale of hemp to customers for a fixed price is recognized when the Company transfers control of the goods to the customer at the point of sale and customer has paid for the goods.
CRITICAL ACCOUNTING ESTIMATES
The preparation of consolidated financial statements requires the Company to select from possible alternative accounting principles, and to make estimates and assumptions that determine the reported amounts of assets and liabilities at the balance sheet date and reported costs and expenditures during the reporting period. Estimates and assumptions may be revised as new information is obtained, and are subject to change. The Company's accounting policies and estimates used in the preparation of the consolidated financial statements are considered appropriate in the circumstances, but are subject to judgments and uncertainties inherent in the financial reporting process. In preparing these MD&A, management has made significant assumptions regarding the circumstances and timing of the transactions contemplated therein, which could result in a material adjustment to the carrying amount of certain assets and liabilities if changes to the assumptions are made.
The areas involving a higher degree of judgment or complexity, or areas where assumptions and estimates are significant to the financial statements are consistent with those disclosed in the notes to the consolidated financial statements for the year ended December 31, 2019.
ADOPTION OF NEW AND REVISED STANDARDS AND INTERPRETATIONS
IFRS 16 Leases
The Company adopted IFRS 16 Leases ("IFRS 16") effective January 1, 2019. This new standard sets out the principles for the recognition, measurement, presentation and disclosure of leases for both the lessee and the lessor. The new standard introduces a single lessee accounting model that requires the recognition of all assets and liabilities arising from a lease. The main features of the new standard are as follows:
·An entity identifies as a lease a contract that conveys the right to control the use of an identified asset for a period in exchange for consideration.
·A lessee recognizes an asset representing the right to use the leased asset, and a liability for its obligation to make lease payments. Exceptions are permitted for short-term leases and leases of low-value assets.
·A lease asset is initially measured at cost, and is then depreciated similarly to property, plant and equipment. A lease liability is initially measured at the present value of the unpaid lease payments.
·A lessee presents interest expense on a lease liability separately from depreciation of a lease asset in the statement of profit or loss and other comprehensive income.
·A lessor continues to classify its leases as operating leases or finance leases, and to account for them accordingly.
·A lessor provides enhanced disclosures about its risk exposure, particularly exposure to residual-value risk.
The new standard supersedes the requirements in IAS 17 Leases, IFRIC 4 Determining whether an Arrangement contains a Lease, SIC-15 Operating Leases – Incentives and SIC-27 Evaluating the Substance of Transactions Involving the Legal Form of a Lease.
The Company reviewed its operations and noted no material impact on the adoption of IFRS 16.
Key management compensation
Key management personnel include the directors and officers of the Company. Key management compensation consists of the following:
Consulting fees paid or accrued to a company controlled by the director of the Company
Salary paid to management of the company
i)$179,250 (June 30, 2019 - $Nil) of salaries were accrued to Brad Rogers, the Company's Chief Executive Officer.
ii)$69,562 (June 30, 2019 - $Nil) of salaries were paid to David Quinn, the Company's former Chief Financial Officer.
iii)$98,950 (June 30, 2019 - $27,000) of consulting fees, $17,850 was paid to Executive Management Solutions Ltd., a company controller by director of the Company, and $81,000 was accrued to Marchese Design Inc., a company controlled by a director of the Company.
There were no post-employment benefits, termination benefits or other long-term benefits paid to key management personnel for the six months ended June 30, 2020 and 2019.
Related party liabilities
The following amounts are included in accounts payable and accrued liabilities as at June 30, 2020 and December 31, 2019:
Marchese Design Inc.
David Quinn
Brad Rogers
Total related party payables
Amounts due to related parties have no stated terms of interest and/or repayment, and are unsecured.
The Company did not enter into any off-balance sheet arrangements during the period.
OUTSTANDING SHARES DATA AS OF REPORT DATE:
Issued and outstanding common shares
Series I preferred shares
Series II preferred shares
Warrants outstanding
Stock options outstanding
MANAGEMENT'S RESPONSIBILITY FOR FINANCIAL STATEMENTS
The information provided in this report, including the consolidated financial statements, is the responsibility of Management. In the preparation of these statements estimates are sometimes necessary to make a determination of future values for certain assets or liabilities. Management believes such estimates have been based on careful judgments and have been properly reflected in the accompanying consolidated financial statements.
The investment in the common shares must be regarded as highly speculative due to the proposed nature of the Company's business and its present stage of operations.
There can be no assurance that an active and liquid market for the Company's common shares will develop and an investor may find it difficult to resell the common shares.
The Chief Executive Officer ("CEO") and Chief Financial Officer ("CFO") are responsible for designing internal controls over financial reporting in order to provide reasonable assurance regarding the reliability of financial reporting and the preparation of the Company's consolidated financial statements for external purposes in accordance with IFRS. The design of the Company's internal control over financial reporting was assessed as of the date of this MD&A.
Based on this assessment, it was determined that certain weaknesses existed in internal controls over financial reporting. As indicative of many small companies, the lack of segregation of duties and effective risk assessment were identified as areas where weaknesses existed. The existence of these weaknesses is to be compensated for by senior management monitoring, which exists. The officers will continue to monitor very closely all financial activities of the Company and increase the level of supervision in key areas. It is important to note that this issue would also require the Company to hire additional staff in order to provide greater segregation of duties. Since the increased costs of such hiring could threaten the Company's financial viability, management has chosen to disclose the potential risk in its filings and proceed with increased staffing only when the budgets and workload will enable the action. The Company has attempted to mitigate these weaknesses, through a combination of extensive and detailed review by the CEO of the financial reports.
Although current management has demonstrated its ability to raise funds in the past, with the current financial market conditions and global economic uncertainty, there can be no assurance they will be able to do so in the future. The financial results and discussion do not include the adjustments that would be necessary should the Company be unable to continue as a going concern. Such adjustments could be material.
Letter of intent with Platinum Vape
On July 21, 2020, the Company entered a letter of intent ("LOI") with various entities operating under the Platinum Vape umbrella ("PV"). On August 31, 2020, the LOI was superseded by a securities purchase agreement ("Securities Purchase Agreement"). Under the terms of the Securities Purchase Agreement, the Company will acquire all of the issued and outstanding shares of PV for consideration is as follows:
·USD $7,000,000 in cash paid on closing;
·USD $13,000,000 in cash paid 120 days after the closing date;
·A USD $15,000,000 convertible promissory note with a term of three years that may be converted into common shares of the Company at a price of USD $0.57 per common share. The convertible promissory note shall be secured by the PV assets and ownership interests therein; and
·Cash or common shares of the Company with the equivalent value of USD $25,000,000 payable based on achievement of the following milestones during the 12-month period immediately following the closing:
oUSD $7,500,000 paid on PV achieving revenue of USD $80,000,000;
oUSD $7,500,000 paid on PV achieving revenue of USD $90,000,000; and
oUSD $10,000,000 paid on PV achieving revenue of USD $100,000,000.
On September 14, 2020, the Company closed the Securities Purchase Agreement. The transaction will be treated as a business combination as PV is deemed to be a business in accordance with IFRS 3. The assets and liabilities of PV cannot be disclosed at this time because the Company is still in the process of completing the closing balance sheet and the valuation of the assets and liabilities acquired.
Notice of Exercise for PharmaCo
On July 24, 2020, the Company provided notice to PharmaCo its intention to exercise its option to acquire all of the outstanding common shares of PharmaCo ("PharmaCo Common Shares"). As consideration for the PharmaCo Common Shares, the Company will issue 37,000,000 common share and 37,000,000 convertible series II preferred shares. PharmaCo has processes capable of generating outputs; therefore, PharmaCo meets the definition of a business. Accordingly, as PharmaCo qualifies as a business in accordance with IFRS 3 Business Combinations, the acquisition will be accounted for as a business combination. The Company is in the process of assessing the financial implications of the business combination. The acquisition is subject to approval of the regulatory authorities.
Growing and sales agreement with 39 Industries, LLC
On July 24, 2020, the Company entered a growing and sales agreement ("G&S Agreement") with 39 Industries, LLC ("39 Hemp"). Under the terms of the G&S Agreement 39 Hemp with provide deliveries of Purple Goliath Hemp Seeds (the "Seeds") throughout 2020 to 2022. The Company will cultivate the seeds and harvest and process or leave unprocessed the resulting hemp plants from the Seeds.
Partnership agreement with Avicanna Inc.
On August 11, 2020, the Company entered a distribution agreement with Avicanna Inc. ("Avicanna"). Under the terms of the distribution agreement, the Company will obtain the right to be the exclusive distributor of Avicanna's 'Pura H&W' branded cosmetic products and also have the right to purchase Avicanna's cosmetic products for distribution. As consideration for the distribution agreement, the Company shall pay Avicanna an upfront licensing fee of USD $250,000 along with minimum purchase requirements as follows:
·Year 2: 50,000 units
·Year 3: 100,000 units
Bought deal financing agreement
On August 25, 2020, the Company entered into an underwriting agreement with PI Financial Corp. and Eight Capital (the "Underwriters") to act as co-lead underwriters, on behalf of a syndicate of underwriters, pursuant to which the underwriters will purchase, on a bought-deal basis, units of the Company. Under the terms of the underwriting agreement, the Company will sell 29,000,000 units at a price of $0.75 per unit for aggregate gross proceeds of $21,750,000. Each unit shall consist of one common share and one common share purchase warrant. Each warrant entitles the holder to purchase one common share at a price of $1.00 per share for a period of 24 months.
In connection with Offering, the Company has granted the Underwriters an option, exercisable in whole or in part at any time for a period of 30 days following the closing date of the offering, to increase the offering by up to an additional 4,350,000 units for additional gross proceeds of up to $3,262,500 for total aggregate gross proceeds of $25,012,500, assuming the full exercise of the over-allotment option.
The Company has agreed to pay a cash commission of 6.0 per cent of the gross proceeds of the offering and will issue to the underwriters compensation options equal to 6.0 per cent of the aggregate number of units sold under the offering. The compensation options will be exercisable into units of the company at a price per compensation option equal to the offering price for a period of 24 months from the closing of the offering.
Convertible debenture
On September 11, 2020, the Company issued a $10,000,000 principal amount convertible debenture to an arm's-length investor by way of a private placement. The convertible debenture bears interest at the rate of 5% per annum, is unsecured and matures on the date of closing of the Company's bought deal financing. The convertible debenture is automatically convertible into units of the Company at a price of $0.75 per unit should there be either a liquidation event or the bought deal financing terminates. Each units will consist of one common share of the Company and one common share purchase warrant. Each whole warrant is exercisable into one common share at a price of $1.00 per warrant for a period of 24 months from the date of issuance. If at any time prior to the expiry date, the weighted average trading price of the common share exceeds $1.50 for a period of 10 consecutive trading days, the Company may provide written notice to the holder that the warrants will expire on the 30th days following the notice.
Additional information about the Company is available on SEDAR at www.sedar.com.

redpajama_set_name: RedPajamaCommonCrawl


text:
'Land & intellectual property in SA are concerns for US'
The American Chamber Of Commerce says the values US firms bring to SA should be safe guarded.
Picture: freeimages.com
Mmusi Maimane
Land Holdings Bill
American Chamber of Commerce
Govan Whittles | 2440 days ago
JOHANNESBURG - The American Chamber Of Commerce (Amcham) says foreign land ownership and intellectual property rights remain two of their biggest concerns around investment in South Africa, adding the values US companies bring to the country should be safe guarded.
Amcham on Monday hosted the DA's new leader Mmusi Maimane to hear his views.
Maimane was elected leader of the official opposition to the current ruling party earlier this month.
The chamber is apolitical and Maimane says he believes restrictions on foreign ownership of land for commercial use should not be overdone.
Amcham executive director Carol O'Brien said, "We're in favour of a market-based economy and we believe in a lot of the values that American business brings to South Africa in terms of intellectual property policies are very important."
She said the chamber was also in favour of respecting the sanctity of land ownership
President Jacob Zuma announced a new land bill restricting foreign ownership of land.
If the new land holdings bill is passed in its current form, foreign nationals will be classed as non-citizens and unable to own land in South Africa.
More in Local
Minerals Councils warns of dire consequences if Eskom tariff hike is approved
Dropout prevention should be a goal of SA school system, says NGO
Lesufi: Days of township kids being sent to suburban schools will soon be over
The landmark trial over death of Burkina revolutionary Sankara


text:
Suspended Pennsylvania school teacher Caught With Boy Student Shot Dead In Driveway
Mum, Stephanie Furneaux Finds 'Chilling' Note By Daughter, 7, Threatening To 'Poison' Family
Dad Allegedly Rams SUV Into North Carolina Restaurant, Killing Daughter
Florida High School Shooting, 17 Killed, Suspect In Custody
Four-Year-Old, Uyathandwa Stuurman's Grandparents Struggling To Deal With Her Murder
'Cornerstore Caroline': Woman calls the Police On 9-year-old Boy For Sexual Assault
German Woman Jailed For Prostituting Young Son Online
MORGUE WORKER JENNIFER BURROWS ARRESTED AFTER GIVING BIRTH TO DEAD MAN'S BABY
Kenyan woman Ann O'Brien jailed 10 years for running brothels in UK
British Woman Anna Campbell Killed Fighting With All-Female Kurdish Militia In Syria
Georgia Woman Calls Police On Black Man Babysitting White Kids
Nigeria: I Sold My Baby To Raise Money For Her Siblings, Says Blessing Chukwu
HomeEDUCATION
Many Reasons Why Chinese Women Are Avoiding PhDs
Women account for just over a third of PhD students in China even though they make up just over half the number of postgraduate students – a disparity
'Comfort Women' film 'Great Cold' To Rescreen In The Chinese Mainland After Poor January Debut
Actress Alice Chan reveals non-existent sex life a reason behind divorce: 'He hardly touched me'
Jackie Chan's daughter Etta Ng announces marriage to girlfriend on Instagram
Women account for just over a third of PhD students in China even though they make up just over half the number of postgraduate students – a disparity some academics blame on social pressures, misogyny in the profession and even a fear of being unable to find a husband.
That figure stands out because women in China have reached parity with men at every other level in education – elementary, high school, college and graduate school.
According to Ministry of Education figures, women accounted for only 38.63 per cent of overall PhD students in China in 2016, but accounted for 50.6 per cent of all postgraduates.
But in the same year in the United States, women were awarded more than half of doctorates – 52.1 per cent – for the eighth straight year, according to figures from the Council of Graduate Schools.
Some observers say marriage and children change women's priorities, but others point to the structure of China's higher education system.
"There is a misogynist rhetoric against female PhDs who are labelled as a 'third type' of person, not male, not female," said Xiao Hui, a professor of modern Chinese literature and culture at the University of Kansas.
"The social stigma attached to female PhDs has caused a rising fear of becoming a 'leftover woman' among young women," she said.
"The pressure to get married and have children is bigger for female PhD students," according to a 25-year-old cell biology PhD candidate at Peking University.
The postgraduate, who asked only to be identified by her surname Jiang, is one of more than 130,000 female PhD students in China.
She graduated from Peking University's School of Life Science – one of the best in the country – in 2015 and subsequently enrolled in its six-year PhD programme.
She said family and marriage could be a distraction for female academics, especially in subjects like hers that require a lot of time to be spent in labs, such as her own.
"Maybe it's not a concern for those who are determined to devote their time to science," said Jiang, adding that some leading female academics were "still single and they don't seem to be bothered".
Iris Yan, a 26-year-old PhD candidate in comparative literature at Peking University, said her family had not pressured her to have children, but said she still felt aware of the passing of time.
"Female PhDs are like, 'ah, I will be at least 30 when I have my first child,'" she said.
In China, which has seen a revival of conservative family values, marriage and reproduction are still viewed as a woman's top priorities, Xiao said. "Those are considered a woman's supreme duties that define her femininity and guarantee the essential meaning and value of her life.
"As a result, women are expected to shoulder more of the burden of domestic work, and have to work harder if they wish to pursue an academic path," she said.
Angharad Fletcher, a PhD student who specialises in gendered labour at King's College London, echoed that claim.
"While education and accomplishment is, of course, venerated, I think many women still battle against the stigma of becoming sheng nu, despite the positive rebranding of that term in Hong Kong and Taiwan," Fletcher said.
Sheng nu refers to the so-called "leftover" women who remain unmarried beyond their late twenties.
Fletcher said that women all over the world found it difficult to strike a balance between academic work and family commitments.
"The time you would hope to be devoting to your academic career [mid-twenties to mid-thirties], is also the time many families would expect you to be seeking a life partner," she said. "It takes a focused woman to shut out the background noise of these expectations, and it is difficult."
Yan said it was hard for women to defer motherhood, but "if you have the money and resources to freeze eggs, you may be well-positioned to have a child [later in life]".
However, a further complication comes from China's ban on unmarried women from freezing their eggs, which has forced single women in the mainland to go further afield to undergo the procedure.
Xu Duoduo, a sociology professor at the Hong Kong University of Science and Technology, said there were other factors to consider beyond the demands to marry and have children.
"The [government-approved] quota for PhD programmes is mainly given to Stem subjects," she said, referring to the disciplines of science, technology, engineering and mathematics.
In China, as in many Western countries, fewer women are studying these subjects.
Science and engineering subjects account for about 60 per cent of overall doctorate studies in China, but women make up less than half the students in these fields – 40 and 29 per cent respectively – according to education ministry figures.
"The belief is that women are under larger pressure to get married and have children, but if you look at the figures, the direct cause is fewer women are studying the subjects," Xu said.
Ivy Wong Wang, a psychology professor at the University of Hong Kong, suggested the psychological differences between the sexes could be deterring women from studying Stem subjects.
Women tend to underestimate themselves, she said, giving the examples of schoolgirls who typically report higher levels of anxiety about studying maths and science subjects, even though their overall grades are roughly the same as boys'.
Sylvia Beyer, a psychology professor at the University of Wisconsin-Parkside, said, "Underestimating their ability is certainly a factor in women's lower participation in Stem subjects and careers."
Beyer highlighted the situation in the United States, where women have made up most of the college student population since 1979. But in 2017, they accounted for only about 30 per cent of Stem degree holders, according to figures from the US Department of Education.
Wong said lower levels of concern about gender equality worsened this disparity in Stem participation across East Asia.
The enduring influence of Confucian culture – in which wives are traditionally seen as dependents of their husbands, whom they must obey – may also be exacerbating the problem.
Across the region there are differences when it comes to gender equality and marriage. Women in China get married at the age of 23.9 on average, markedly younger than in Japan (28.8), South Korea (28.9) and Taiwan (29.2), a 2010 study found.
"In China, given that adults are very involved in [their children's] studies, they may make a lot of comments that transmit gender stereotypical beliefs," Wong said.
Beyer said the ongoing problem of sexual harassment was another factor deterring women from PhD studies.
The rise of the #MeToo movement in China has led to a string of complaints about senior academics at some of the country's leading universities.
Chinese professor sacked as #MeToo gains traction on campuses
In some cases the academics have been disciplined or even sacked, but in others universities have been criticised for dismissing or trying to play down the accusations.
"I am quitting academia after graduation because of my adviser's sexual harassment," said a 25-year-old female PhD student in developmental biology, who asked to be identified as Zhang.
"Other girls in the lab where my adviser serves as a principal investigator are experiencing sexual harassment as well," she said. "But they won't talk because the adviser decides whether and when we can graduate and get the PhD degree."
A principal investigator is the holder of an independent grant and the lead researcher who oversees the grant project in sciences, like a laboratory study or a clinical trial.
Zhang said she had been diagnosed with severe depression after the adviser accused her of being "mentally ill" for reporting the sexual harassment to the school's committee.
So far her complaint has had no effect, but she has warned her supervisor that she now carries recording equipment and will publicise any repeat incidents.
Xu, the sociology professor from HKUST, warned that a hostile academic environment could become self-sustaining.
She said men were more likely to continue their studies after receiving a PhD, which meant they "later become leaders of the labs and school departments, which contributes to the sexual harassment in colleges".
But at Peking University, 25-year-old Jiang remains optimistic and said she looked to role models such as Li Qing, a leading academic in her own department, and Yan Nieng, the renowned structural biologist who is now a professor at Princeton University.
Yan previously taught at Tsinghua in Beijing, one of the country's leading universities, where she became the university's youngest PhD adviser while still in her late twenties.
"I think more female scientists in China will be encouraged by her," Jiang said.
Source: scmp.com
EDUCATION 106 China News 46 Chinese PhD students 1
Ex-Kurdish Party MP Leyla Birlik Seeks Asylum In Greece
Iranian Women Defeat India To Win Gold In Kabaddi At Asian Games


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using Remotion.Linq.Clauses;
using Remotion.Linq.Clauses.ResultOperators;
using Remotion.Linq.Utilities;

namespace Remotion.Linq.Parsing.Structure.IntermediateModel
{
  /// <summary>
  /// Represents a <see cref="MethodCallExpression"/> for the different overloads of <see cref="O:System.Linq.Queryable.Sum"/>.
  /// It is generated by <see cref="ExpressionTreeParser"/> when an <see cref="Expression"/> tree is parsed.
  /// When this node is used, it marks the beginning (i.e. the last node) of an <see cref="IExpressionNode"/> chain that represents a query.
  /// </summary>
  internal class SumExpressionNode : ResultOperatorExpressionNodeBase
  {
    public static readonly MethodInfo[] SupportedMethods = new[]
                                                           {
                                                               GetSupportedMethod (() => Queryable.Sum ((IQueryable<decimal>) null)),
                                                               GetSupportedMethod (() => Queryable.Sum ((IQueryable<decimal?>) null)),
                                                               GetSupportedMethod (() => Queryable.Sum ((IQueryable<double>) null)),
                                                               GetSupportedMethod (() => Queryable.Sum ((IQueryable<double?>) null)),
                                                               GetSupportedMethod (() => Queryable.Sum ((IQueryable<int>) null)),
                                                               GetSupportedMethod (() => Queryable.Sum ((IQueryable<int?>) null)),
                                                               GetSupportedMethod (() => Queryable.Sum ((IQueryable<long>) null)),
                                                               GetSupportedMethod (() => Queryable.Sum ((IQueryable<long?>) null)),
                                                               GetSupportedMethod (() => Queryable.Sum ((IQueryable<float>) null)),
                                                               GetSupportedMethod (() => Queryable.Sum ((IQueryable<float?>) null)),
                                                               GetSupportedMethod (() => Queryable.Sum<object> (null, o => (decimal) 0)),
                                                               GetSupportedMethod (() => Queryable.Sum<object> (null, o => (decimal?) 0)),
                                                               GetSupportedMethod (() => Queryable.Sum<object> (null, o => (double) 0)),
                                                               GetSupportedMethod (() => Queryable.Sum<object> (null, o => (double?) 0)),
                                                               GetSupportedMethod (() => Queryable.Sum<object> (null, o => (int) 0)),
                                                               GetSupportedMethod (() => Queryable.Sum<object> (null, o => (int?) 0)),
                                                               GetSupportedMethod (() => Queryable.Sum<object> (null, o => (long) 0)),
                                                               GetSupportedMethod (() => Queryable.Sum<object> (null, o => (long?) 0)),
                                                               GetSupportedMethod (() => Queryable.Sum<object> (null, o => (float) 0)),
                                                               GetSupportedMethod (() => Queryable.Sum<object> (null, o => (float?) 0)),
                                                               GetSupportedMethod (() => Enumerable.Sum ((IEnumerable<decimal>) null)),
                                                               GetSupportedMethod (() => Enumerable.Sum ((IEnumerable<decimal?>) null)),
                                                               GetSupportedMethod (() => Enumerable.Sum ((IEnumerable<double>) null)),
                                                               GetSupportedMethod (() => Enumerable.Sum ((IEnumerable<double?>) null)),
                                                               GetSupportedMethod (() => Enumerable.Sum ((IEnumerable<int>) null)),
                                                               GetSupportedMethod (() => Enumerable.Sum ((IEnumerable<int?>) null)),
                                                               GetSupportedMethod (() => Enumerable.Sum ((IEnumerable<long>) null)),
                                                               GetSupportedMethod (() => Enumerable.Sum ((IEnumerable<long?>) null)),
                                                               GetSupportedMethod (() => Enumerable.Sum ((IEnumerable<float>) null)),
                                                               GetSupportedMethod (() => Enumerable.Sum ((IEnumerable<float?>) null)),
                                                               GetSupportedMethod (() => Enumerable.Sum<object> (null, o => (decimal) 0)),
                                                               GetSupportedMethod (() => Enumerable.Sum<object> (null, o => (decimal?) 0)),
                                                               GetSupportedMethod (() => Enumerable.Sum<object> (null, o => (double) 0)),
                                                               GetSupportedMethod (() => Enumerable.Sum<object> (null, o => (double?) 0)),
                                                               GetSupportedMethod (() => Enumerable.Sum<object> (null, o => (int) 0)),
                                                               GetSupportedMethod (() => Enumerable.Sum<object> (null, o => (int?) 0)),
                                                               GetSupportedMethod (() => Enumerable.Sum<object> (null, o => (long) 0)),
                                                               GetSupportedMethod (() => Enumerable.Sum<object> (null, o => (long?) 0)),
                                                               GetSupportedMethod (() => Enumerable.Sum<object> (null, o => (float) 0)),
                                                               GetSupportedMethod (() => Enumerable.Sum<object> (null, o => (float?) 0)),
                                                           };

    public SumExpressionNode (MethodCallExpressionParseInfo parseInfo, LambdaExpression optionalSelector)
        : base (parseInfo, null, optionalSelector)
    {
    }

    public override Expression Resolve (
        ParameterExpression inputParameter, Expression expressionToBeResolved, ClauseGenerationContext clauseGenerationContext)
    {
      ArgumentUtility.CheckNotNull ("inputParameter", inputParameter);
      ArgumentUtility.CheckNotNull ("expressionToBeResolved", expressionToBeResolved);

      // no data streams out from this node, so we cannot resolve any expressions
      throw CreateResolveNotSupportedException();
    }

    protected override ResultOperatorBase CreateResultOperator (ClauseGenerationContext clauseGenerationContext)
    {
      return new SumResultOperator();
    }
  }
}