The Gilmo Report

January 22, 2017

January 22, 2017

Friday was the first options expiration day of 2017, but you wouldn’t know it from the action of the NASDAQ Composite Index, which held tight at its 10-day moving average on lighter volume. Friday was also Inauguration Day, and, as the pundits have been telling us, the day to sell the inauguration after buying the election.

That didn’t really play out on Friday as the indexes recovered from a brief reversal following the new President’s Inauguration speech to close up on the day. I have noticed, however, that those who now recite the mantra, buy the Election, sell the Inauguration seem to be the same pundits who told us that the market would tank if Donald Trump were elected President.

 

GR012217-$COMPQ

 

Frankly, I’m not inclined to listen to pundits, especially those who provide you with the recommended formula after the first half of the formula has already occurred. I believe, and you can go back and check my reports before the election, that I stated that if the market sold off on a Trump victory, it would simply produce a massive buying opportunity.

As far as this pundit goes, you can also go back and read my blog comments regarding the Brexit the day after the British voted to leave the European Union. My post titled, “In Through the Out Door” on June 24th discussed the Brexit phenomenon in Europe as it related to the surging nomination campaigns of both Donald Trump and Bernie Sanders here in the U.S. at that time.

In light of Friday’s Presidential Inauguration, that post seems somewhat prophetic. Am I a guru yet? Probably not, but at least I’m perhaps getting closer to finding the guru within me! J Anyway, back to the current market.

The S&P 500 Index also held tight on Friday, but NYSE volume was higher, which is more typical of an options expiration day. Between it and the Dow Jones Industrials Index, I found the Dow’s action on Friday more interesting. This is because over the past two days the Dow has pulled a little undercut & rally type of maneuver.

On Thursday the index undercut its prior low within its current, very tight, six-week price range. That low was set on December 30th, the last trading day of the 2016. On Friday the Dow follow the undercut with a rally, closing up on heavy options expiration volume. On its face this looks bullish. And if we consider that nobody seemed to be in a big hurry to sell NASDAQ stocks on Friday despite being urged to “sell the Inauguration,” we may very well go higher. But, as we know, all we need to do is follow the stocks.

 

GR012217-$INDU

 

In many ways, most stocks have simply emulated the choppy sideways action of the indexes. There are, however, actionable exceptions, and that is where we want to focus our efforts, and our capital, in my view.

Big-stock NASDAQ leader Netflix (NFLX) gave us the buyable gap-up (BGU) opportunity we were looking for after it beat handily on earnings Wednesday after the close. That led to a BGU on Thursday that saw the stock open up at 142.01 and then come in to close near its intraday lows.

Volume was quite heavy, giving the day the look of a “shooting star,” which might look bearish. But this is a BGU pattern that we’ve all seen before, and it doesn’t necessarily lead to automatic failure. Sometimes the stock holds the BGU intraday low (in this case 138.25) or just around it for a day or two and then turns back to the upside as it squashes late-swarming shorts.

On Friday, NFLX dipped just below the 138.25 low, but sellers dried up at that point and the stock rallied into the close to finish up on the day and back above the 138.25 BGU low. Thus this remains in play as an actionable BGU, using the 138.25 price level, plus another 1-3%, depending on your taste for risk, as a selling guide.

 

GR012217-NFLX

 

Note that NFLX had a prior buyable gap-up back in October, rallied a bit further, and then spent the next three months basing before Thursday’s gap-up move. Will it act differently this time? Well, if we look at the weekly chart, below, we might notice that there is something different about this current BGU. Here we can see that the prior BGU back in October of last year ran into resistance along the highs of what was then a nearly 15-month price range and consolidation.

This most recent BGU has now produced a clean breakout through the highs of this now 17-month consolidation on higher weekly volume. In this sense, NFLX is now in the clear, and free of any potential overhead selling. Thus this current BGU may have a better chance of producing a better upside trend from here. For now, it is enough to handle it based on the rules for buying BGUs.

 

GR012217-NFLX Weekly

 

There’s always a lot of jibber-jabber about NFLX being expensive. This sort of thing has also been uttered about AMZN, and even TSLA, both stocks that have had high P/E ratios all the way up. But the reality is that NFLX is sporting a very sharp three-quarter acceleration in earnings growth. Two quarters ago growth came in at 50%, followed by 71% last October.

On Wednesday, NFLX reported 114% earnings growth on accelerating sales growth of 36%. Next quarter’s estimates call for 450% earnings growth on a hard number of 33 cents, which I believe would be the highest quarterly earnings in its history. Over the next five years, annual earnings growth will run, in sequence, 137%, 97%, 62%, 51%, and 51%.

The stock currently sells at 18.6 times projected 2021 earnings of $7.42 a share. This reminds me a bit of TSLA, which is projected to earn $7.38 in 2019 and $10.74 in 2020. You can also throw in AMZN and its expected $23.01 in 2019 and $30.32 in 2020. By comparison, NFLX is cheap!

I’m not touching any of the other big-stock NASDAQ names I’ve discussed in recent reports that will be announcing earnings over the next week or so. Next week we’ll be seeing Amazon.com (AMZN) and Alphabet (GOOGL) announce, and Apple (AAPL) and Facebook (FB) the week after. If you were alert to the roundabout types of pocket pivots we saw in AMZN and FB a couple of weeks ago you have some cushion to possibly hold into earnings this coming week.

That of course assumes the stocks continue to hold tight. Both AMZN and FB got hit with a little bit of a pick-up in selling volume Friday. But both names remain above their 10-week lines and within tight one-week consolidations., as Facebook (FB) illustrates below on its weekly chart. We can see that the stock has spent the prior two weeks coming up the right side of what is now a cup type of formation. This past week’s action shows a  tight weekly range with volume drying up as the stock forms a one-week handle to a possible cup-with-handle base in progress.

With earnings expected on February 1st, FB may continue working on a handle until then. Notice that the stock has been quite non-descript in its action on the weekly chart for some time now. New high breakouts have not led to blistering upside trends. Perhaps a strong earnings report in two weeks will help to create a possible BGU breakout from this current base formation that has more upside velocity. Ahead of earnings, I’m content to lay back and wait for that.

 

GR012217-FB

 

Priceline Group (PCLN), which isn’t expected to report earnings until February 16th, actually posted a pocket pivot on Friday. The stock started out the day above the 10-day line. It then dipped below the 10-day where it remained throughout the day before rallying relatively sharply in the last half-hour of trade. This put PCLN back above its 10-day line on heavy volume, qualifying as a bona fide pocket pivot. If you like the stock, then this could be considered actionable using the 20-day line at 1522.75 as a relatively tight (just a little over 1% lower) selling guide.

 

GR012217-PCLN

 

Tesla Motors (TSLA) continued its winning ways this past week by gapping higher on Thursday on an analyst’s buy recommendation. Volume was heavy, and the stock stalled a bit to close in the lower half of its daily trading range. Near-term this looks a bit exhaustive, but that may or may not be the case heading into earnings in the first week of February.

TSLA has had a nice, steady uptrend since issuing a bottom-fishing pocket pivot (BFPP) back in early December off of the 50-day moving average. The rally found further impetus in a cluster of three roundabout pocket pivots (RAPPs) at its 200-day line in late December and early January.

Certainly one of the strongest NASDAQ leaders in this current market, but I wouldn’t be surprised to see it catch its breath ahead of earnings and spend a little more time consolidating and digesting those gains. For now, if you’re jonesing to own TSLA, only the 10-day line at 234.97 would offer a near-enough reference point for a buyable pullback, should that occur.

 

GR012217-TSLA

 

I’m also not going to do anything with the steels, U.S. Steel (X) and Steel Dynamics (STLD), both not shown on charts, as STLD and other steel names are expected to announce earnings this coming week. X isn’t expected to announce until the last day of January.

Both stocks are sitting at their 50-day moving averages, but not showing any inclination to move higher after Wednesday’s pocket pivots. Of course those pocket pivots were news-driven, as I discussed in my report of that day. For now, both of these remain on hold as long ideas pending earnings.

I remain focused on names that have already announced earnings, or which are not expected to announce earnings until at least roughly mid-February.

Veeva Systems (VEEV) remains in pullback mode as it comes right back into the confluence of its 20-day and 50-day moving averages. Volume dried up to -56.4% below average. This would be your lower-risk entry point, pretty much as it was on Wednesday when I discussed the stock in my mid-week report.

What we’re obviously looking for here is a pop off of the moving average confluence once all the selling has dried up. For now, the 50-day line at 42.56 serves as a tight selling guide. Hopefully, VEEV can get moving back to the upside in a significant way before its expected earnings report on March 7th.

 

GR012217-VEEV

 

Barracuda Networks (CUDA) is still holding at the 50-day line, and is actually up slightly from where it was as of my discussion of the stock in my Wednesday mid-week report. As is the case with VEEV, we are looking for selling interest to dry up, resulting in a potential rebound off of the line.

CUDA is a fairly simple trade as an entry right here. Meanwhile the Wednesday intraday low at 22.75 can continue to serve as a fairly tight selling guide. This remains on the fence, but is actionable on the basis of a possible Ugly Duckling set-up as long as risk is kept to a minimum.

 

GR012217-CUDA

 

As a group, however, cyber-security names offer a mixed bag at best. While some of the names that were hot a year or two ago, like CyberArk Software (CYBR) and Palo Alto Networks (PANW) are showing some signs of resuscitation, it is slow-growth earning situations like Checkpoint Software (CHKP) that are emerging as the true leaders in the group.

Last weekend I discussed CHKP, which had recently broken out of a base but which was showing slow, single-digit to low ‘teens earnings growth. On Thursday, however, CHKP came out with earnings and reported growth of 22%, a relatively robust number in comparison to the numbers it was putting up previously for many quarters.

That resulted in a massive-volume gap-up move that could have been treated as a buyable gap-up. As I wrote last weekend, CHKP’s products are well-regarded, and so while everyone is looking to the left, CHKP is running around the right side as the de facto cyber-security leader in this current market. Surprise, surprise.

The intraday low of Thursday’s BGU range is 94.50, and the stock closed at 97.79 on Friday. That puts it about 3% away, which keeps the stock within buying range of the BGU, using the 94.50 price level as a selling guide. While CHKP may show rather feeble fundamentals, there’s no questioning the fact that right now it is a technical powerhouse.

 

GR012217-CHKP

 

Square (SQ) regained its 10-day moving average on Friday following Wednesday’s high-volume pullback. As I wrote at that time, however, the heavy downside volume did not lead to a big price drop as the stock was only down a nickel on the day. So far the stock is acting well as it starts to build a short handle to a rather large cup or punchbowl formation (check the weekly chart to see this).

If you’re not already in this from the undercut & rally move around 13.65 in late December which I discussed as actionable at that time, it would be best to play opportunistically here by looking for a deeper pullback, perhaps to the 20-day line, as a better, lower-risk entry.

 

GR012217-SQ

 

Chinese names that I favor continue to act well, although they haven’t made any real progress since they all flashed bottom-fishing pocket pivots a couple of weeks ago as they regained their 50-day moving averages. Among those I don’t show charts of in this report, I would note that Alibaba (BABA) is holding tight ahead of its expected earnings announcement this Tuesday before the open. That should be watched carefully as it will likely produce sympathy moves in other, related Chinese names such as JD.com (JD), also not shown.

While JD is extended short-term, the Chinese internets that I like, Momo (MOMO), Netease (NTES), and Weibo (WB), are holding tight in positions just above their 50-day moving averages. NTES’ pullback to its 10-day moving average on Wednesday, provided a lower-risk entry point at that time, and the stock did hold along the 10-day line on Thursday morning.

It has since moved higher, but pullbacks to the line, now at 237.44, would be your nearest references to potential, lower-risk entry opportunities. This acts constructively ahead of its expected earnings announcement on February 22nd.

 

GR012217-NTES

 

I may have to re-think my idea of having a favorite between Momo (MOMO) and Weibo (WB), Both stocks look very similar on their daily charts as they recently pocket pivoted back up through their 50-day moving averages and have since gone tight sideways.

MOMO looks to be rounding out the right side of a possible cup formation in-the-making. On Friday, volume dried up to voodoo levels at -75% below average as the stock met up with its 10-day moving average. This puts the stock in a lower-risk entry point using the 10-day line as a tight selling guide. Alternatively, the 50-day moving average at 20.53 offers a wider selling guide for those who prefer it.

 

GR012217-MOMO

 

Weibo (WB) differs from MOMO in that it appears to be working on the right side of a possible double-bottom base. It, too, is starting to meet up with its 10-day moving average with volume drying up to voodoo levels at -60% below average.

This remains in a buyable position using the 50-day moving average at 45.53 as a reasonably tight selling guide. The mid-point of the “W” that would constitute a complete double-bottom base for WB is at 52.49. So, for those of you who prefer to buy base breakouts, a strong-volume move up through that price point would constitute a double-bottom base breakout. Keep an eye out for that.

Remember that WB’s earnings report is expected to be released on March 2nd, while MOMO’s is expected on March 22nd.

 

GR012217-WB

 

In Gilmo Bio-tech Land, Clovis Oncology (CLVS), not shown, just keeps getting more and more extended. On Thursday it hit an intraday peak of 59.74, nearly 50% above its mid-December breakout point at 40. Pullbacks to the 10-day line, now at 53.38, would represent lower-risk entry opportunities ahead of earnings, which aren’t expected to be reported until February 23rd.

Incyte Pharmaceuticals (INCY) was indeed good for a trade off of its 10-day moving average, as I discussed in Wednesday’s mid-week report. The stock launched higher on Thursday and then again on Friday morning before reversing to closely down slightly on heavy volume.

As I pointed out on Wednesday, buying the pullback into the 10-day line, which also held above the 112.83 intraday low of the January 9th BGU, was probably good for a trade. Friday’s early-morning breakout attempt was probably a little premature, but buying along the lows of the current two-week range is still a viable way to enter a position in INCY, which is expected to report earnings on February 9th.

INCY’s action relative to the effervescent CLVS might bring up the question as to why one sustains its momentum while the other doesn’t. The answer might be found in the fact that a) CLVS has a much smaller float of 40 million shares vs. INCY’s 162 million, and b) CLVS has much higher short interest, equivalent to 21.5% of its float compared to a miniscule 2.5% of INCY’s float sold short currently.

 

GR012217-INCY

 

Glaukos (GKOS) is coming into its 10-day line, and actually closed just below the line on Friday. This puts the stock in the position of building what is so far a one-week handle in a possible cup-with-handle base. While the stock could be bought here, I would prefer to sit back in opportunistic fashion and look for any kind of pullback further into the 20-day line at 36.89.

In either case the 20-day line would serve as your primary selling guide, since we would not expect a handle to decline as far down as the 50-day line, which is currently at 34.50. Earnings are expected to be released on March 7th,

 

GR012217-GKOS

 

Oils remain somewhat viscous, like the black gold itself, as they continue to go nowhere. Diamondback Energy (FANG), Parsley Energy (PE), and Rowan Companies (RDC) all seem to take turns flashing brief displays of strength, but for the most part simply remain along the lows of current, potential base formation.

The latest to display some positive action is RDC, which flashed a pocket pivot on Friday. Unfortunately, the pocket pivot was somewhat tepid as the stock closed mid-range but still held above the 10-day line. RDC, like PE and FANG, remains in a buyable positon, however, as they all continue to work on potential new bases. In all cases the 50-day moving averages would serve as selling guides.

There’s the old saying that stocks will either scare you out or wear you out before going higher. For now, it looks like the oils are intent on wearing investors out. However, for those who believe the group has favorable prospects going forward, and who are also patient, buying along the lows of these current bases is a reasonable approach.

 

GR012217-RDC

 

Mobileye (MBLY) posted a big-volume gap-up move on Thursday, but that stalled and closed near the intraday lows. The stock then pushed lower on Friday to fill most of the gap. Selling volume was light, coming in at 26% below average.

I would keep an eye on this as it gets closer to the 10-day line at 41.62, which would provide your next reference point for a lower-risk entry. MBLY remains one of my turnaround picks for 2017, and is expected to report earnings on February 22nd. The stock tends to be somewhat volatile, so buying on constructive weakness is preferred.

 

GR012217-MBLY

 

On Wednesday, I discussed Finisar (FNSR) in my notes as follows, “It would need to regain the 10-day line in robust fashion soon for me to get interested in this as a bottom-fishing situation again. That could happen, so I would certainly be open to it should it occur, and the low-volume pullback over the past two days could easily set this up, so keep an eye on it nevertheless.”

Lo and behold, a cousin-stock, Oclaro (OCLR) announced strong earnings guidance Wednesday, although its earnings report isn’t expected until January 31st, sending that stock gapping higher on Thursday. All of the other fiber-optic and optical names gapped up higher in sympathy to OCLR’s strong guidance.

Those that I follow, which include tickers CIEN, JNPR, LITE, FN, and FNSR, all reversed to close very weakly on the day and near their intraday lows. All except FNSR, that is. FNSR kept going all day long. The stock ended the day on Thursday near its intraday highs and just below the 50-day moving average on another bottom-fishing type of pocket pivot move.

That was its second in the past couple of weeks, with the first running into resistance at the 20-day line. This second pocket pivot ran into resistance higher up in the pattern at the 50-day line as FNSR reversed back to the downside on Friday on light volume. That pullback held the 20-day line, which technically puts the stock into a lower-risk entry position using the line at 29.95 as a tight selling guide. Among these optical and fiber-optic names, the market seems to be sorting out winners and losers in the fiber-optic build-out to 100-gigabyte systems.

 

GR012217-FNSR

 

If we look at Oclaro (OCLR), which has essentially taken any surprises out of its upcoming earnings report at month-end, we can see that the stock has been locked in a choppy range extending back to mid-November. The raised guidance announcement on Wednesday led to a buyable gap-up type of move on Thursday on massive volume.

The intraday low of that BGU move is 8.90, and the 50-day line lies just below at 8.85. This would put the stock in a buyable position after holding tight on Friday as volume declined, using either the 8.90 BGU low or the 50-day line as relatively tight selling guides for a lower-priced stock. Despite its relatively low price at Friday’s close of 9.37, OCLR is pretty liquid with 5.7 million shares trade per day on average. This is around 53 million in average daily dollar volume – well above my minimum.

 

GR012217-OCLR

 

Applied Optoelectronics (AAOI) is another optical name that is showing recent strength after gapping up in response to its announcement of preliminary earnings on January 11th. The company doesn’t actually report until late February. Notice how down and out the stock was before earnings were announced, something that is not uncommon during earnings season. I wrote last weekend that a retest of the BGU intraday low might provide a lower-risk entry opportunity, and we saw that occur on Monday.

Since then the stock has moved higher to new all-time highs, in fact. Over the past three days AAOI has pulled in slightly but is holding very tight as volume declines. Note the supporting action off of the intraday lows on Friday. While the stock is extended here, keep an eye on the rapidly rising 10-day moving average, now at 27.07. That would be your reference for a potentially lower-risk entry opportunity on any pullback from current levels, assuming the 10-day just doesn’t keep rising to meet up with the stock.

 

GR012217-AAOI

 

What I find most interesting about AAOI is that it came public back in October of 2013 at $10 a share. It set up in an IPO base in early 2014, and then launched higher as it eventually increased 180% above its IPO offering price. It then topped out and since then has been moving back and forth within a wide-ranging, nearly three-year long-term consolidation.

Now AAOI is just starting to emerge from this long-term consolidation, which I find to be constructive. This long-term breakout is one major reason why I would like to find a lower-risk entry opportunity in the stock currently. Fundamentally the stock seems to be coming into its own as well, with earnings over the next three quarters expected to grow 247%, 1,050%, and 200%, in sequence, on hard numbers of 75, 38, and 48 cents.

 

GR012217-AAOI Weekly

 

The fiber-optics space also has its own big-stock leader in Ciena (CIEN), a stock I’ve discussed in recent reports. Since gapping up in early December in response to reporting 5% earnings growth, the stock has simply gone about building a fairly tight six-week base. CIEN is currently hanging along the lows of this base and just below its 10-day and 20-day moving averages. This puts it in a lower-risk entry position, with earnings expected to be announced in early March. The 50-day line sits at 24.16 and serves as a reasonably tight selling guide.

 

GR012217-CIEN

 

I know some of you have been commenting on Acacia Communications (ACIA) in the blog section of the website, and the stock, not shown, did post a bottom-fishing pocket pivot on Thursday. However, with earnings coming up at the end of the month, it might be better to wait and see how the stock reacts.

Even a bottom-fishing type of gap-up move after earnings might be buyable, particularly with short interest at an all-time high of 4.6 million shares. This represents about 38% of the current float. If you think the shorts might have to move to cover before earnings, then you could buy the stock here on the basis of Thursday’s bottom-fishing pocket pivot using the 10-day line as a very tight selling guide. For nimble traders only!

Nvidia (NVDA) has regained the confluence of its 10-day and 20-day moving averages, doing so Thursday on a five-day pocket pivot price/volume signature. The stock pulled into its 10-day line on Friday as volume dried up, which keeps it in a buyable position using the line as a tight selling guide.

Recall that I discussed the undercut & rally move by NVDA on Wednesday as it undercut the January 3rd low at 99.38. Personally, I don’t think it’s clear as to whether NVDA has topped for good on the basis of last month’s climactic type of move and high-volume reversal off the peak.

Earnings estimates remain robust for some time into the future. So while the December climax top was a short-term sell signal, it remains so for now, as long as the stock continues to hold above its 50-day moving average, which it has obeyed all the way up since I first discussed the stock at around 36 back in April of last year. Over-eager shorts may start piling on the stock, so I’m interested to see what the latest short-interest report as of January 15th shows when it is released this week.

 

GR012217-NVDA

 

Originally I had written the note on GrubHub (GRUB), not shown, that it is expected to announce earnings on February 2nd. That is incorrect. The company is expected to announce on February 8th. For that reason, it may rally further before earnings after holding tight here for the past four days.

This tight action comes on the heels of Monday’s gap-up pocket pivot off of the 50-day moving average. Short interest as of December 30th has risen to over 14 million shares, its highest ever, so shorts might find themselves squeezed ahead of earnings given that GRUB is expected to post decent 33% earnings growth on a hard number of 25 cents.

 

GR012217-GRUB

 

The Inauguration came and went on Friday, but no sell-off was forthcoming. Whether we get a delayed reaction or not remains to be seen, but I still think it’s solely a matter of watching the stocks. Most stocks seem to reflect the action of the indexes as they chop back and forth in tight sideways ranges.

However, strong moves by names like AMZN and FB ahead of earnings and on roundabout type pocket pivot moves have since seen some decent upside thrust. These roundabout and bottom-fishing pocket pivot situations have seen some of the best moves, including names like TSLA and MBLY, for example.

Otherwise, big gap-up moves are mostly the stuff of earnings reactions, as we saw in names like Skyworks Solutions (SWKS), not shown, on Friday after it posted whopping 1% earnings growth. But in general it’s hard to make a bear case for the market when you see railroads gapping up en masse.

As an example, look at this chart of big-stock railroad CSX Corp. (CSX), which posted a big-volume buyable gap-up (BGU) on Thursday after announcing 21% earnings growth. That number reversed a trend of four straight quarters of negative earnings growth. Other railroads also moved higher on Thursday.

 

GR012217-CSX

 

So perhaps this is arguing for a breakout by the indexes in a continued market rally that would certainly surprise the sell the Inauguration crowd. And of course, we know that this market loves to fool the crowd by doing what most believe to be unlikely. But then these are unlikely times, so we just do what we always do and focus on the stocks.

Gil Morales

CEO and Principal, Gil Morales & Company, LLC
Managing Director and Principal, MoKa Investors, LLC
Managing Director and Principal, Virtue of Selfish Investing, LLC

At the time of this writing, of the stocks mentioned in this report, Gil Morales, MoKa Investors, LLC, Virtue of Selfish Investing, LLC, and/or Gil Morales & Company, LLC held positions in MOMO, NFLX, OCLR, and VEEV, though positions are subject to change at any time and without notice.

Gil Morales & Company, LLC (“GMC”), 8033 Sunset Boulevard, Suite 830, Los Angeles, California, 90046. GMC is a Registered Investment Adviser. This information is issued solely for informational purposes and does not constitute an offer to sell or a solicitation of an offer to buy securities. Information contained herein is based on sources which we believe to be reliable but is not guaranteed by us as being accurate and does not purport to be a complete statement or summary of available data. Past performance is not a guarantee, nor is it necessarily indicative, of future results. Opinions expressed herein are statements of our judgment as of the publication date and are subject to change without notice. Entities including but not limited to GMC, its members, officers, directors, employees, customers, agents, and affiliates may have a position, long or short, in the securities referred to herein, and/or other related securities, and may increase or decrease such position or take a contra position. Additional information is available upon written request. This publication is for clients of Gil Morales & Company, LLC. Reproduction without written permission is strictly prohibited and will be prosecuted to the full extent of the law. ©2008-2018 Gil Morales & Company, LLC. All rights reserved.